LifeV
MultiscaleModelFSI3D Class Reference

MultiscaleModelFSI3D - Multiscale model for 3D FSI simulations. More...

#include <MultiscaleModelFSI3D.hpp>

+ Inheritance diagram for MultiscaleModelFSI3D:
+ Collaboration diagram for MultiscaleModelFSI3D:

Private Attributes

FSIOperatorPtr_Type M_FSIoperator
 
dataPtr_Type M_data
 
IOFilePtr_Type M_exporterFluid
 
IOFilePtr_Type M_exporterSolid
 
IOFilePtr_Type M_importerFluid
 
IOFilePtr_Type M_importerSolid
 
boundaryStressFunctionContainer_Type M_boundaryStressFunctions
 
Real M_externalPressureScalar
 
boundaryFlowRateFunctionsContainer_Type M_boundaryFlowRateFunctions
 
boundaryFlowRateTypeContainer_Type M_boundaryFlowRateType
 
boundaryAreaFunctionsContainer_Type M_boundaryAreaFunctions
 
multiscaleIDContainer_Type M_boundaryFlagsArea
 
std::vector< bool > M_boundaryFlagsAreaPerturbed
 
wallTensionEstimatorPtr_Type M_wallTensionEstimator
 
vectorPtr_Type M_fluidVelocity
 
vectorPtr_Type M_fluidPressure
 
vectorPtr_Type M_fluidDisplacement
 
vectorPtr_Type M_solidVelocity
 
vectorPtr_Type M_solidDisplacement
 
vectorPtr_Type M_solidStressXX
 
vectorPtr_Type M_solidStressXY
 
vectorPtr_Type M_solidStressXZ
 
vectorPtr_Type M_solidStressYY
 
vectorPtr_Type M_solidStressYZ
 
vectorPtr_Type M_solidStressZZ
 
vectorPtr_Type M_solidStressVonMises
 
vectorPtr_Type M_stateVariable
 
UInt M_nonLinearRichardsonIteration
 
bcInterfacePtr_Type M_fluidBC
 
bcInterfacePtr_Type M_solidBC
 
bcInterfacePtr_Type M_harmonicExtensionBC
 
bcPtr_Type M_linearFluidBC
 
bcPtr_Type M_linearSolidBC
 
vectorPtr_Type M_linearRHS
 
vectorPtr_Type M_linearSolution
 

Public Types

enum  FSI3DBoundaryFlowRate_Type { Weak, Semiweak, Strong }
 
typedef FSIMonolithic FSIOperator_Type
 
typedef std::shared_ptr< FSIOperator_TypeFSIOperatorPtr_Type
 
typedef FSIOperator::data_Type data_Type
 
typedef FSIOperator::dataPtr_Type dataPtr_Type
 
typedef FSIOperator::mesh_Type mesh_Type
 
typedef FSIOperator::fluid_Type fluid_Type
 
typedef FSIOperator::solid_Type solid_Type
 
typedef FSIOperator::vector_Type vector_Type
 
typedef FSIOperator::vectorPtr_Type vectorPtr_Type
 
typedef Exporter< mesh_TypeIOFile_Type
 
typedef std::shared_ptr< IOFile_TypeIOFilePtr_Type
 
typedef ExporterData< mesh_TypeIOData_Type
 
typedef ExporterEnsight< mesh_TypeensightIOFile_Type
 
typedef ExporterHDF5< mesh_Typehdf5IOFile_Type
 
typedef BCHandler bc_Type
 
typedef std::shared_ptr< bc_TypebcPtr_Type
 
typedef BCInterface3D< bc_Type, FSIOperatorbcInterface_Type
 
typedef std::shared_ptr< bcInterface_TypebcInterfacePtr_Type
 
typedef FSI3DBoundaryStressFunction boundaryStressFunction_Type
 
typedef std::shared_ptr< boundaryStressFunction_TypeboundaryStressFunctionPtr_Type
 
typedef std::vector< boundaryStressFunctionPtr_TypeboundaryStressFunctionContainer_Type
 
typedef std::vector< FSI3DBoundaryFlowRate_TypeboundaryFlowRateTypeContainer_Type
 
typedef std::map< multiscaleID_Type, FSI3DBoundaryFlowRate_TypeboundaryFlowRateMap_Type
 
