LifeV
MultiscaleModelFSI1D Class Reference

MultiscaleModelFSI1D - Multiscale model for 1D Fluid simulations. More...

#include <MultiscaleModelFSI1D.hpp>

+ Inheritance diagram for MultiscaleModelFSI1D:
+ Collaboration diagram for MultiscaleModelFSI1D:

Private Attributes

std::shared_ptr< IOFile_TypeM_exporter
 
std::shared_ptr< IOFile_TypeM_importer
 
std::shared_ptr< mesh_TypeM_exporterMesh
 
solutionPtr_Type M_exporterSolution
 
bcPtr_Type M_linearBC
 
solutionPtr_Type M_linearSolution
 
std::vector< std::map< bcSide_Type, std::map< bcType_Type, Real > > > M_bcPreviousTimeSteps
 
bcFunction_Type M_bcBaseDelta
 
Real M_bcDelta
 
bcType_Type M_bcDeltaType
 
bcSide_Type M_bcDeltaSide
 
std::shared_ptr< data_TypeM_data
 
bcInterfacePtr_Type M_bc
 
physicsPtr_Type M_physics
 
fluxPtr_Type M_flux
 
sourcePtr_Type M_source
 
solverPtr_Type M_solver
 
std::shared_ptr< linearSolver_TypeM_linearSolver
 
std::shared_ptr< linearSolver_TypeM_linearViscoelasticSolver
 
std::shared_ptr< feSpace_TypeM_feSpace
 
solutionPtr_Type M_solution_tn
 
solutionPtr_Type M_solution
 

Type definitions

typedef OneDFSIPhysics physics_Type
 
typedef std::shared_ptr< physics_TypephysicsPtr_Type
 
typedef OneDFSIFlux flux_Type
 
typedef std::shared_ptr< flux_TypefluxPtr_Type
 
typedef OneDFSISource source_Type
 
typedef std::shared_ptr< source_TypesourcePtr_Type
 
typedef OneDFSISolver solver_Type
 
typedef std::shared_ptr< solver_TypesolverPtr_Type
 
typedef solver_Type::data_Type data_Type
 
typedef solver_Type::mesh_Type mesh_Type
 
typedef solver_Type::vector_Type vector_Type
 
typedef solver_Type::vectorPtr_Type vectorPtr_Type
 
typedef solver_Type::solution_Type solution_Type
 
typedef solver_Type::solutionPtr_Type solutionPtr_Type
 
typedef solver_Type::solutionConstIterator_Type solutionConstIterator_Type
 
typedef solver_Type::linearSolver_Type linearSolver_Type
 
typedef solver_Type::feSpace_Type feSpace_Type
 
typedef solver_Type::feSpacePtr_Type feSpacePtr_Type
 
typedef OneDFSIBCHandler bc_Type
 
typedef std::shared_ptr< bc_TypebcPtr_Type
 
typedef BCInterface1D< bc_Type, solver_TypebcInterface_Type
 
typedef std::shared_ptr< bcInterface_TypebcInterfacePtr_Type
 
typedef OneDFSIFunction bcFunction_Type
 
typedef OneDFSI::bcType_Type bcType_Type
 
typedef OneDFSI::bcSide_Type bcSide_Type
 
typedef OneDFSI::bcLine_Type bcLine_Type
 
typedef ExporterHDF5< mesh_TypeIOFile_Type
 
typedef ExporterData< mesh_TypeIOData_Type
 

Constructors & Destructor

 MultiscaleModelFSI1D ()
 Constructor. More...
 
virtual ~MultiscaleModelFSI1D ()
 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 &, const function_Type &)
 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 total normal stress (on a specific boundary face) More...
 
Real boundaryDeltaArea (const multiscaleID_Type &boundaryID, bool &solveLinearSystem)
 Get the variation of the integral of the area (on a specific boundary interface) using the linear model. More...
 

Get Methods

bc_Typebc () const
 Get the BC handler container of the boundary conditions of the model. More...
 
bcInterface_TypebcInterface () const
 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...
 
data_Typedata () const
 Get the data container of the 1D model. More...
 
physicsPtr_Type physics () const
 Get the Physics of the 1D model. More...
 
fluxPtr_Type flux () const
 Get the Flux of the 1D model. More...
 
sourcePtr_Type source () const
 Get the Source of the 1D model. More...
 
