LifeV
|
MultiscaleCouplingMeanNormalStressValve - Mean normal stress coupling condition with simple valve. More...
#include <MultiscaleCouplingMeanNormalStressValve.hpp>
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) | |
MultiscaleCouplingMeanNormalStressValve & | operator= (const MultiscaleCouplingMeanNormalStressValve &coupling) |
Additional Inherited Members | |
Public Types inherited from MultiscaleCoupling | |
typedef MultiscaleCouplingFunction | couplingFunction_Type |
typedef std::shared_ptr< couplingFunction_Type > | couplingFunctionPtr_Type |
typedef std::vector< couplingFunction_Type > | couplingFunctionsContainer_Type |
typedef std::vector< multiscaleVectorPtr_Type > | couplingVariablesContainer_Type |
typedef std::vector< Real > | timeContainer_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 UInt & | ID () const |
Get the global ID of the coupling. More... | |
const couplings_Type & | type () 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_Type & | boundaryID (const UInt &localModelID) const |
Get the model connected by the coupling through local ID. More... | |
const UInt & | couplingVariablesNumber () const |
Get the number of the coupling variables. More... | |
const couplingVariablesContainer_Type & | couplingVariables () const |
Get the container of the local coupling variables. More... | |
const Int & | perturbedCoupling () const |
Get the perturbed coupling. More... | |
const multiscaleVector_Type & | residual () const |
Get the local residual. More... | |
const UInt & | timeInterpolationOrder () 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_Type & | localCouplingVariables (const UInt &id) const |
Access by reference to a specific local coupling variable. More... | |
multiscaleVector_Type & | localCouplingVariables (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 |
MultiscaleCouplingMeanNormalStressValve - Mean normal stress coupling condition with simple valve.
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.
Definition at line 67 of file MultiscaleCouplingMeanNormalStressValve.hpp.
|
explicit |
Constructor.
Definition at line 47 of file MultiscaleCouplingMeanNormalStressValve.cpp.
|
inlinevirtual |
Destructor.
Definition at line 79 of file MultiscaleCouplingMeanNormalStressValve.hpp.
|
private |
|
virtual |
Setup the coupling.
Reimplemented from MultiscaleCouplingMeanNormalStress.
Definition at line 65 of file MultiscaleCouplingMeanNormalStressValve.cpp.
|
virtual |
Initialize the values of the coupling variables.
Reimplemented from MultiscaleCouplingMeanNormalStress.
Definition at line 89 of file MultiscaleCouplingMeanNormalStressValve.cpp.
|
virtual |
Update the coupling.
Update the position of the valve.
Reimplemented from MultiscaleCouplingMeanNormalStress.
Definition at line 138 of file MultiscaleCouplingMeanNormalStressValve.cpp.
|
virtual |
Compute the local coupling residuals vector.
Reimplemented from MultiscaleCouplingMeanNormalStress.
Definition at line 209 of file MultiscaleCouplingMeanNormalStressValve.cpp.
|
inlinevirtual |
Check if the topology is changed.
The opening/closure of the valve change the topology.
Reimplemented from MultiscaleCoupling.
Definition at line 108 of file MultiscaleCouplingMeanNormalStressValve.hpp.
|
privatevirtual |
Insert constant coefficients into the Jacobian matrix.
jacobian | the Jacobian matrix |
Reimplemented from MultiscaleCouplingMeanNormalStress.
Definition at line 230 of file MultiscaleCouplingMeanNormalStressValve.cpp.
|
privatevirtual |
Insert the Jacobian coefficient(s) depending on a perturbation of the model, due to a specific variable (the column)
jacobian | the Jacobian matrix |
column | the column related to the perturbed variable |
ID | the global ID of the model which is perturbed by the variable |
solveLinearSystem | a flag to which determine if the linear system has to be solved |
Reimplemented from MultiscaleCouplingMeanNormalStress.
Definition at line 259 of file MultiscaleCouplingMeanNormalStressValve.cpp.
|
private |
|
private |
Definition at line 147 of file MultiscaleCouplingMeanNormalStressValve.hpp.
|
private |
Definition at line 148 of file MultiscaleCouplingMeanNormalStressValve.hpp.