typedef FSI3DBoundaryFlowRateFunction boundaryFlowRateFunction_Type
 
typedef std::shared_ptr< boundaryFlowRateFunction_TypeboundaryFlowRateFunctionPtr_Type
 
typedef std::vector< boundaryFlowRateFunctionPtr_TypeboundaryFlowRateFunctionsContainer_Type
 
typedef boundaryFlowRateFunctionsContainer_Type::iterator boundaryFlowRateFunctionsContainerIterator_Type
 
typedef FSI3DBoundaryAreaFunction boundaryAreaFunction_Type
 
typedef std::shared_ptr< boundaryAreaFunction_TypeboundaryAreaFunctionPtr_Type
 
typedef std::vector< boundaryAreaFunctionPtr_TypeboundaryAreaFunctionsContainer_Type
 
typedef boundaryAreaFunctionsContainer_Type::iterator boundaryAreaFunctionsContainerIterator_Type
 
typedef WallTensionEstimator< mesh_TypewallTensionEstimator_Type
 
typedef std::shared_ptr< wallTensionEstimator_TypewallTensionEstimatorPtr_Type
 

Constructor & Destructor

 MultiscaleModelFSI3D ()
 Constructor. More...
 
virtual ~MultiscaleModelFSI3D ()
 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 model. More...
 
Real checkSolution () const
 Return a specific scalar quantity to be used for a comparison with a reference value. More...
 

MultiscaleInterface Methods

void imposeBoundaryFlowRate (const multiscaleID_Type &boundaryID, const function_Type &function)
 Impose the flow rate on a specific interface of the model. More...
 
void imposeBoundaryMeanNormalStress (const multiscaleID_Type &boundaryID, const function_Type &function)
 Impose the integral of the mean normal stress on a specific boundary interface of the model. More...
 
void imposeBoundaryMeanTotalNormalStress (const multiscaleID_Type &, const function_Type &)
 Impose the integral of the mean total normal stress on a specific boundary interface of the model. More...
 
void imposeBoundaryArea (const multiscaleID_Type &boundaryID, const function_Type &function)
 Impose the area on a specific boundary interface of the model. More...
 
Real boundaryFlowRate (const multiscaleID_Type &boundaryID) const
 Get the flow rate on a specific boundary interface of the model. More...
 
Real boundaryMeanNormalStress (const multiscaleID_Type &boundaryID) const
 Get the integral of the mean normal stress on a specific boundary interface of the model. More...
 
Real boundaryMeanTotalNormalStress (const multiscaleID_Type &boundaryID) const
 Get the integral of the mean total normal stress on a specific boundary interface of the model. More...
 
Real boundaryArea (const multiscaleID_Type &boundaryID) const
 Get the area on a specific boundary interface of the model. More...
 
Real boundaryDeltaFlowRate (const multiscaleID_Type &boundaryID, bool &solveLinearSystem)
 Get the variation of the flow rate (on a specific boundary interface) using the linear model. More...
 
Real boundaryDeltaMeanNormalStress (const multiscaleID_Type &boundaryID, bool &solveLinearSystem)
 Get the variation of the integral of the mean normal stress (on a specific boundary interface) using the linear model. More...
 
Real boundaryDeltaMeanTotalNormalStress (const multiscaleID_Type &boundaryID, bool &solveLinearSystem)
 Get the variation of the integral of the mean total normal stress (on a specific boundary interface) using the linear model. More...
 
Real boundaryDeltaArea (const multiscaleID_Type &, bool &)
 Get the variation of the integral of the area (on a specific boundary interface) using the linear model. More...
 

Get Methods

bc_TypebcHandlerFluid ()
 Get the FSI3D fluid bcHandler. More...
 
bc_TypebcHandlerSolid ()
 Get the FSI3D solid bcHandler. More...
 
bcInterface_TypebcInterface ()
 Get the BCInterface container of the boundary conditions of the model. More...
 
Real boundaryDensity () const
 Get the density on a specific boundary face of the model. More...
 
Real boundaryViscosity () const
 Get the viscosity on a specific boundary face of the model. More...
 
Real boundaryPressure (const multiscaleID_Type &boundaryID) const
 Get the integral of the pressure (on a specific boundary face) More...
 
Real boundaryTotalPressure (const multiscaleID_Type &boundaryID) const
 Get the integral of the total pressure (on a specific boundary face) More...
 