feSpacePtr_Type feSpace () const
 Get the FESpace of the 1D model. More...
 
solverPtr_Type solver () const
 Get the Solver of the 1D model. More...
 
const solutionPtr_Typesolution () const
 Get the solution container of the 1D model. More...
 
const vectorPtr_Typesolution (const std::string &quantity) const
 Get a specific quantity of the solution container of the 1D model. More...
 

Unimplemented Methods

 MultiscaleModelFSI1D (const MultiscaleModelFSI1D &model)
 
MultiscaleModelFSI1Doperator= (const MultiscaleModelFSI1D &model)
 

Private Methods

void setupGlobalData (const std::string &fileName)
 Setup the global data of the model. More...
 
void initializeSolution ()
 Initialize the solution. More...
 
void setupFESpace ()
 Setup the FE space for pressure and velocity. More...
 
void copySolution (const solution_Type &solution1, solution_Type &solution2)
 Copy the solution (solution2 = solution1) More...
 
void updateBCPhysicalSolverVariables ()
 Update BCInterface physical solver variables. More...
 
void solve (bc_Type &bc, solution_Type &solution, const std::string &solverType=" 1D-")
 Solve the 1D hyperbolic problem. More...
 
bcSide_Type flagConverter (const multiscaleID_Type &boundaryID) const
 Convert the boundaryID to a bcSide type. More...
 
void createLinearBC ()
 Update linear BC. More...
 
void updateLinearBC (const solution_Type &solution)
 Update linear BC. More...
 
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 bcFunctionDelta (const Real &t)
 

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

MultiscaleModelFSI1D - Multiscale model for 1D Fluid simulations.

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

The MultiscaleModelFSI1D class is an implementation of the multiscaleModel_Type for 1D Fluid problem.

Definition at line 86 of file MultiscaleModelFSI1D.hpp.

Member Typedef Documentation

◆ physics_Type

Definition at line 94 of file MultiscaleModelFSI1D.hpp.

◆ physicsPtr_Type

typedef std::shared_ptr< physics_Type > physicsPtr_Type

Definition at line 95 of file MultiscaleModelFSI1D.hpp.

◆ flux_Type

Definition at line 97 of file MultiscaleModelFSI1D.hpp.

◆ fluxPtr_Type

typedef std::shared_ptr< flux_Type > fluxPtr_Type

Definition at line 98 of file MultiscaleModelFSI1D.hpp.

◆ source_Type

Definition at line 100 of file MultiscaleModelFSI1D.hpp.

◆ sourcePtr_Type

typedef std::shared_ptr< source_Type > sourcePtr_Type

Definition at line 101 of file MultiscaleModelFSI1D.hpp.

◆ solver_Type

Definition at line 103 of file MultiscaleModelFSI1D.hpp.

◆ solverPtr_Type

typedef std::shared_ptr< solver_Type > solverPtr_Type

Definition at line 104 of file MultiscaleModelFSI1D.hpp.

◆ data_Type

Definition at line 106 of file MultiscaleModelFSI1D.hpp.

◆ mesh_Type

Definition at line 107 of file MultiscaleModelFSI1D.hpp.

◆ vector_Type

◆ vectorPtr_Type

◆ solution_Type

◆ solutionPtr_Type

◆ solutionConstIterator_Type

◆ linearSolver_Type

◆ feSpace_Type

◆ feSpacePtr_Type

◆ bc_Type

Definition at line 118 of file MultiscaleModelFSI1D.hpp.

◆ bcPtr_Type

typedef std::shared_ptr< bc_Type > bcPtr_Type

Definition at line 119 of file MultiscaleModelFSI1D.hpp.

◆ bcInterface_Type

◆ bcInterfacePtr_Type

typedef std::shared_ptr< bcInterface_Type > bcInterfacePtr_Type

Definition at line 121 of file MultiscaleModelFSI1D.hpp.

◆ bcFunction_Type

Definition at line 123 of file MultiscaleModelFSI1D.hpp.

◆ bcType_Type

Definition at line 125 of file MultiscaleModelFSI1D.hpp.

◆ bcSide_Type

Definition at line 126 of file MultiscaleModelFSI1D.hpp.

◆ bcLine_Type

Definition at line 127 of file MultiscaleModelFSI1D.hpp.

◆ IOFile_Type

