37 #include <lifev/multiscale/models/MultiscaleModel.hpp> 62 #ifdef HAVE_LIFEV_DEBUG 63 debugStream ( 8100 ) <<
"MultiscaleModel::MultiscaleModel() \n";
69 M_geometryScale[i] = 1.;
70 M_geometryRotate[i] = 0.;
71 M_geometryTranslate[i] = 0.;
82 #ifdef HAVE_LIFEV_DEBUG 83 debugStream ( 8100 ) <<
"MultiscaleModel::SetupData( fileName ) \n";
86 GetPot dataFile ( fileName );
89 M_modelName = dataFile (
"Multiscale/modelName",
"modelName" );
92 UInt componentSize = dataFile.vector_variable_size (
"Multiscale/couplingFlags" );
93 M_boundaryFlags.reserve ( componentSize );
94 for (
UInt j ( 0 ); j < componentSize; ++j )
96 M_boundaryFlags.push_back ( dataFile (
"Multiscale/couplingFlags", 0, j ) );
103 std::cout <<
"Model id = " << M_ID << std::endl
104 <<
"Model name = " << M_modelName << std::endl
105 <<
"Model type = " << enum2String ( M_type, multiscaleModelsMap ) << std::endl;
107 std::cout <<
"Couplings number = " << couplingsNumber() << std::endl;
108 std::cout <<
"Couplings ID(s) = ";
111 std::cout << M_couplings[i]->ID() <<
" ";
113 std::cout << std::endl;
114 std::cout <<
"Couplings type(s) = ";
117 std::cout << enum2String ( M_couplings[i]->type(), multiscaleCouplingsMap ) <<
" ";
119 std::cout << std::endl;
120 std::cout <<
"Flags list = ";
123 std::cout << M_boundaryFlags[i] <<
" ";
125 std::cout << std::endl << std::endl;
127 std::cout <<
"Geometry scale = ";
130 std::cout << M_geometryScale[i] <<
" ";
132 std::cout << std::endl;
133 std::cout <<
"Geometry rotate = ";
136 std::cout << M_geometryRotate[i] <<
" ";
138 std::cout << std::endl;
139 std::cout <<
"Geometry translate = ";
142 std::cout << M_geometryTranslate[i] <<
" ";
144 std::cout << std::endl << std::endl;
152 const std::array< Real,
NDIM >& rotate,
153 const std::array< Real,
NDIM >& translate )
156 #ifdef HAVE_LIFEV_DEBUG 157 debugStream ( 8100 ) <<
"MultiscaleModel::SetGeometry( scale, rotate, translate ) \n";
160 M_geometryScale = scale;
161 M_geometryRotate = rotate;
162 M_geometryTranslate = translate;
172 if ( M_couplings[localID]->ID() == ID )
virtual void setupData(const std::string &fileName)
Setup the data of the model.
multiscaleCommPtr_Type M_comm
UInt couplingLocalID(const UInt &ID) const
Get the coupling local ID through global ID.
MultiscaleModel()
The main constructor.
multiscaleDataPtr_Type M_globalData
void setGeometry(const std::array< Real, NDIM > &scale, const std::array< Real, NDIM > &rotate, const std::array< Real, NDIM > &translate)
Scale, rotate and translate the Model in the 3D space.
void updateInverseJacobian(const UInt &iQuadPt)
multiscaleCouplingsContainer_Type M_couplings
virtual void showMe()
Display some information about the model.
multiscaleIDContainer_Type M_boundaryFlags
UInt couplingsNumber() const
Get the number of couplings connecting the model.
const UInt nDimensions(NDIM)
std::map< std::string, models_Type > multiscaleModelsMap
MultiscaleModel - The Multiscale Physical Model.
uint32_type UInt
generic unsigned integer (used mainly for addressing)