LifeV
MultiscaleModelMultiscale Class Reference

MultiscaleModelMultiscale - Multiscale model. More...

#include <MultiscaleModelMultiscale.hpp>

+ Inheritance diagram for MultiscaleModelMultiscale:
+ Collaboration diagram for MultiscaleModelMultiscale:

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)
 
MultiscaleModelMultiscaleoperator= (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 UIntID () const
 Get the global ID of the model. More...
 
const models_Typetype () const
 Get the type of the model. More...
 
const multiscaleID_TypeboundaryFlag (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_TypeglobalData () const
 Get the global data of the model. More...
 
const multiscaleCommPtr_Typecommunicator () 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, NDIMM_geometryScale
 
std::array< Real, NDIMM_geometryRotate
 
std::array< Real, NDIMM_geometryTranslate
 
multiscaleCommPtr_Type M_comm
 

Detailed Description

MultiscaleModelMultiscale - Multiscale model.

Author
Cristiano Malossi
See also
Full description of the Geometrical Multiscale Framework: [15]
Methodology: [12] [13] [14] [2]
Applications: [11] [10] [3]

The MultiscaleModelMultiscale class is an implementation of the MultiscaleModel for a general multiscale problem.

Definition at line 81 of file MultiscaleModelMultiscale.hpp.

Constructor & Destructor Documentation

◆ MultiscaleModelMultiscale() [1/2]

Constructor.

Definition at line 62 of file MultiscaleModelMultiscale.cpp.

◆ ~MultiscaleModelMultiscale()

Destructor.

Definition at line 92 of file MultiscaleModelMultiscale.cpp.

◆ MultiscaleModelMultiscale() [2/2]

Member Function Documentation

◆ setupData()

void setupData ( const std::string &  fileName)
virtual

Setup the data of the model.

Parameters
fileNameName of data file.

Reimplemented from MultiscaleModel.

Definition at line 115 of file MultiscaleModelMultiscale.cpp.

◆ setupModel()

void setupModel ( )
virtual

Setup the model.

Implements MultiscaleModel.

Definition at line 261 of file MultiscaleModelMultiscale.cpp.

◆ buildModel()

void buildModel ( )
virtual

Build the initial model.

Implements MultiscaleModel.

Definition at line 283 of file MultiscaleModelMultiscale.cpp.

◆ updateModel()

void updateModel ( )
virtual

Update the model.

Implements MultiscaleModel.

Definition at line 308 of file MultiscaleModelMultiscale.cpp.

◆ solveModel()

void solveModel ( )
virtual

Solve the model.

Implements MultiscaleModel.

Definition at line 336 of file MultiscaleModelMultiscale.cpp.

◆ updateSolution()

void updateSolution ( )
virtual

Update the solution.

Implements MultiscaleModel.

Definition at line 347 of file MultiscaleModelMultiscale.cpp.

◆ saveSolution()

void saveSolution ( )
virtual

Save the solution.

Implements MultiscaleModel.

Definition at line 361 of file MultiscaleModelMultiscale.cpp.

◆ showMe()

void showMe ( )
virtual

Display some information about the multiscale problem (call after SetupProblem)

Reimplemented from MultiscaleModel.

Definition at line 418 of file MultiscaleModelMultiscale.cpp.

◆ checkSolution()

Real checkSolution ( ) const
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.

Returns
reference quantity.

Implements MultiscaleModel.

Definition at line 460 of file MultiscaleModelMultiscale.cpp.

◆ createCouplingMap()

void createCouplingMap ( MapEpetra couplingMap)

Build the global map for the coupling vectors.

Parameters
couplingMapGlobal coupling map

Definition at line 469 of file MultiscaleModelMultiscale.cpp.

+ Here is the caller graph for this function:

◆ importCouplingVariables()

void importCouplingVariables ( const multiscaleVector_Type couplingVariables)

Import the values of the coupling variables.

Definition at line 487 of file MultiscaleModelMultiscale.cpp.

◆ exportCouplingVariables()

void exportCouplingVariables ( multiscaleVector_Type couplingVariables)

Export the values of the coupling variables.

Definition at line 505 of file MultiscaleModelMultiscale.cpp.

◆ computeCouplingResiduals()

void computeCouplingResiduals ( )

Compute the values of the interface residuals.

Definition at line 523 of file MultiscaleModelMultiscale.cpp.

+ Here is the caller graph for this function:

◆ exportCouplingResiduals()

void exportCouplingResiduals ( multiscaleVector_Type couplingResiduals)

Export the values of the interface residuals.

Definition at line 547 of file MultiscaleModelMultiscale.cpp.

◆ exportJacobian()

void exportJacobian ( multiscaleMatrix_Type jacobian)

Export the Jacobian matrix.

Parameters
jacobianMatrix

Definition at line 565 of file MultiscaleModelMultiscale.cpp.

◆ topologyChange()

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).

Returns
true if the topology is changed, false otherwise

Definition at line 583 of file MultiscaleModelMultiscale.cpp.

◆ couplingVariablesNumber()

UInt couplingVariablesNumber ( )

Get the number of the coupling variables.

Returns
number of the coupling variables

Definition at line 604 of file MultiscaleModelMultiscale.cpp.

◆ operator=()

MultiscaleModelMultiscale& operator= ( const MultiscaleModelMultiscale model)
private

Field Documentation

◆ M_commManager

MultiscaleCommunicatorsManager M_commManager
private

Definition at line 198 of file MultiscaleModelMultiscale.hpp.

◆ M_modelsList

multiscaleModelsContainer_Type M_modelsList
private

Definition at line 201 of file MultiscaleModelMultiscale.hpp.

◆ M_couplingsList

multiscaleCouplingsContainer_Type M_couplingsList
private

Definition at line 202 of file MultiscaleModelMultiscale.hpp.

◆ M_algorithm

multiscaleAlgorithmPtr_Type M_algorithm
private

Definition at line 205 of file MultiscaleModelMultiscale.hpp.


The documentation for this class was generated from the following files: