LifeV
MultiscaleCouplingBoundaryCondition Class Reference

MultiscaleCouplingBoundaryCondition - Coupling condition for standard boundary conditions. More...

#include <MultiscaleCouplingBoundaryCondition.hpp>

+ Inheritance diagram for MultiscaleCouplingBoundaryCondition:
+ Collaboration diagram for MultiscaleCouplingBoundaryCondition:

Private Attributes

std::string M_fileName
 
std::vector< bcName_TypeM_list
 
UInt M_listSize
 

Constructors & Destructor

 MultiscaleCouplingBoundaryCondition ()
 Constructor. More...
 
virtual ~MultiscaleCouplingBoundaryCondition ()
 Destructor. More...
 

Multiscale PhysicalCoupling Implementation

void setupData (const std::string &fileName)
 Setup the data of the coupling. More...
 
void setupCouplingVariablesNumber ()
 Setup the coupling variables number. More...
 
void setupCoupling ()
 Setup the coupling. More...
 
void initializeCouplingVariables ()
 Initialize the values of the coupling variables (DO NOTHING) More...
 
void updateCoupling ()
 Update the coupling. More...
 
void computeCouplingResiduals ()
 Compute the local coupling residuals vector. More...
 

Private Multiscale PhysicalCoupling Implementation

void exportListOfPerturbedModels (const UInt &, multiscaleModelsContainer_Type &)
 Build the list of models affected by the perturbation of a local coupling variable (DO NOTHING) More...
 
void insertJacobianConstantCoefficients (multiscaleMatrix_Type &)
 Insert constant coefficients into the Jacobian matrix (DO NOTHING) More...
 
void insertJacobianDeltaCoefficients (multiscaleMatrix_Type &, const UInt &, const UInt &, bool &)
 Insert the Jacobian coefficient(s) depending on a perturbation of the model, due to a specific variable (the column) (DO NOTHING) More...
 

Unimplemented Methods

 MultiscaleCouplingBoundaryCondition (const MultiscaleCouplingBoundaryCondition &coupling)
 
MultiscaleCouplingBoundaryConditionoperator= (const MultiscaleCouplingBoundaryCondition &coupling)
 

Additional Inherited Members

- Public Types inherited from MultiscaleCoupling
typedef MultiscaleCouplingFunction couplingFunction_Type
 
typedef std::shared_ptr< couplingFunction_TypecouplingFunctionPtr_Type
 
typedef std::vector< couplingFunction_TypecouplingFunctionsContainer_Type
 
typedef std::vector< multiscaleVectorPtr_TypecouplingVariablesContainer_Type
 
typedef std::vector< RealtimeContainer_Type
 
typedef multiscaleVector_Type::combineMode_Type combineMode_Type
 
- Public Member Functions inherited from MultiscaleCoupling
 MultiscaleCoupling ()
 Constructor. More...
 
virtual ~MultiscaleCoupling ()
 Destructor. More...
 
virtual bool topologyChange ()
 Check if the topology is changed. More...
 
UInt myModelsNumber () const
 Determine the number of models owned by this coupling. More...
 
bool myModel (const UInt &localModelID) const
 Determine if the model is owned by this coupling. More...
 
bool isModelLeaderProcess (const UInt &localModelID) const
 Determine if this is the model leader process. More...
 
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 exportCouplingResiduals (multiscaleVector_Type &couplingResiduals)
 Export the values of the coupling variables. More...
 
void extrapolateCouplingVariables ()
 Extrapolate the values of the coupling variables for the next time step. More...
 
void interpolateCouplingVariables (const Real &t, multiscaleVector_Type &interpolatedCouplingVariables) const
 Lagrange interpolation/extrapolation of the coupling variables at selected time. More...
 
bool isPerturbed () const
 Find if a perturbation is imposed on the coupling. More...
 
void exportJacobian (multiscaleMatrix_Type &jacobian)
 Export the Jacobian matrix. More...
 
