LifeV
FSIcouplingCE Class Reference

FSIcouplingCE - File handling the coupling blocks when conforming discretizations are used. More...

#include <FSIcouplingCE.hpp>

+ Collaboration diagram for FSIcouplingCE:

Public Types

typedef Epetra_Comm comm_Type
 
typedef std::shared_ptr< comm_TypecommPtr_Type
 
typedef RegionMesh< LinearTetramesh_Type
 
typedef std::shared_ptr< mesh_TypemeshPtr_Type
 
typedef MapEpetra map_Type
 
typedef std::shared_ptr< map_TypemapPtr_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef std::shared_ptr< matrix_TypematrixPtr_Type
 
typedef std::shared_ptr< VectorEpetravectorPtr_Type
 
typedef FESpace< mesh_Type, map_TypeFESpace_Type
 
typedef std::shared_ptr< FESpace_TypeFESpacePtr_Type
 

Public Member Functions

 FSIcouplingCE (const commPtr_Type &communicator)
 Constructor. More...
 
 ~FSIcouplingCE ()
 Destructor. More...
 

Private Attributes

commPtr_Type M_comm
 communicator More...
 
matrixPtr_Type M_lambdaToFluidMomentum
 
matrixPtr_Type M_lambdaToStructureMomentum
 
matrixPtr_Type M_fluidVelocityToLambda
 
matrixPtr_Type M_structureDisplacementToLambda
 
matrixPtr_Type M_structureDisplacementToFluidDisplacement
 
FESpacePtr_Type M_fluidVelocityFESpace
 
FESpacePtr_Type M_structureDisplacementFESpace
 
mapPtr_Type M_interfaceMap
 
vectorPtr_Type M_numerationInterface
 
Real M_interface
 
Real M_timeStep
 
Real M_beta
 
Real M_gamma
 
Real M_coefficientBDF
 

Methods

void buildBlocks (std::map< ID, ID > const &locDofMap, const bool &lambda_num_structure, bool useBDF=false)
 Builds the coupling blocks. More...
 
void setUp (const Real &timeStep, const Real &interfaceDofs, const Real &beta, const Real &gamma, const mapPtr_Type &interfaceMap, const FESpacePtr_Type &fluidVelocityFESpace, const FESpacePtr_Type &structureDisplacementFESpace, const vectorPtr_Type &numerationInterface)
 Set parameters. To be used when Newmark is used on the structure. More...
 
void setUp (const Real &timeStep, const Real &interfaceDofs, const Real &coefficientBDF, const mapPtr_Type &interfaceMap, const FESpacePtr_Type &fluidVelocityFESpace, const FESpacePtr_Type &structureDisplacementFESpace, const vectorPtr_Type &numerationInterface)
 Set parameters. To be used when Newmark is used on the structure. More...
 

Get Methods

matrixPtr_Type lambdaToFluidMomentum () const
 
matrixPtr_Type lambdaToStructureMomentum () const
 
matrixPtr_Type fluidVelocityToLambda () const
 
matrixPtr_Type structureDisplacementToLambda () const
 
matrixPtr_Type structureDisplacementToFluidDisplacement () const
 

Detailed Description

FSIcouplingCE - File handling the coupling blocks when conforming discretizations are used.

Author
Davide Forti

Definition at line 62 of file FSIcouplingCE.hpp.

Member Typedef Documentation

◆ comm_Type

typedef Epetra_Comm comm_Type

Definition at line 68 of file FSIcouplingCE.hpp.

◆ commPtr_Type

typedef std::shared_ptr< comm_Type > commPtr_Type

Definition at line 69 of file FSIcouplingCE.hpp.

◆ mesh_Type

Definition at line 71 of file FSIcouplingCE.hpp.

◆ meshPtr_Type

typedef std::shared_ptr<mesh_Type> meshPtr_Type

Definition at line 72 of file FSIcouplingCE.hpp.

◆ map_Type

Definition at line 74 of file FSIcouplingCE.hpp.

◆ mapPtr_Type

typedef std::shared_ptr<map_Type> mapPtr_Type

Definition at line 75 of file FSIcouplingCE.hpp.

◆ matrix_Type

Definition at line 77 of file FSIcouplingCE.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type

Definition at line 78 of file FSIcouplingCE.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<VectorEpetra> vectorPtr_Type

Definition at line 80 of file FSIcouplingCE.hpp.

◆ FESpace_Type

Definition at line 82 of file FSIcouplingCE.hpp.

◆ FESpacePtr_Type

typedef std::shared_ptr<FESpace_Type> FESpacePtr_Type

Definition at line 83 of file FSIcouplingCE.hpp.

Constructor & Destructor Documentation

◆ FSIcouplingCE()

FSIcouplingCE ( const commPtr_Type communicator)

Constructor.

Definition at line 6 of file FSIcouplingCE.cpp.

◆ ~FSIcouplingCE()

Destructor.

Definition at line 11 of file FSIcouplingCE.cpp.

Member Function Documentation

◆ buildBlocks()

void buildBlocks ( std::map< ID, ID > const &  locDofMap,
const bool &  lambda_num_structure,
bool  useBDF = false 
)