Real externalPressure () const
 Get the external wall pressure. More...
 
const dataPtr_Typedata () const
 Get the FSI3D data container. More...
 
const FSIOperatorPtr_Typesolver () const
 Get the FSI3D operator. More...
 

Unimplemented Methods

 MultiscaleModelFSI3D (const MultiscaleModelFSI3D &model)
 
MultiscaleModelFSI3Doperator= (const MultiscaleModelFSI3D &model)
 

Private Methods

void setupGlobalData (const std::string &fileName)
 Setup the global data of the model. More...
 
void initializeSolution ()
 Initialize the FSI solution. More...
 
void setupCommunicator ()
 
void setupBC (const std::string &fileName)
 
void updateBC ()
 
void setupExporter (IOFilePtr_Type &exporter, const GetPot &dataFile, const std::string &label="")
 
void setupImporter (IOFilePtr_Type &exporter, const GetPot &dataFile, const std::string &label="")
 
void setExporterFluid (const IOFilePtr_Type &exporter)
 
void setExporterSolid (const IOFilePtr_Type &exporter)
 
void exportFluidSolution ()
 
void exportSolidSolution ()
 
void setupLinearModel ()
 Setup the linear model. More...
 
void updateLinearModel ()
 Update the linear system matrix and vectors. More...
 
void solveLinearModel (bool &solveLinearSystem)
 Solve the linear problem. More...
 
void imposePerturbation ()
 Impose the coupling perturbation on the correct BC inside the BCHandler. More...
 
void resetPerturbation ()
 Reset all the coupling perturbations imposed on the BCHandler. More...
 
Real bcFunctionDeltaZero (const Real &, const Real &, const Real &, const Real &, const UInt &)
 
Real bcFunctionDeltaOne (const Real &, const Real &, const Real &, const Real &, const UInt &)
 

Additional Inherited Members

- Public Types inherited from MultiscaleInterface
typedef std::function< Real(const Real &, const Real &, const Real &, const Real &, const ID &) > function_Type
 
- 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...
 
- Public Member Functions inherited from MultiscaleInterface
 MultiscaleInterface ()
 The main constructor. More...
 
virtual ~MultiscaleInterface ()
 Destructor. 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

MultiscaleModelFSI3D - Multiscale model for 3D FSI simulations.

Author
Paolo Crosetto
Cristiano Malossi crist.nosp@m.iano.nosp@m..malo.nosp@m.ssi@.nosp@m.epfl..nosp@m.ch
See also
Full description of the Geometrical Multiscale Framework: [15]
Methodology: [12] [13] [14] [2]
Applications: [11] [10] [3]

Definition at line 119 of file MultiscaleModelFSI3D.hpp.

Member Typedef Documentation

◆ FSIOperator_Type

Definition at line 127 of file MultiscaleModelFSI3D.hpp.

◆ FSIOperatorPtr_Type

typedef std::shared_ptr< FSIOperator_Type> FSIOperatorPtr_Type

Definition at line 128 of file MultiscaleModelFSI3D.hpp.

◆ data_Type

Definition at line 130 of file MultiscaleModelFSI3D.hpp.

◆ dataPtr_Type

◆ mesh_Type

Definition at line 133 of file MultiscaleModelFSI3D.hpp.

◆ fluid_Type

Definition at line 135 of file MultiscaleModelFSI3D.hpp.

◆ solid_Type

Definition at line 136 of file MultiscaleModelFSI3D.hpp.

◆ vector_Type

◆ vectorPtr_Type

◆ IOFile_Type

Definition at line 141 of file MultiscaleModelFSI3D.hpp.

◆ IOFilePtr_Type

typedef std::shared_ptr< IOFile_Type > IOFilePtr_Type

Definition at line 142 of file MultiscaleModelFSI3D.hpp.

◆ IOData_Type

Definition at line 143 of file MultiscaleModelFSI3D.hpp.

◆ ensightIOFile_Type

◆ hdf5IOFile_Type

Definition at line 147 of file MultiscaleModelFSI3D.hpp.

◆ bc_Type

typedef BCHandler bc_Type

Definition at line 150 of file MultiscaleModelFSI3D.hpp.

◆ bcPtr_Type