void saveSolution ()
 save the coupling variables information on a file More...
 
void showMe ()
 Display some information about the coupling. More...
 
void showMeResiduals () const
 Display the local residuals vector. More...
 
void showMeCouplingVariables () const
 Display the local coupling variables. More...
 
void clearModelsList ()
 Clear the list of pointers to the models. More...
 
void setID (const UInt &ID)
 Set the global ID of the coupling condition. More...
 
void setModelsNumber (const UInt &modelsNumber)
 Set the number of models coupled by this coupling condition. More...
 
void setModel (const UInt &localModelID, const multiscaleModelPtr_Type &model)
 Add a pointer to one of the models to be coupled. More...
 
void setBoundaryID (const UInt &modelLocalID, const multiscaleID_Type &boundaryLocalID)
 Set the boundary ID of one of the coupled models. More...
 
void setGlobalData (const multiscaleDataPtr_Type &globalData)
 Setup the global data of the coupling. More...
 
void setCommunicator (const multiscaleCommPtr_Type &comm)
 Set the epetra communicator for the coupling. More...
 
const UIntID () const
 Get the global ID of the coupling. More...
 
const couplings_Typetype () const
 Get the type of the coupling. More...
 
const std::string & couplingName () const
 Get the name of the coupling. More...
 
UInt modelsNumber () const
 Get the number of models connected by the coupling. More...
 
UInt modelGlobalToLocalID (const UInt &ID) const
 Get the model local ID through global ID. More...
 
multiscaleModelPtr_Type model (const UInt &localModelID) const
 Get the model connected by the coupling through local ID. More...
 
const multiscaleID_TypeboundaryID (const UInt &localModelID) const
 Get the model connected by the coupling through local ID. More...
 
const UIntcouplingVariablesNumber () const
 Get the number of the coupling variables. More...
 
const couplingVariablesContainer_TypecouplingVariables () const
 Get the container of the local coupling variables. More...
 
const IntperturbedCoupling () const
 Get the perturbed coupling. More...
 
const multiscaleVector_Typeresidual () const
 Get the local residual. More...
 
const UInttimeInterpolationOrder () const
 Get the time interpolation order. More...
 
- Protected Member Functions inherited from MultiscaleCoupling
const multiscaleVector_TypelocalCouplingVariables (const UInt &id) const
 Access by reference to a specific local coupling variable. More...
 
multiscaleVector_TypelocalCouplingVariables (const UInt &id)
 
void createLocalVectors ()
 Create the local vectors of the coupling. More...
 
void resetCouplingHistory ()
 Reset the history of the couplings. More...
 
void importCouplingVector (multiscaleVector_Type &repeatedLocalVector, const multiscaleVector_Type &uniqueGlobalVector, const combineMode_Type &combineMode=Add)
 Import the content of the unique global vector into the repeated local vector. More...
 
void exportCouplingVector (multiscaleVector_Type &uniqueGlobalVector, const multiscaleVector_Type &repeatedLocalVector, const combineMode_Type &combineMode=Add)
 Export the content of the repeated local vector into the unique global vector. More...
 
void switchErrorMessage (const multiscaleModelPtr_Type &model)
 Display and error message for the specific model. More...
 
- Protected Attributes inherited from MultiscaleCoupling
UInt M_ID
 
couplings_Type M_type
 
multiscaleModelsContainer_Type M_models
 
std::string M_couplingName
 
multiscaleIDContainer_Type M_boundaryIDs
 
multiscaleDataPtr_Type M_globalData
 
UInt M_couplingVariablesNumber
 
UInt M_couplingVariablesOffset
 
couplingFunctionsContainer_Type M_localCouplingFunctions
 
couplingVariablesContainer_Type M_localCouplingVariables
 
multiscaleVectorPtr_Type M_localCouplingResiduals
 
UInt M_timeInterpolationOrder
 
Int M_flowRateInterfaces
 
Int M_perturbedCoupling
 
