ElmerFoamFSI  2.0
ElmerFoamFSI is fluid-solid interaction simulation application built up from OpenFOAM CFD and Elmer CSM coupled through the IMPACT multiphysics software integration infrastructure.
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Groups Pages
fsifoam_module Class Reference

Detailed Description

Definition at line 38 of file fsiFOAM.H.

#include <fsiFOAM.H>

Public Member Functions

 fsifoam_module ()
 
 fsifoam_module (int argc, char *argv[])
 
int Initialize (int argc, char *argv[])
 
int InitFluidMesh ()
 
int InitTransportProperties ()
 
int CreateFluidFields ()
 
int InitStructuresMesh ()
 
int CreateStructuresFields ()
 
int ReadCouplingProperties ()
 
int CreateInterZoneInterpolators ()
 
int FindGlobalFaceZones ()
 
int ReadPISOControls ()
 
int ReadFSIControls ()
 
int Step ()
 
int StepFluidAlone ()
 
int StepFluidNonItr ()
 
int StepFluidItr ()
 
int Dump ()
 
void InitFoam (int *pargc, void **pargv, int *verbIn)
 function to register through IMPACT More...
 
void RunFoam ()
 the OpenFOAM main More...
 
void StepFoam ()
 the OpenFOAM stepping More...
 
void StepFluid ()
 the OpenFOAM stepping fluid alone More...
 
Foam::Time & RunTime ()
 
Foam::argList & ArgList ()
 
dynamicFvMesh & FluidMesh ()
 
IOdictionary & TransportProperties ()
 
dimensionedScalar & nu ()
 
dimensionedScalar & rhoFluid ()
 
volScalarField & p ()
 
volVectorField & U ()
 
surfaceScalarField & phi ()
 
fvMesh & StructuresMesh ()
 
volVectorField & DU ()
 
volTensorField & gradDU ()
 
volVectorField & Usolid ()
 
volVectorField & DV ()
 
volVectorField & Vs ()
 
volSymmTensorField & sigma ()
 
volSymmTensorField & DSigma ()
 
constitutiveModel & Rheology ()
 
volScalarField & rhoSolid ()
 
volScalarField & mu ()
 
volScalarField & lambda ()
 
volTensorField & F ()
 
volTensorField & DF ()
 
volScalarField & J ()
 
word & SolidDdtScheme ()
 
pointMesh & pStressMesh ()
 
pointVectorField & PointDU ()
 
IOdictionary & CouplingProperties ()
 
label SolidPatchID ()
 
word SolidPatchName ()
 
label FluidPatchID ()
 
word FluidPatchName ()
 
word FluidZoneName ()
 
word SolidZoneName ()
 
label FluidZoneID ()
 
label SolidZoneID ()
 
bool FEMotion ()
 
bool FVMotion ()
 
vectorField & AccumulatedFluidInterfaceDisplacements ()
 
zoneToZoneInterpolation & interpFluidSolid ()
 
zoneToZoneInterpolation & interpSolidFluid ()
 
solidTractionFvPatchVectorField & tForce ()
 
scalar & LocalContErr ()
 
scalar & GlobalContErr ()
 
scalar & CumulativeContErr ()
 
labelList & GlobalFaceZones ()
 
labelListList & GlobalToLocalFaceZonePointMap ()
 
word CouplingScheme ()
 
scalar & FSIRelaxationFactor ()
 
scalar & FSIRelaxationFactorMin ()
 
Switch FSIEnabled ()
 
int & NCorrPISO ()
 
int & NNonOrthCorr ()
 
scalar & InterfaceDeformationLimit ()
 
scalar & OuterCorrTolerance ()
 
int & NOuterCorr ()
 
 fsifoam_module ()
 
 fsifoam_module (int argc, char *argv[])
 
int Initialize (int argc, char *argv[])
 
int InitFluidMesh ()
 
int InitTransportProperties ()
 
int CreateFluidFields ()
 
int InitStructuresMesh ()
 
int CreateStructuresFields ()
 