typedef std::shared_ptr< bc_Type > bcPtr_Type

Definition at line 151 of file MultiscaleModelFSI3D.hpp.

◆ bcInterface_Type

◆ bcInterfacePtr_Type

typedef std::shared_ptr< bcInterface_Type > bcInterfacePtr_Type

Definition at line 153 of file MultiscaleModelFSI3D.hpp.

◆ boundaryStressFunction_Type

◆ boundaryStressFunctionPtr_Type

Definition at line 157 of file MultiscaleModelFSI3D.hpp.

◆ boundaryStressFunctionContainer_Type

◆ boundaryFlowRateTypeContainer_Type

◆ boundaryFlowRateMap_Type

◆ boundaryFlowRateFunction_Type

◆ boundaryFlowRateFunctionPtr_Type

Definition at line 177 of file MultiscaleModelFSI3D.hpp.

◆ boundaryFlowRateFunctionsContainer_Type

◆ boundaryFlowRateFunctionsContainerIterator_Type

typedef boundaryFlowRateFunctionsContainer_Type::iterator boundaryFlowRateFunctionsContainerIterator_Type

Definition at line 179 of file MultiscaleModelFSI3D.hpp.

◆ boundaryAreaFunction_Type

◆ boundaryAreaFunctionPtr_Type

Definition at line 184 of file MultiscaleModelFSI3D.hpp.

◆ boundaryAreaFunctionsContainer_Type

◆ boundaryAreaFunctionsContainerIterator_Type

typedef boundaryAreaFunctionsContainer_Type::iterator boundaryAreaFunctionsContainerIterator_Type

Definition at line 186 of file MultiscaleModelFSI3D.hpp.

◆ wallTensionEstimator_Type

◆ wallTensionEstimatorPtr_Type

Definition at line 191 of file MultiscaleModelFSI3D.hpp.

Member Enumeration Documentation

◆ FSI3DBoundaryFlowRate_Type

Enumerator
Weak 

always impose flow rate weakly (DEFAULT)

Semiweak 

impose essential when flow rate = 0, otherwise impose flow rate weakly

Strong 

always impose essential with user prescribed velocity profile

Definition at line 165 of file MultiscaleModelFSI3D.hpp.

Constructor & Destructor Documentation

◆ MultiscaleModelFSI3D() [1/2]

MultiscaleModelFSI3D ( )
explicit

Constructor.

Definition at line 48 of file MultiscaleModelFSI3D.cpp.

◆ ~MultiscaleModelFSI3D()

virtual ~MultiscaleModelFSI3D ( )
inlinevirtual

Destructor.

Definition at line 204 of file MultiscaleModelFSI3D.hpp.

◆ MultiscaleModelFSI3D() [2/2]

MultiscaleModelFSI3D ( const MultiscaleModelFSI3D model)
private

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 126 of file MultiscaleModelFSI3D.cpp.

◆ setupModel()

void setupModel ( )
virtual

Setup the model.

Implements MultiscaleModel.

Definition at line 194 of file MultiscaleModelFSI3D.cpp.

◆ buildModel()

void buildModel ( )
virtual

Build the initial model.

Implements MultiscaleModel.

Definition at line 256 of file MultiscaleModelFSI3D.cpp.

◆ updateModel()

void updateModel ( )
virtual

Update the model.

Implements MultiscaleModel.

Definition at line 275 of file MultiscaleModelFSI3D.cpp.

◆ solveModel()

void solveModel ( )
virtual

Solve the model.

Implements MultiscaleModel.

Definition at line 296 of file MultiscaleModelFSI3D.cpp.

◆ updateSolution()

void updateSolution ( )
virtual

Update the solution.

Implements MultiscaleModel.

Definition at line 342 of file MultiscaleModelFSI3D.cpp.

◆ saveSolution()

void saveSolution ( )
virtual

Save the solution.

Implements MultiscaleModel.

Definition at line 353 of file MultiscaleModelFSI3D.cpp.

◆ showMe()

void showMe ( )
virtual

Display some information about the model.

Reimplemented from MultiscaleModel.

Definition at line 389 of file MultiscaleModelFSI3D.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 414 of file MultiscaleModelFSI3D.cpp.

◆ imposeBoundaryFlowRate()

void imposeBoundaryFlowRate ( const multiscaleID_Type boundaryID,
const function_Type function 
)
virtual