multiscaleCommPtr_Type M_comm
 

Detailed Description

MultiscaleCouplingBoundaryCondition - Coupling condition for standard boundary conditions.

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

The MultiscaleCouplingBoundaryCondition class is an implementation of the multiscaleCoupling_Type for applying standard boundary conditions on the models.

Definition at line 85 of file MultiscaleCouplingBoundaryCondition.hpp.

Constructor & Destructor Documentation

◆ MultiscaleCouplingBoundaryCondition() [1/2]

Constructor.

Definition at line 47 of file MultiscaleCouplingBoundaryCondition.cpp.

+ Here is the caller graph for this function:

◆ ~MultiscaleCouplingBoundaryCondition()

virtual ~MultiscaleCouplingBoundaryCondition ( )
inlinevirtual

Destructor.

Definition at line 96 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ MultiscaleCouplingBoundaryCondition() [2/2]

Member Function Documentation

◆ setupData()

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

Setup the data of the coupling.

Parameters
fileNameName of data file

Reimplemented from MultiscaleCoupling.

Definition at line 65 of file MultiscaleCouplingBoundaryCondition.cpp.

◆ setupCouplingVariablesNumber()

void setupCouplingVariablesNumber ( )
virtual

Setup the coupling variables number.

Implements MultiscaleCoupling.

Definition at line 91 of file MultiscaleCouplingBoundaryCondition.cpp.

◆ setupCoupling()

void setupCoupling ( )
virtual

Setup the coupling.

Implements MultiscaleCoupling.

Definition at line 102 of file MultiscaleCouplingBoundaryCondition.cpp.

◆ initializeCouplingVariables()

void initializeCouplingVariables ( )
inlinevirtual

Initialize the values of the coupling variables (DO NOTHING)

Implements MultiscaleCoupling.

Definition at line 117 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ updateCoupling()

void updateCoupling ( )
inlinevirtual

Update the coupling.

Nothing to do for boundary conditions

Implements MultiscaleCoupling.

Definition at line 123 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ computeCouplingResiduals()

void computeCouplingResiduals ( )
inlinevirtual

Compute the local coupling residuals vector.

Implements MultiscaleCoupling.

Definition at line 126 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ exportListOfPerturbedModels()

void exportListOfPerturbedModels ( const UInt ,
multiscaleModelsContainer_Type  
)
inlineprivatevirtual

Build the list of models affected by the perturbation of a local coupling variable (DO NOTHING)

Parameters
localCouplingVariableIDid of the perturbed local coupling variable
perturbedModelsListlist of models affected by the perturbation

Implements MultiscaleCoupling.

Definition at line 140 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ insertJacobianConstantCoefficients()

void insertJacobianConstantCoefficients ( multiscaleMatrix_Type )
inlineprivatevirtual

Insert constant coefficients into the Jacobian matrix (DO NOTHING)

Parameters
jacobianthe Jacobian matrix

Implements MultiscaleCoupling.

Definition at line 146 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ insertJacobianDeltaCoefficients()

void insertJacobianDeltaCoefficients ( multiscaleMatrix_Type ,
const UInt ,
const UInt ,
bool &   
)
inlineprivatevirtual

Insert the Jacobian coefficient(s) depending on a perturbation of the model, due to a specific variable (the column) (DO NOTHING)

Parameters
jacobianthe Jacobian matrix
columnthe column related to the perturbed variable
IDthe global ID of the model which is perturbed by the variable
solveLinearSystema flag to which determine if the linear system has to be solved

Implements MultiscaleCoupling.

Definition at line 155 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ operator=()

Field Documentation

◆ M_fileName

std::string M_fileName
private

Definition at line 192 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ M_list

std::vector< bcName_Type > M_list
private

Definition at line 194 of file MultiscaleCouplingBoundaryCondition.hpp.

◆ M_listSize

UInt M_listSize
private

Definition at line 195 of file MultiscaleCouplingBoundaryCondition.hpp.


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