int ReadCouplingProperties ()
 
int CreateInterZoneInterpolators ()
 
int FindGlobalFaceZones ()
 
int ReadPISOControls ()
 
int ReadFSIControls ()
 
int Step ()
 
int StepFluidAlone ()
 
int StepFluidNonItr ()
 
int StepFluidItr ()
 
int Dump ()
 
int Rank ()
 
int Size ()
 
void InitFoam (int *pargc, void **pargv, int *verbIn)
 function to register through IMPACT More...
 
void RunFoam ()
 
void StepFoam ()
 
void StepFluid ()
 
Foam::Time & RunTime ()
 
Foam::argList & ArgList ()
 
dynamicFvMesh & FluidMesh ()
 
IOdictionary & TransportProperties ()
 
dimensionedScalar & nu ()
 
dimensionedScalar & rhoFluid ()
 
volScalarField & p ()
 
volVectorField & U ()
 
surfaceScalarField & phi ()
 
fvMesh & StructuresMesh ()
 
volVectorField & DU ()
 
volTensorField & gradDU ()
 
volVectorField & Usolid ()
 
volVectorField & DV ()
 
volVectorField & Vs ()
 
volSymmTensorField & sigma ()
 
volSymmTensorField & DSigma ()
 
constitutiveModel & Rheology ()
 
volScalarField & rhoSolid ()
 
volScalarField & mu ()
 
volScalarField & lambda ()
 
volTensorField & F ()
 
volTensorField & DF ()
 
volScalarField & J ()
 
word & SolidDdtScheme ()
 
pointMesh & pStressMesh ()
 
pointVectorField & PointDU ()
 
IOdictionary & CouplingProperties ()
 
label SolidPatchID ()
 
word SolidPatchName ()
 
label FluidPatchID ()
 
word FluidPatchName ()
 
word FluidZoneName ()
 
word SolidZoneName ()
 
label FluidZoneID ()
 
label SolidZoneID ()
 
bool FEMotion ()
 
bool FVMotion ()
 
vectorField & AccumulatedFluidInterfaceDisplacements ()
 
zoneToZoneInterpolation & interpFluidSolid ()
 
zoneToZoneInterpolation & interpSolidFluid ()
 
solidTractionFvPatchVectorField & tForce ()
 
scalar & LocalContErr ()
 
scalar & GlobalContErr ()
 
scalar & CumulativeContErr ()
 
labelList & GlobalFaceZones ()
 
labelListList & GlobalToLocalFaceZonePointMap ()
 
word CouplingScheme ()
 
scalar & FSIRelaxationFactor ()
 
scalar & FSIRelaxationFactorMin ()
 
Switch FSIEnabled ()
 
int & NCorrPISO ()
 
int & NNonOrthCorr ()
 
scalar & InterfaceDeformationLimit ()
 
scalar & OuterCorrTolerance ()
 
int & NOuterCorr ()
 

Static Public Member Functions

static void Load (const std::string &name)
 "Loads" IcoFoamModule More...
 
static void Unload (const std::string &name)
 Unloads the IcoFoamModule. More...
 
static void Load (const std::string &name)
 
static void Unload (const std::string &name)
 

Protected Member Functions

void CreateFSISurfaceMesh ()
 Initialization of the surface mesh data structures from the OpenFOAM mesh data structures. More...
 
void UpdateFSISurfaceMesh ()
 Update of the surface mesh data coordinates. More...
 
int UpdateFSISurface (Foam::vectorField &solidPatchPointsDispl)
 Update the nodal coordinates of the IMAPCT and OpenFoam FSI surfaces from the IMPACT displacement data. More...
 
void UpdateFSISurfaceData ()
 Update the data registered on the FSI surface. More...
 
void UpdateTime ()
 Update the time control data registered with OpenFOAM i.e. More...
 
void CreateFSISurfaceMesh ()
 Initialization of the surface mesh data structures from the OpenFOAM mesh data structures. More...
 
void UpdateFSISurfaceMesh ()
 Update of the surface mesh data coordinates. More...
 