Impose the flow rate on a specific interface of the model.

Parameters
boundaryIDID of the boundary interface
functionboundary condition function

Implements MultiscaleInterface.

Definition at line 423 of file MultiscaleModelFSI3D.cpp.

◆ imposeBoundaryMeanNormalStress()

void imposeBoundaryMeanNormalStress ( const multiscaleID_Type boundaryID,
const function_Type function 
)
virtual

Impose the integral of the mean normal stress on a specific boundary interface of the model.

Parameters
boundaryIDID of the boundary interface
functionboundary condition function

Implements MultiscaleInterface.

Definition at line 477 of file MultiscaleModelFSI3D.cpp.

◆ imposeBoundaryMeanTotalNormalStress()

void imposeBoundaryMeanTotalNormalStress ( const multiscaleID_Type ,
const function_Type  
)
inlinevirtual

Impose the integral of the mean total normal stress on a specific boundary interface of the model.

Note: mean total normal stress cannot be imposed at the interfaces of this model.

Parameters
boundaryIDID of the boundary interface
functionboundary condition function

Implements MultiscaleInterface.

Definition at line 273 of file MultiscaleModelFSI3D.hpp.

◆ imposeBoundaryArea()

void imposeBoundaryArea ( const multiscaleID_Type boundaryID,
const function_Type function 
)
virtual

Impose the area on a specific boundary interface of the model.

Note: area cannot be imposed at the interfaces of this model.

Parameters
boundaryIDID of the boundary interface
functionboundary condition function

Implements MultiscaleInterface.

Definition at line 495 of file MultiscaleModelFSI3D.cpp.

◆ boundaryFlowRate()

Real boundaryFlowRate ( const multiscaleID_Type boundaryID) const
inlinevirtual

Get the flow rate on a specific boundary interface of the model.

Parameters
boundaryIDID of the boundary interface
Returns
flow rate value

Implements MultiscaleInterface.

Definition at line 292 of file MultiscaleModelFSI3D.hpp.

◆ boundaryMeanNormalStress()

Real boundaryMeanNormalStress ( const multiscaleID_Type boundaryID) const
virtual

Get the integral of the mean normal stress on a specific boundary interface of the model.

Parameters
boundaryIDID of the boundary interface
Returns
mean normal stress value

Implements MultiscaleInterface.

Definition at line 512 of file MultiscaleModelFSI3D.cpp.

◆ boundaryMeanTotalNormalStress()

Real boundaryMeanTotalNormalStress ( const multiscaleID_Type boundaryID) const
virtual

Get the integral of the mean total normal stress on a specific boundary interface of the model.

Parameters
boundaryIDID of the boundary interface
Returns
mean total normal stress value

Implements MultiscaleInterface.

Definition at line 522 of file MultiscaleModelFSI3D.cpp.

◆ boundaryArea()

Real boundaryArea ( const multiscaleID_Type boundaryID) const
inlinevirtual

Get the area on a specific boundary interface of the model.

Parameters
boundaryIDID of the boundary interface
Returns
area value

Implements MultiscaleInterface.

Definition at line 316 of file MultiscaleModelFSI3D.hpp.

◆ boundaryDeltaFlowRate()

Real boundaryDeltaFlowRate ( const multiscaleID_Type boundaryID,
bool &  solveLinearSystem 
)
virtual

Get the variation of the flow rate (on a specific boundary interface) using the linear model.

Parameters
boundaryIDID of the boundary interface
solveLinearSystema flag to which determine if the linear system has to be solved
Returns
variation of the flow rate

Implements MultiscaleInterface.

Definition at line 532 of file MultiscaleModelFSI3D.cpp.

◆ boundaryDeltaMeanNormalStress()

Real boundaryDeltaMeanNormalStress ( const multiscaleID_Type boundaryID,
bool &  solveLinearSystem 
)
virtual

Get the variation of the integral of the mean normal stress (on a specific boundary interface) using the linear model.

Parameters
boundaryIDID of the boundary interface
solveLinearSystema flag to which determine if the linear system has to be solved
Returns
variation of the mean normal stress

Implements MultiscaleInterface.

Definition at line 540 of file MultiscaleModelFSI3D.cpp.

◆ boundaryDeltaMeanTotalNormalStress()