Builds the coupling blocks.

Parameters
locDofMapmap with dofs at the fluid-structure interface
lambda_num_structureif true the DOFs at the interface are numbered wrt the solid mesh
useBDFif true supposes that for the structure a BDF scheme is used

Definition at line 45 of file FSIcouplingCE.cpp.

◆ setUp() [1/2]

void setUp ( const Real timeStep,
const Real interfaceDofs,
const Real beta,
const Real gamma,
const mapPtr_Type interfaceMap,
const FESpacePtr_Type fluidVelocityFESpace,
const FESpacePtr_Type structureDisplacementFESpace,
const vectorPtr_Type numerationInterface 
)

Set parameters. To be used when Newmark is used on the structure.

Parameters
timeStepvalue of the timestep used
interfaceDofsnumber of interface dofs
betabeta coefficient Newmark scheme
gammagamma coefficient Newmark scheme
interfaceMapmap interface dofs
fluidVelocityFESpaceFE space fluid velocity
structureDisplacementFESpaceFE space solid displacement
numerationInterfacevector with global numeration of dofs at the interface

Definition at line 16 of file FSIcouplingCE.cpp.

◆ setUp() [2/2]

void setUp ( const Real timeStep,
const Real interfaceDofs,
const Real coefficientBDF,
const mapPtr_Type interfaceMap,
const FESpacePtr_Type fluidVelocityFESpace,
const FESpacePtr_Type structureDisplacementFESpace,
const vectorPtr_Type numerationInterface 
)

Set parameters. To be used when Newmark is used on the structure.

Parameters
timeStepvalue of the timestep used
interfaceDofsnumber of interface dofs
coefficientBDFcoefficient BDF scheme for first derivative structure
interfaceMapmap interface dofs
fluidVelocityFESpaceFE space fluid velocity
structureDisplacementFESpaceFE space solid displacement
numerationInterfacevector with global numeration of dofs at the interface

Definition at line 31 of file FSIcouplingCE.cpp.

◆ lambdaToFluidMomentum()

matrixPtr_Type lambdaToFluidMomentum ( ) const
inline

Definition at line 136 of file FSIcouplingCE.hpp.

◆ lambdaToStructureMomentum()

matrixPtr_Type lambdaToStructureMomentum ( ) const
inline

Definition at line 141 of file FSIcouplingCE.hpp.

◆ fluidVelocityToLambda()

matrixPtr_Type fluidVelocityToLambda ( ) const
inline

Definition at line 146 of file FSIcouplingCE.hpp.

◆ structureDisplacementToLambda()

matrixPtr_Type structureDisplacementToLambda ( ) const
inline

Definition at line 151 of file FSIcouplingCE.hpp.

◆ structureDisplacementToFluidDisplacement()

matrixPtr_Type structureDisplacementToFluidDisplacement ( ) const
inline

Definition at line 156 of file FSIcouplingCE.hpp.

Field Documentation

◆ M_comm

commPtr_Type M_comm
private

communicator

Definition at line 166 of file FSIcouplingCE.hpp.

◆ M_lambdaToFluidMomentum

matrixPtr_Type M_lambdaToFluidMomentum
private

Definition at line 168 of file FSIcouplingCE.hpp.

◆ M_lambdaToStructureMomentum

matrixPtr_Type M_lambdaToStructureMomentum
private

Definition at line 169 of file FSIcouplingCE.hpp.

◆ M_fluidVelocityToLambda

matrixPtr_Type M_fluidVelocityToLambda
private

Definition at line 170 of file FSIcouplingCE.hpp.

◆ M_structureDisplacementToLambda

matrixPtr_Type M_structureDisplacementToLambda
private

Definition at line 171 of file FSIcouplingCE.hpp.

◆ M_structureDisplacementToFluidDisplacement

matrixPtr_Type M_structureDisplacementToFluidDisplacement
private

Definition at line 172 of file FSIcouplingCE.hpp.

◆ M_fluidVelocityFESpace

FESpacePtr_Type M_fluidVelocityFESpace
private

Definition at line 174 of file FSIcouplingCE.hpp.

◆ M_structureDisplacementFESpace

FESpacePtr_Type M_structureDisplacementFESpace
private

Definition at line 175 of file FSIcouplingCE.hpp.

◆ M_interfaceMap

mapPtr_Type M_interfaceMap
private

Definition at line 177 of file FSIcouplingCE.hpp.

◆ M_numerationInterface

vectorPtr_Type M_numerationInterface
private

Definition at line 179 of file FSIcouplingCE.hpp.

◆ M_interface

Real M_interface
private

Definition at line 181 of file FSIcouplingCE.hpp.

◆ M_timeStep

Real M_timeStep
private

Definition at line 182 of file FSIcouplingCE.hpp.

◆ M_beta

Real M_beta
private

Definition at line 183 of file FSIcouplingCE.hpp.

◆ M_gamma

Real M_gamma
private

Definition at line 184 of file FSIcouplingCE.hpp.

◆ M_coefficientBDF

Real M_coefficientBDF
private

Definition at line 185 of file FSIcouplingCE.hpp.


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