LifeV
BCInterfaceFunctionParserEmpty3D.cpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5  Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6  Copyright (C) 2010 EPFL, Politecnico di Milano, Emory University
7 
8  This file is part of LifeV.
9 
10  LifeV is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  LifeV is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with LifeV. If not, see <http://www.gnu.org/licenses/>.
22 
23 *******************************************************************************
24 */
25 //@HEADER
26 
27 /*!
28  * @file
29  * @brief File containing the BCInterfaceFunctionParserSolver class
30  *
31  * @date 04 - 2014
32  * @author Simone Rossi <simone.rossi@epfl.ch>
33  *
34  * @maintainer Simone Rossi <simone.rossi@epfl.ch>
35  */
36 
37 // BCInterface includes
38 #include <lifev/bc_interface/3D/function/Empty/BCInterfaceFunctionParserEmpty3D.hpp>
39 
40 namespace LifeV
41 {
42 
43 // ===================================================
44 // Methods
45 // ===================================================
46 template< >
47 void
49 {
51 }
52 
53 // ===================================================
54 // Set Methods
55 // ===================================================
56 template< >
57 void
59 {
60 #ifdef HAVE_LIFEV_DEBUG
61  debugStream ( 5022 ) << "BCInterfaceFunction::setData" << "\n";
62 #endif
63 
64  setupParser ( data );
65 
67 
68  if ( castedData != 0 )
69  {
70 
71  /*
72  * MODE COMPONENT FUNCTION | COMV.SIZE ARGUMENTS INTERFACEFUNCTION
73  * ------------------------------------------|---------------------------------------------------
74  * |
75  * COMPONENT 2 x*y*z | 1 1 function
76  * FULL 3 x*y*z | 1 1 function
77  * FULL 1 x*y*z | 1 1 function
78  * FULL 3 (y*z,x*z,x*y) | 1 3 functionID
79  * FULL 2 (x,y) | 1 2 functionID
80  * COMPONENT '1 3' (x,y) | 2 2 functionID
81  */
82 
83 #ifdef HAVE_LIFEV_DEBUG
84  debugStream ( 5021 ) << "BCInterfaceFunction::setData arguments: " << M_parser->countSubstring ( "," ) << "\n";
85 #endif
86 
87  // Note: the map ID is used only for 3D handler.
88  if ( M_parser->countSubstring ( "," ) )
89  {
90  //Create the ID map
91  if ( castedData->componentsVector().size() > 1 ) // Component
92  for ( ID i ( 0 ); i < static_cast< ID > ( castedData->componentsVector().size() ); ++i )
93  {
95  }
96  else
97  // if ( castedData->componentsVector().front() == arguments ) Full
98  for ( ID i ( 0 ); i < castedData->componentsVector().front(); ++i )
99  {
100  M_mapID[i + 1] = i + 1;
101  }
102  }
103  }
104  else
105  {
106  std::cerr << "!!! ERROR: BCInterface wrong data cast !!!" << std::endl;
107  }
108 }
109 
110 } // Namespace LifeV
void updateInverseJacobian(const UInt &iQuadPt)