int UpdateFSISurface (Foam::vectorField &solidPatchPointsDispl)
 Update the nodal coordinates of the IMAPCT and OpenFoam FSI surfaces from the IMPACT displacement data. More...
 
void UpdateFSISurfaceData ()
 Update the data registered on the FSI surface. More...
 
void UpdateTime ()
 Update the time control data registered with OpenFOAM i.e. More...
 

Protected Attributes

int numPointsSurface
 Tracks this window name. More...
 
int numElementsSurface
 
std::vector< double > surfaceCoordinates
 
std::vector< unsigned int > surfaceConnectivity
 
std::map< int, int > surfaceNodeMap
 
std::map< int, int > interfaceToFoamNodeMap
 
std::map< int, int > foamGlobalToPatchNodeMap
 
std::vector< double > surfacePressure
 
std::vector< double > surfaceTraction
 
std::vector< double > surfaceDisplacement
 
std::vector< double > solidDisplacement
 
std::vector< double > time
 
std::vector< double > deltaTime
 
int verbosity
 
std::vector< int > initStatus
 
std::vector< int > runStatus
 
std::vector< double > endTime
 
Foam::argList * argsPtr
 
Foam::Time * runTimePtr
 
autoPtr< dynamicFvMesh > meshPtr
 
IOdictionary * transportPropertiesPtr
 
dimensionedScalar * nuPtr
 
dimensionedScalar * rhoFluidPtr
 
volScalarField * pPtr
 
volVectorField * UPtr
 
surfaceScalarField * phiPtr
 
label pRefCell
 
scalar pRefValue
 
fvMesh * stressMeshPtr
 
volVectorField * DUPtr
 
volTensorField * gradDUPtr
 
volVectorField * UsolidPtr
 
volVectorField * DVPtr
 
volVectorField * VsPtr
 
volSymmTensorField * sigmaPtr
 
volSymmTensorField * DSigmaPtr
 
constitutiveModel * rheologyPtr
 
volScalarField * rhoPtr
 
volScalarField * muPtr
 
volScalarField * lambdaPtr
 
volTensorField * FPtr
 
volTensorField * DFPtr
 
volScalarField * JPtr
 
word * solidDdtSchemePtr
 
pointMesh * pStressMeshPtr
 
pointVectorField * pointDUPtr
 
IOdictionary * couplingPropertiesPtr
 
word solidPatchName
 
label solidPatchID
 
word solidZoneName
 
label solidZoneID
 
word fluidPatchName
 
label fluidPatchID
 
word fluidZoneName
 
label fluidZoneID
 
bool feMotionSolver
 
bool fvMotionSolver
 
IOobject * accumulatedFluidInterfaceDisplacementHeaderPtr
 
vectorField * accumulatedFluidInterfaceDisplacementPtr
 
zoneToZoneInterpolation * interpolatorFluidSolidPtr
 
zoneToZoneInterpolation * interpolatorSolidFluidPtr
 
pointPatchInterpolation * patchPointInterpolatorPtr
 
scalar sumLocalContErr
 
scalar globalContErr
 
scalar cumulativeContErr
 
labelList globalFaceZones
 
labelListList globalToLocalFaceZonePointMap
 
int nCorr
 
int nNonOrthCorr
 
bool momentumPredictor
 
bool transonic
 
int nOuterCorr
 
scalar CoNum
 
scalar meanCoNum
 
scalar velMag
 
word couplingScheme
 
scalar interfaceDeformationLimit
 
IOdictionary * dynamicMeshDictPtr
 
scalar fsiRelaxationFactor
 
scalar fsiRelaxationFactorMin
 
scalar outerCorrTolerance
 
Switch fsi
 
int rank
 Tracks window's communicator. More...
 
int nproc
 

Private Attributes

std::string my_window_name
 
MPI_Comm my_window_comm
 Tracks this window name. More...
 
Inheritance diagram for fsifoam_module:
[legend]
Collaboration diagram for fsifoam_module:
[legend]

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