Real boundaryDeltaMeanTotalNormalStress ( const multiscaleID_Type boundaryID,
bool &  solveLinearSystem 
)
virtual

Get the variation of the integral of the mean total normal stress (on a specific boundary interface) using the linear model.

TODO The integral terms of the derivative of the area have not been coded yet. They are used only by the GI formulation.

Parameters
boundaryIDID of the boundary interface
solveLinearSystema flag to which determine if the linear system has to be solved
Returns
variation of the mean total normal stress

Implements MultiscaleInterface.

Definition at line 548 of file MultiscaleModelFSI3D.cpp.

◆ boundaryDeltaArea()

Real boundaryDeltaArea ( const multiscaleID_Type ,
bool &   
)
inlinevirtual

Get the variation of the integral of the area (on a specific boundary interface) using the linear model.

Note: returns always a NaN since this specific method is never used in the current interface equations.

Parameters
boundaryIDID of the boundary interface
solveLinearSystema flag to which determine if the linear system has to be solved
Returns
variation of the area

Implements MultiscaleInterface.

Definition at line 354 of file MultiscaleModelFSI3D.hpp.

◆ bcHandlerFluid()

bc_Type& bcHandlerFluid ( )
inline

Get the FSI3D fluid bcHandler.

Returns
FSI3D fluid bcHandler

Definition at line 369 of file MultiscaleModelFSI3D.hpp.

◆ bcHandlerSolid()

bc_Type& bcHandlerSolid ( )
inline

Get the FSI3D solid bcHandler.

Returns
FSI3D solid bcHandler

Definition at line 378 of file MultiscaleModelFSI3D.hpp.

◆ bcInterface()

bcInterface_Type& bcInterface ( )
inline

Get the BCInterface container of the boundary conditions of the model.

Returns
BCInterface container

Definition at line 387 of file MultiscaleModelFSI3D.hpp.

◆ boundaryDensity()

Real boundaryDensity ( ) const
inline

Get the density on a specific boundary face of the model.

Returns
density value

Definition at line 396 of file MultiscaleModelFSI3D.hpp.

◆ boundaryViscosity()

Real boundaryViscosity ( ) const
inline

Get the viscosity on a specific boundary face of the model.

Returns
viscosity value

Definition at line 405 of file MultiscaleModelFSI3D.hpp.

◆ boundaryPressure()

Real boundaryPressure ( const multiscaleID_Type boundaryID) const

Get the integral of the pressure (on a specific boundary face)

Parameters
boundaryIDID of the boundary interface
Returns
pressure value

Definition at line 559 of file MultiscaleModelFSI3D.cpp.

◆ boundaryTotalPressure()

Real boundaryTotalPressure ( const multiscaleID_Type boundaryID) const

Get the integral of the total pressure (on a specific boundary face)

Parameters
boundaryIDID of the boundary interface
Returns
total pressure value

Definition at line 569 of file MultiscaleModelFSI3D.cpp.

◆ externalPressure()

Real externalPressure ( ) const

Get the external wall pressure.

Returns
external pressure value

Definition at line 581 of file MultiscaleModelFSI3D.cpp.

◆ data()

const dataPtr_Type& data ( ) const
inline

Get the FSI3D data container.

Returns
FSI3D data container

Definition at line 434 of file MultiscaleModelFSI3D.hpp.

◆ solver()

const FSIOperatorPtr_Type& solver ( ) const
inline

Get the FSI3D operator.

Returns
FSI3D operator

Definition at line 443 of file MultiscaleModelFSI3D.hpp.

◆ operator=()

MultiscaleModelFSI3D& operator= ( const MultiscaleModelFSI3D model)
private

◆ setupGlobalData()

void setupGlobalData ( const std::string &  fileName)
private

Setup the global data of the model.

In particular, it replaces the default local values with the ones in the global container. If a value is already specified in the data file, do not perform the replacement.

Parameters
fileNameFile name of the specific model.

Definition at line 594 of file MultiscaleModelFSI3D.cpp.

◆ initializeSolution()

void initializeSolution ( )
private

Initialize the FSI solution.

Definition at line 648 of file MultiscaleModelFSI3D.cpp.

◆ setupCommunicator()

void setupCommunicator ( )
private

Definition at line 776 of file MultiscaleModelFSI3D.cpp.