Definition at line 130 of file MultiscaleModelFSI1D.hpp.

◆ IOData_Type

Definition at line 131 of file MultiscaleModelFSI1D.hpp.

Constructor & Destructor Documentation

◆ MultiscaleModelFSI1D() [1/2]

MultiscaleModelFSI1D ( )
explicit

Constructor.

Definition at line 52 of file MultiscaleModelFSI1D.cpp.

+ Here is the caller graph for this function:

◆ ~MultiscaleModelFSI1D()

virtual ~MultiscaleModelFSI1D ( )
inlinevirtual

Destructor.

Definition at line 144 of file MultiscaleModelFSI1D.hpp.

◆ MultiscaleModelFSI1D() [2/2]

MultiscaleModelFSI1D ( const MultiscaleModelFSI1D 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 107 of file MultiscaleModelFSI1D.cpp.

◆ setupModel()

void setupModel ( )
virtual

Setup the model.

Implements MultiscaleModel.

Definition at line 181 of file MultiscaleModelFSI1D.cpp.

+ Here is the caller graph for this function:

◆ buildModel()

void buildModel ( )
virtual

Build the initial model.

Implements MultiscaleModel.

Definition at line 239 of file MultiscaleModelFSI1D.cpp.

◆ updateModel()

void updateModel ( )
virtual

Update the model.

Implements MultiscaleModel.

Definition at line 265 of file MultiscaleModelFSI1D.cpp.

◆ solveModel()

void solveModel ( )
virtual

Solve the model.

Implements MultiscaleModel.

Definition at line 285 of file MultiscaleModelFSI1D.cpp.

◆ updateSolution()

void updateSolution ( )
virtual

Update the solution.

Implements MultiscaleModel.

Definition at line 305 of file MultiscaleModelFSI1D.cpp.

◆ saveSolution()

void saveSolution ( )
virtual

Save the solution.

Implements MultiscaleModel.

Definition at line 315 of file MultiscaleModelFSI1D.cpp.

◆ showMe()

void showMe ( )
virtual

Display some information about the model.

Reimplemented from MultiscaleModel.

Definition at line 342 of file MultiscaleModelFSI1D.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 357 of file MultiscaleModelFSI1D.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 366 of file MultiscaleModelFSI1D.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 375 of file MultiscaleModelFSI1D.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 214 of file MultiscaleModelFSI1D.hpp.

◆ imposeBoundaryArea()

void imposeBoundaryArea ( const multiscaleID_Type ,
const function_Type  
)
inlinevirtual

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

TODO The area can be imposed to the 1-D model: need to be coded

Parameters
boundaryIDID of the boundary interface
functionboundary condition function

Implements MultiscaleInterface.

Definition at line 226 of file MultiscaleModelFSI1D.hpp.

◆ 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 236 of file MultiscaleModelFSI1D.hpp.

◆ boundaryMeanNormalStress()

Real boundaryMeanNormalStress ( const multiscaleID_Type boundaryID) const
inlinevirtual

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 246 of file MultiscaleModelFSI1D.hpp.

◆ boundaryMeanTotalNormalStress()

Real boundaryMeanTotalNormalStress ( const multiscaleID_Type boundaryID) const
inlinevirtual

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 256 of file MultiscaleModelFSI1D.hpp.

◆ 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 266 of file MultiscaleModelFSI1D.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 465 of file MultiscaleModelFSI1D.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 471 of file MultiscaleModelFSI1D.cpp.

◆ boundaryDeltaMeanTotalNormalStress()

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

Get the variation of the integral of the total normal stress (on a specific boundary face)

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 477 of file MultiscaleModelFSI1D.cpp.

◆ boundaryDeltaArea()

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

Get the variation of the integral of the area (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 area

Implements MultiscaleInterface.

Definition at line 483 of file MultiscaleModelFSI1D.cpp.

◆ bc()

bc_Type& bc ( ) const
inline

Get the BC handler container of the boundary conditions of the model.

Returns
BC handler

Definition at line 313 of file MultiscaleModelFSI1D.hpp.

+ Here is the caller graph for this function:

◆ bcInterface()

bcInterface_Type& bcInterface ( ) const
inline

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

Returns
BCInterface container

Definition at line 322 of file MultiscaleModelFSI1D.hpp.

◆ boundaryDensity()

Real boundaryDensity ( ) const
inline

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

Returns
density value

Definition at line 331 of file MultiscaleModelFSI1D.hpp.

◆ boundaryViscosity()

Real boundaryViscosity ( ) const
inline

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

Returns
viscosity value

Definition at line 340 of file MultiscaleModelFSI1D.hpp.

◆ boundaryPressure()

Real boundaryPressure ( const multiscaleID_Type boundaryID) const
inline

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

Parameters
boundaryIDID of the boundary interface
Returns
pressure value

Definition at line 350 of file MultiscaleModelFSI1D.hpp.

◆ data()

data_Type& data ( ) const
inline

Get the data container of the 1D model.

Returns
1D Model data container.

Definition at line 359 of file MultiscaleModelFSI1D.hpp.

◆ physics()

physicsPtr_Type physics ( ) const
inline

Get the Physics of the 1D model.

Returns
1D Model physics.

Definition at line 368 of file MultiscaleModelFSI1D.hpp.

◆ flux()

fluxPtr_Type flux ( ) const
inline

Get the Flux of the 1D model.

Returns
1D Model Flux.

Definition at line 377 of file MultiscaleModelFSI1D.hpp.

◆ source()

sourcePtr_Type source ( ) const
inline

Get the Source of the 1D model.

Returns
1D Model Source.

Definition at line 386 of file MultiscaleModelFSI1D.hpp.

◆ feSpace()

feSpacePtr_Type feSpace ( ) const
inline

Get the FESpace of the 1D model.

Returns
1D model FESpace

Definition at line 395 of file MultiscaleModelFSI1D.hpp.

◆ solver()

solverPtr_Type solver ( ) const
inline

Get the Solver of the 1D model.

Returns
1D model solver.

Definition at line 404 of file MultiscaleModelFSI1D.hpp.

◆ solution() [1/2]

const solutionPtr_Type& solution ( ) const
inline

Get the solution container of the 1D model.

Returns
1D model solution.

Definition at line 413 of file MultiscaleModelFSI1D.hpp.

◆ solution() [2/2]

const vectorPtr_Type& solution ( const std::string &  quantity) const
inline

Get a specific quantity of the solution container of the 1D model.

Parameters
quantitysolution quantity.
Returns
1D model solution.

Definition at line 423 of file MultiscaleModelFSI1D.hpp.

◆ operator=()

MultiscaleModelFSI1D& operator= ( const MultiscaleModelFSI1D 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 494 of file MultiscaleModelFSI1D.cpp.

+ Here is the caller graph for this function:

◆ initializeSolution()

void initializeSolution ( )
private

Initialize the solution.

Definition at line 541 of file MultiscaleModelFSI1D.cpp.

+ Here is the caller graph for this function:

◆ setupFESpace()

void setupFESpace ( )
private

Setup the FE space for pressure and velocity.

Definition at line 587 of file MultiscaleModelFSI1D.cpp.

+ Here is the caller graph for this function:

◆ copySolution()

void copySolution ( const solution_Type solution1,
solution_Type solution2 
)
private

Copy the solution (solution2 = solution1)

NOTE: if the size of the two vector is different due to the presence of ghost nodes the method automatically add/remove them from the resulting vector.

Parameters
solution1solution to be copied.
solution2copy of solution1.

Definition at line 630 of file MultiscaleModelFSI1D.cpp.

◆ updateBCPhysicalSolverVariables()

void updateBCPhysicalSolverVariables ( )
private

Update BCInterface physical solver variables.

Definition at line 645 of file MultiscaleModelFSI1D.cpp.

+ Here is the caller graph for this function:

◆ solve()

void solve ( bc_Type bc,
solution_Type solution,
const std::string &  solverType = " 1D-" 
)
private

Solve the 1D hyperbolic problem.

Parameters
bcBCInterface container.
solutionsolution container.
solverTypestring containing the prefix ID to display when solving the system.

Definition at line 657 of file MultiscaleModelFSI1D.cpp.

◆ flagConverter()

bcSide_Type flagConverter ( const multiscaleID_Type boundaryID) const
inlineprivate

Convert the boundaryID to a bcSide type.

Parameters
boundaryIDID of the boundary interface
Returns
boundary condition side.

Definition at line 485 of file MultiscaleModelFSI1D.hpp.

◆ createLinearBC()

void createLinearBC ( )
private

Update linear BC.

+ Here is the caller graph for this function:

◆ updateLinearBC()

void updateLinearBC ( const solution_Type solution)
private

Update linear BC.

◆ setupLinearModel()

void setupLinearModel ( )
private

Setup the linear model.

+ Here is the caller graph for this function:

◆ updateLinearModel()

void updateLinearModel ( )
private

Update the linear system matrix and vectors.

+ Here is the caller graph for this function:

◆ solveLinearModel()

void solveLinearModel ( bool &  solveLinearSystem)
private

Solve the linear problem.

◆ imposePerturbation()

void imposePerturbation ( )
private

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

◆ resetPerturbation()

void resetPerturbation ( )
private

Reset all the coupling perturbations imposed on the BCHandler.

◆ bcFunctionDelta()

Real bcFunctionDelta ( const Real t)
private

Field Documentation

◆ M_exporter

std::shared_ptr< IOFile_Type > M_exporter
private

Definition at line 537 of file MultiscaleModelFSI1D.hpp.

◆ M_importer

std::shared_ptr< IOFile_Type > M_importer
private

Definition at line 538 of file MultiscaleModelFSI1D.hpp.

◆ M_exporterMesh

std::shared_ptr< mesh_Type > M_exporterMesh
private

Definition at line 540 of file MultiscaleModelFSI1D.hpp.

◆ M_exporterSolution

solutionPtr_Type M_exporterSolution
private

Definition at line 541 of file MultiscaleModelFSI1D.hpp.

◆ M_linearBC

bcPtr_Type M_linearBC
private

Definition at line 546 of file MultiscaleModelFSI1D.hpp.

◆ M_linearSolution

solutionPtr_Type M_linearSolution
private

Definition at line 548 of file MultiscaleModelFSI1D.hpp.

◆ M_bcPreviousTimeSteps

std::vector< std::map< bcSide_Type, std::map< bcType_Type, Real > > > M_bcPreviousTimeSteps
private

Definition at line 551 of file MultiscaleModelFSI1D.hpp.

◆ M_bcBaseDelta

bcFunction_Type M_bcBaseDelta
private

Definition at line 554 of file MultiscaleModelFSI1D.hpp.

◆ M_bcDelta

Real M_bcDelta
private

Definition at line 556 of file MultiscaleModelFSI1D.hpp.

◆ M_bcDeltaType

bcType_Type M_bcDeltaType
private

Definition at line 557 of file MultiscaleModelFSI1D.hpp.

◆ M_bcDeltaSide

bcSide_Type M_bcDeltaSide
private

Definition at line 558 of file MultiscaleModelFSI1D.hpp.

◆ M_data

std::shared_ptr< data_Type > M_data
private

Definition at line 562 of file MultiscaleModelFSI1D.hpp.

◆ M_bc

bcInterfacePtr_Type M_bc
private

Definition at line 563 of file MultiscaleModelFSI1D.hpp.

◆ M_physics

physicsPtr_Type M_physics
private

Definition at line 564 of file MultiscaleModelFSI1D.hpp.

◆ M_flux

fluxPtr_Type M_flux
private

Definition at line 565 of file MultiscaleModelFSI1D.hpp.

◆ M_source

sourcePtr_Type M_source
private

Definition at line 566 of file MultiscaleModelFSI1D.hpp.

◆ M_solver

solverPtr_Type M_solver
private

Definition at line 567 of file MultiscaleModelFSI1D.hpp.

◆ M_linearSolver

std::shared_ptr< linearSolver_Type > M_linearSolver
private

Definition at line 570 of file MultiscaleModelFSI1D.hpp.

◆ M_linearViscoelasticSolver

std::shared_ptr< linearSolver_Type > M_linearViscoelasticSolver
private

Definition at line 571 of file MultiscaleModelFSI1D.hpp.

◆ M_feSpace

std::shared_ptr< feSpace_Type > M_feSpace
private

Definition at line 574 of file MultiscaleModelFSI1D.hpp.

◆ M_solution_tn

solutionPtr_Type M_solution_tn
private

Definition at line 576 of file MultiscaleModelFSI1D.hpp.

◆ M_solution

solutionPtr_Type M_solution
private

Definition at line 577 of file MultiscaleModelFSI1D.hpp.


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