LifeV
|
MultiscaleModelMultiscale - Multiscale model. More...
#include <MultiscaleModelMultiscale.hpp>
Private Attributes | |
MultiscaleCommunicatorsManager | M_commManager |
multiscaleModelsContainer_Type | M_modelsList |
multiscaleCouplingsContainer_Type | M_couplingsList |
multiscaleAlgorithmPtr_Type | M_algorithm |
Constructors & Destructor | |
MultiscaleModelMultiscale () | |
Constructor. More... | |
virtual | ~MultiscaleModelMultiscale () |
Destructor. More... | |
MultiscaleModel Methods | |
void | setupData (const std::string &fileName) |
Setup the data of the model. More... | |
void | setupModel () |
Setup the model. More... | |
void | buildModel () |
Build the initial model. More... | |
void | updateModel () |
Update the model. More... | |
void | solveModel () |
Solve the model. More... | |
void | updateSolution () |
Update the solution. More... | |
void | saveSolution () |
Save the solution. More... | |
void | showMe () |
Display some information about the multiscale problem (call after SetupProblem) More... | |
Real | checkSolution () const |
Return a specific scalar quantity to be used for a comparison with a reference value. More... | |
Methods | |
void | createCouplingMap (MapEpetra &couplingMap) |
Build the global map for the coupling vectors. More... | |
void | importCouplingVariables (const multiscaleVector_Type &couplingVariables) |
Import the values of the coupling variables. More... | |
void | exportCouplingVariables (multiscaleVector_Type &couplingVariables) |
Export the values of the coupling variables. More... | |
void | computeCouplingResiduals () |
Compute the values of the interface residuals. More... | |
void | exportCouplingResiduals (multiscaleVector_Type &couplingResiduals) |
Export the values of the interface residuals. More... | |
void | exportJacobian (multiscaleMatrix_Type &jacobian) |
Export the Jacobian matrix. More... | |
bool | topologyChange () |
Check if the topology is changed. More... | |
Get Methods | |
UInt | couplingVariablesNumber () |
Get the number of the coupling variables. More... | |
Unimplemented Methods | |
MultiscaleModelMultiscale (const MultiscaleModelMultiscale &model) | |
MultiscaleModelMultiscale & | operator= (const MultiscaleModelMultiscale &model) |
Additional Inherited Members | |
Public Member Functions inherited from MultiscaleModel | |
MultiscaleModel () | |
The main constructor. More... | |
virtual | ~MultiscaleModel () |
Destructor. More... | |
void | clearCouplingsList () |
Clear the list of pointers to the couplings. More... | |
void | setID (const UInt &id) |
Set the global ID of the model. More... | |
void | setCouplingsNumber (const UInt &couplingsNumber) |
Set the number of couplings attached to this model. More... | |
void | setCoupling (const UInt &localCouplingID, const multiscaleCouplingPtr_Type &coupling) |
Add a pointer to one of the couplings attached to this model. More... | |
void | addCoupling (const multiscaleCouplingPtr_Type &coupling) |
Add a pointer to one of the couplings which couple the model. More... | |
void | setGlobalData (const multiscaleDataPtr_Type &globalData) |
Setup the global data of the model. More... | |
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. More... | |
void | setCommunicator (const multiscaleCommPtr_Type &comm) |
Set the epetra communicator for the model. More... | |
const UInt & | ID () const |
Get the global ID of the model. More... | |
const models_Type & | type () const |
Get the type of the model. More... | |
const multiscaleID_Type & | boundaryFlag (const multiscaleID_Type &boundaryID) const |
Get one available flag by id. More... | |
const std::string & | modelName () const |
Get the name of the model. More... | |
UInt | couplingsNumber () const |
Get the number of couplings connecting the model. More... | |
UInt | couplingLocalID (const UInt &ID) const |
Get the coupling local ID through global ID. More... | |
multiscaleCouplingPtr_Type | coupling (const UInt &localID) const |
Get the coupling through local ID. More... | |
const multiscaleDataPtr_Type & | globalData () const |
Get the global data of the model. More... | |
const multiscaleCommPtr_Type & | communicator () const |
Get the communicator of the model. More... | |
Protected Member Functions inherited from MultiscaleModel | |
void | displayModelStatus (const std::string &tag) const |
Display model ID and name with a user provided tag. More... | |
Protected Attributes inherited from MultiscaleModel | |
UInt | M_ID |
models_Type | M_type |
multiscaleCouplingsContainer_Type | M_couplings |
std::string | M_modelName |
multiscaleIDContainer_Type | M_boundaryFlags |
multiscaleDataPtr_Type | M_globalData |
std::array< Real, NDIM > | M_geometryScale |
std::array< Real, NDIM > | M_geometryRotate |
std::array< Real, NDIM > | M_geometryTranslate |
multiscaleCommPtr_Type | M_comm |
MultiscaleModelMultiscale - Multiscale model.
The MultiscaleModelMultiscale class is an implementation of the MultiscaleModel for a general multiscale problem.
Definition at line 81 of file MultiscaleModelMultiscale.hpp.
|
explicit |
Constructor.
Definition at line 62 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Destructor.
Definition at line 92 of file MultiscaleModelMultiscale.cpp.
|
private |
|
virtual |
Setup the data of the model.
fileName | Name of data file. |
Reimplemented from MultiscaleModel.
Definition at line 115 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Setup the model.
Implements MultiscaleModel.
Definition at line 261 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Build the initial model.
Implements MultiscaleModel.
Definition at line 283 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Update the model.
Implements MultiscaleModel.
Definition at line 308 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Solve the model.
Implements MultiscaleModel.
Definition at line 336 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Update the solution.
Implements MultiscaleModel.
Definition at line 347 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Save the solution.
Implements MultiscaleModel.
Definition at line 361 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Display some information about the multiscale problem (call after SetupProblem)
Reimplemented from MultiscaleModel.
Definition at line 418 of file MultiscaleModelMultiscale.cpp.
|
virtual |
Return a specific scalar quantity to be used for a comparison with a reference value.
This method is meant to be used for night checks.
Implements MultiscaleModel.
Definition at line 460 of file MultiscaleModelMultiscale.cpp.
void createCouplingMap | ( | MapEpetra & | couplingMap | ) |
Build the global map for the coupling vectors.
couplingMap | Global coupling map |
Definition at line 469 of file MultiscaleModelMultiscale.cpp.
void importCouplingVariables | ( | const multiscaleVector_Type & | couplingVariables | ) |
Import the values of the coupling variables.
Definition at line 487 of file MultiscaleModelMultiscale.cpp.
void exportCouplingVariables | ( | multiscaleVector_Type & | couplingVariables | ) |
Export the values of the coupling variables.
Definition at line 505 of file MultiscaleModelMultiscale.cpp.
void computeCouplingResiduals | ( | ) |
Compute the values of the interface residuals.
Definition at line 523 of file MultiscaleModelMultiscale.cpp.
void exportCouplingResiduals | ( | multiscaleVector_Type & | couplingResiduals | ) |
Export the values of the interface residuals.
Definition at line 547 of file MultiscaleModelMultiscale.cpp.
void exportJacobian | ( | multiscaleMatrix_Type & | jacobian | ) |
Export the Jacobian matrix.
jacobian | Matrix |
Definition at line 565 of file MultiscaleModelMultiscale.cpp.
bool topologyChange | ( | ) |
Check if the topology is changed.
A topology change can be caused by a change in the coupling equations by, for example, the opening/closure of a valve (see MultiscaleCouplingFlowRateValve).
Definition at line 583 of file MultiscaleModelMultiscale.cpp.
UInt couplingVariablesNumber | ( | ) |
Get the number of the coupling variables.
Definition at line 604 of file MultiscaleModelMultiscale.cpp.
|
private |
|
private |
Definition at line 198 of file MultiscaleModelMultiscale.hpp.
|
private |
Definition at line 201 of file MultiscaleModelMultiscale.hpp.
|
private |
Definition at line 202 of file MultiscaleModelMultiscale.hpp.
|
private |
Definition at line 205 of file MultiscaleModelMultiscale.hpp.