◆ setupBC()

void setupBC ( const std::string &  fileName)
private

Definition at line 788 of file MultiscaleModelFSI3D.cpp.

◆ updateBC()

void updateBC ( )
private

Definition at line 813 of file MultiscaleModelFSI3D.cpp.

◆ setupExporter()

void setupExporter ( IOFilePtr_Type exporter,
const GetPot dataFile,
const std::string &  label = "" 
)
private

Definition at line 834 of file MultiscaleModelFSI3D.cpp.

◆ setupImporter()

void setupImporter ( IOFilePtr_Type exporter,
const GetPot dataFile,
const std::string &  label = "" 
)
private

Definition at line 852 of file MultiscaleModelFSI3D.cpp.

◆ setExporterFluid()

void setExporterFluid ( const IOFilePtr_Type exporter)
private

Definition at line 870 of file MultiscaleModelFSI3D.cpp.

◆ setExporterSolid()

void setExporterSolid ( const IOFilePtr_Type exporter)
private

Definition at line 884 of file MultiscaleModelFSI3D.cpp.

◆ exportFluidSolution()

void exportFluidSolution ( )
private

Definition at line 916 of file MultiscaleModelFSI3D.cpp.

◆ exportSolidSolution()

void exportSolidSolution ( )
private

Definition at line 932 of file MultiscaleModelFSI3D.cpp.

◆ setupLinearModel()

void setupLinearModel ( )
private

Setup the linear model.

Definition at line 955 of file MultiscaleModelFSI3D.cpp.

◆ updateLinearModel()

void updateLinearModel ( )
private

Update the linear system matrix and vectors.

Definition at line 986 of file MultiscaleModelFSI3D.cpp.

◆ solveLinearModel()

void solveLinearModel ( bool &  solveLinearSystem)
private

Solve the linear problem.

Definition at line 999 of file MultiscaleModelFSI3D.cpp.

◆ imposePerturbation()

void imposePerturbation ( )
private

Impose the coupling perturbation on the correct BC inside the BCHandler.

Definition at line 1026 of file MultiscaleModelFSI3D.cpp.

◆ resetPerturbation()

void resetPerturbation ( )
private

Reset all the coupling perturbations imposed on the BCHandler.

Definition at line 1059 of file MultiscaleModelFSI3D.cpp.

◆ bcFunctionDeltaZero()

Real bcFunctionDeltaZero ( const Real ,
const Real ,
const Real ,
const Real ,
const UInt  
)
inlineprivate

Definition at line 506 of file MultiscaleModelFSI3D.hpp.

◆ bcFunctionDeltaOne()

Real bcFunctionDeltaOne ( const Real ,
const Real ,
const Real ,
const Real ,
const UInt  
)
inlineprivate

Definition at line 510 of file MultiscaleModelFSI3D.hpp.

Field Documentation

◆ M_FSIoperator

FSIOperatorPtr_Type M_FSIoperator
private

Definition at line 518 of file MultiscaleModelFSI3D.hpp.

◆ M_data

dataPtr_Type M_data
private

Definition at line 521 of file MultiscaleModelFSI3D.hpp.

◆ M_exporterFluid

IOFilePtr_Type M_exporterFluid
private

Definition at line 524 of file MultiscaleModelFSI3D.hpp.

◆ M_exporterSolid

IOFilePtr_Type M_exporterSolid
private

Definition at line 525 of file MultiscaleModelFSI3D.hpp.

◆ M_importerFluid

IOFilePtr_Type M_importerFluid
private

Definition at line 528 of file MultiscaleModelFSI3D.hpp.

◆ M_importerSolid

IOFilePtr_Type M_importerSolid
private

Definition at line 529 of file MultiscaleModelFSI3D.hpp.

◆ M_boundaryStressFunctions

boundaryStressFunctionContainer_Type M_boundaryStressFunctions
private

Definition at line 533 of file MultiscaleModelFSI3D.hpp.

◆ M_externalPressureScalar

Real M_externalPressureScalar
private

Definition at line 536 of file MultiscaleModelFSI3D.hpp.

◆ M_boundaryFlowRateFunctions

boundaryFlowRateFunctionsContainer_Type M_boundaryFlowRateFunctions
private

Definition at line 541 of file MultiscaleModelFSI3D.hpp.

