LifeV
MultiscaleCouplingMeanNormalStressValve Class Reference

MultiscaleCouplingMeanNormalStressValve - Mean normal stress coupling condition with simple valve. More...

#include <MultiscaleCouplingMeanNormalStressValve.hpp>

+ Inheritance diagram for MultiscaleCouplingMeanNormalStressValve:
+ Collaboration diagram for MultiscaleCouplingMeanNormalStressValve:

Private Attributes

bool M_valveIsOpen
 
bool M_topologyChange
 

Type definitions

typedef MultiscaleCouplingMeanNormalStress super_Type
 

Constructors & Destructor

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

Multiscale PhysicalCoupling Implementation

void setupCoupling ()
 Setup the coupling. More...
 
void initializeCouplingVariables ()
 Initialize the values of the coupling variables. More...
 
void updateCoupling ()
 Update the coupling. More...
 
void computeCouplingResiduals ()
 Compute the local coupling residuals vector. More...
 
bool topologyChange ()
 Check if the topology is changed. More...
 

Private Multiscale PhysicalCoupling Implementation

void insertJacobianConstantCoefficients (multiscaleMatrix_Type &jacobian)
 Insert constant coefficients into the Jacobian matrix. More...
 
void insertJacobianDeltaCoefficients (multiscaleMatrix_Type &jacobian, const UInt &column, const UInt &ID, bool &solveLinearSystem)
 Insert the Jacobian coefficient(s) depending on a perturbation of the model, due to a specific variable (the column) More...
 

Unimplemented Methods

 MultiscaleCouplingMeanNormalStressValve (const MultiscaleCouplingMeanNormalStressValve &coupling)
 
MultiscaleCouplingMeanNormalStressValveoperator= (const MultiscaleCouplingMeanNormalStressValve &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 MultiscaleCouplingMeanNormalStress
 MultiscaleCouplingMeanNormalStress ()
 Constructor. More...
 
virtual ~MultiscaleCouplingMeanNormalStress ()
 Destructor. More...
 
virtual void setupCouplingVariablesNumber ()
 Setup the coupling variables number. More...
 
- Public Member Functions inherited from MultiscaleCoupling
 MultiscaleCoupling ()
 Constructor. More...
 
virtual ~MultiscaleCoupling ()
 Destructor. More...
 
virtual void setupData (const std::string &fileName)
 Setup the data of the coupling. 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 MultiscaleCouplingMeanNormalStress
virtual void exportListOfPerturbedModels (const UInt &localCouplingVariableID, multiscaleModelsContainer_Type &perturbedModelsList)
 Build the list of models affected by the perturbation of a local coupling variable. 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

MultiscaleCouplingMeanNormalStressValve - Mean normal stress coupling condition with simple valve.

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

The MultiscaleCouplingMeanNormalStressValve class is an implementation of the multiscaleCoupling_Type for applying flow rate coupling conditions on the models including a valve between the first model and the others.

NOTE: The current implementation works only for two models!

Definition at line 60 of file MultiscaleCouplingMeanNormalStressValve.hpp.

Member Typedef Documentation

◆ super_Type

Constructor & Destructor Documentation

◆ MultiscaleCouplingMeanNormalStressValve() [1/2]

Constructor.

Definition at line 47 of file MultiscaleCouplingMeanNormalStressValve.cpp.

◆ ~MultiscaleCouplingMeanNormalStressValve()

virtual ~MultiscaleCouplingMeanNormalStressValve ( )
inlinevirtual

Destructor.

Definition at line 79 of file MultiscaleCouplingMeanNormalStressValve.hpp.

◆ MultiscaleCouplingMeanNormalStressValve() [2/2]

Member Function Documentation

◆ setupCoupling()

void setupCoupling ( )
virtual

Setup the coupling.

Reimplemented from MultiscaleCouplingMeanNormalStress.

Definition at line 65 of file MultiscaleCouplingMeanNormalStressValve.cpp.

◆ initializeCouplingVariables()

void initializeCouplingVariables ( )
virtual

Initialize the values of the coupling variables.

Reimplemented from MultiscaleCouplingMeanNormalStress.

Definition at line 89 of file MultiscaleCouplingMeanNormalStressValve.cpp.

◆ updateCoupling()

void updateCoupling ( )
virtual

Update the coupling.

Update the position of the valve.

Reimplemented from MultiscaleCouplingMeanNormalStress.

Definition at line 138 of file MultiscaleCouplingMeanNormalStressValve.cpp.

◆ computeCouplingResiduals()

void computeCouplingResiduals ( )
virtual

Compute the local coupling residuals vector.

Reimplemented from MultiscaleCouplingMeanNormalStress.

Definition at line 209 of file MultiscaleCouplingMeanNormalStressValve.cpp.

◆ topologyChange()

bool topologyChange ( )
inlinevirtual

Check if the topology is changed.

The opening/closure of the valve change the topology.

Returns
true if the topology is changed, false otherwise

Reimplemented from MultiscaleCoupling.

Definition at line 108 of file MultiscaleCouplingMeanNormalStressValve.hpp.

◆ insertJacobianConstantCoefficients()

void insertJacobianConstantCoefficients ( multiscaleMatrix_Type jacobian)
privatevirtual

Insert constant coefficients into the Jacobian matrix.

Parameters
jacobianthe Jacobian matrix

Reimplemented from MultiscaleCouplingMeanNormalStress.

Definition at line 230 of file MultiscaleCouplingMeanNormalStressValve.cpp.

◆ insertJacobianDeltaCoefficients()

void insertJacobianDeltaCoefficients ( multiscaleMatrix_Type jacobian,
const UInt column,
const UInt ID,
bool &  solveLinearSystem 
)
privatevirtual

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

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

Reimplemented from MultiscaleCouplingMeanNormalStress.

Definition at line 259 of file MultiscaleCouplingMeanNormalStressValve.cpp.

◆ operator=()

Field Documentation

◆ M_valveIsOpen

bool M_valveIsOpen
private

Definition at line 147 of file MultiscaleCouplingMeanNormalStressValve.hpp.

◆ M_topologyChange

bool M_topologyChange
private

Definition at line 148 of file MultiscaleCouplingMeanNormalStressValve.hpp.


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