◆ M_boundaryFlowRateType

boundaryFlowRateTypeContainer_Type M_boundaryFlowRateType
private

Definition at line 544 of file MultiscaleModelFSI3D.hpp.

◆ M_boundaryAreaFunctions

boundaryAreaFunctionsContainer_Type M_boundaryAreaFunctions
private

Definition at line 549 of file MultiscaleModelFSI3D.hpp.

◆ M_boundaryFlagsArea

multiscaleIDContainer_Type M_boundaryFlagsArea
private

Definition at line 552 of file MultiscaleModelFSI3D.hpp.

◆ M_boundaryFlagsAreaPerturbed

std::vector< bool > M_boundaryFlagsAreaPerturbed
private

Definition at line 553 of file MultiscaleModelFSI3D.hpp.

◆ M_wallTensionEstimator

wallTensionEstimatorPtr_Type M_wallTensionEstimator
private

Definition at line 557 of file MultiscaleModelFSI3D.hpp.

◆ M_fluidVelocity

vectorPtr_Type M_fluidVelocity
private

Definition at line 561 of file MultiscaleModelFSI3D.hpp.

◆ M_fluidPressure

vectorPtr_Type M_fluidPressure
private

Definition at line 562 of file MultiscaleModelFSI3D.hpp.

◆ M_fluidDisplacement

vectorPtr_Type M_fluidDisplacement
private

Definition at line 563 of file MultiscaleModelFSI3D.hpp.

◆ M_solidVelocity

vectorPtr_Type M_solidVelocity
private

Definition at line 564 of file MultiscaleModelFSI3D.hpp.

◆ M_solidDisplacement

vectorPtr_Type M_solidDisplacement
private

Definition at line 565 of file MultiscaleModelFSI3D.hpp.

◆ M_solidStressXX

vectorPtr_Type M_solidStressXX
private

Definition at line 568 of file MultiscaleModelFSI3D.hpp.

◆ M_solidStressXY

vectorPtr_Type M_solidStressXY
private

Definition at line 569 of file MultiscaleModelFSI3D.hpp.

◆ M_solidStressXZ

vectorPtr_Type M_solidStressXZ
private

Definition at line 570 of file MultiscaleModelFSI3D.hpp.

◆ M_solidStressYY

vectorPtr_Type M_solidStressYY
private

Definition at line 571 of file MultiscaleModelFSI3D.hpp.

◆ M_solidStressYZ

vectorPtr_Type M_solidStressYZ
private

Definition at line 572 of file MultiscaleModelFSI3D.hpp.

◆ M_solidStressZZ

vectorPtr_Type M_solidStressZZ
private

Definition at line 573 of file MultiscaleModelFSI3D.hpp.

◆ M_solidStressVonMises

vectorPtr_Type M_solidStressVonMises
private

Definition at line 574 of file MultiscaleModelFSI3D.hpp.

◆ M_stateVariable

vectorPtr_Type M_stateVariable
private

Definition at line 577 of file MultiscaleModelFSI3D.hpp.

◆ M_nonLinearRichardsonIteration

UInt M_nonLinearRichardsonIteration
private

Definition at line 579 of file MultiscaleModelFSI3D.hpp.

◆ M_fluidBC

bcInterfacePtr_Type M_fluidBC
private

Definition at line 582 of file MultiscaleModelFSI3D.hpp.

◆ M_solidBC

bcInterfacePtr_Type M_solidBC
private

Definition at line 583 of file MultiscaleModelFSI3D.hpp.

◆ M_harmonicExtensionBC

bcInterfacePtr_Type M_harmonicExtensionBC
private

Definition at line 584 of file MultiscaleModelFSI3D.hpp.

◆ M_linearFluidBC

bcPtr_Type M_linearFluidBC
private

Definition at line 587 of file MultiscaleModelFSI3D.hpp.

◆ M_linearSolidBC

bcPtr_Type M_linearSolidBC
private

Definition at line 588 of file MultiscaleModelFSI3D.hpp.

◆ M_linearRHS

vectorPtr_Type M_linearRHS
private

Definition at line 589 of file MultiscaleModelFSI3D.hpp.

◆ M_linearSolution

vectorPtr_Type M_linearSolution
private

Definition at line 590 of file MultiscaleModelFSI3D.hpp.


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