svMultiPhysics
Loading...
Searching...
No Matches
Classes | Public Attributes | List of all members
ComMod Class Reference

The ComMod class duplicates the data structures in the Fortran COMMOD module defined in MOD.f. More...

#include <ComMod.h>

Classes

struct  Array2D
 TODO: for now, better to organize these within a class
More...
 

Public Attributes

bool dFlag = false
 Whether there is a requirement to update mesh and Dn-Do variables.
 
bool mvMsh = false
 Whether mesh is moving.
 
bool saveAve = false
 Whether to averaged results.
 
bool saveVTK = false
 Whether to save to VTK files.
 
bool savedOnce = false
 Whether any file being saved.
 
bool sepOutput = false
 Whether to use separator in output.
 
bool stFileFlag = false
 Whether start from beginning or from simulations.
 
bool stFileRepl = false
 Whether to overwrite restart file or not.
 
bool resetSim = false
 Restart simulation after remeshing.
 
bool ichckIEN = false
 Check IEN array for initial mesh.
 
bool zeroAve = false
 Reset averaging variables from zero.
 
bool cmmInit = false
 Whether CMM equation is initialized.
 
bool cmmVarWall = false
 Whether variable wall properties are used for CMM.
 
bool shlEq = false
 Whether shell equation is being solved.
 
bool pstEq = false
 Whether PRESTRESS is being solved.
 
bool sstEq = false
 Whether velocity-pressure based structural dynamics solver is used.
 
bool iCntct = false
 Whether to detect and apply any contact model.
 
bool ibFlag = false
 Whether any Immersed Boundary (IB) treatment is required.
 
bool bin2VTK = false
 Postprocess step - convert bin to vtk.
 
bool risFlag = false
 Whether any RIS surface is considered.
 
bool ris0DFlag = false
 Whether any one-sided RIS surface with 0D coupling is considered.
 
bool urisFlag = false
 Whether any URIS surface is considered.
 
bool urisActFlag = false
 Whether the URIS surface is active.
 
int nUris
 Number of URIS surfaces (uninitialized, to be set later)
 
double urisRes
 URIS resistance.
 
double urisResClose
 URIS resistance when the valve is closed.
 
bool usePrecomp = false
 Whether to use precomputed state-variable solutions.
 
int cDmn = 0
 Current domain.
 
int cEq = 0
 Current equation.
 
int cTS = 0
 Current time step.
 
std::array< double, 3 > timeP
 
int startTS = 0
 Starting time step.
 
int dof = 0
 Current equation degrees of freedom.
 
int gtnNo = 0
 Global total number of nodes, across all meshes (total) and all procs (global)
 
int nEq = 0
 Number of equations.
 
int nFacesLS = 0
 Number of faces in the LHS passed to FSILS.
 
int nMsh = 0
 Number of meshes.
 
int nsd = 0
 Number of spatial dimensions.
 
int nTS = 0
 Number of time steps.
 
int nITs = 0
 Number of initialization time steps.
 
int recLn = 0
 stFiles record length
 
int saveATS = 0
 Start saving after this number of time step.
 
int saveIncr = 0
 Increment in saving solutions.
 
std::array< int, 7 > stamp
 Stamp ID to make sure simulation is compatible with stFiles.
 
int stFileIncr = 0
 Increment in saving restart file.
 
int tDof = 0
 Total number of degrees of freedom per node.
 
int tnNo = 0
 Total number of nodes (number of nodes on current proc across all meshes)
 
int rsTS = 0
 Restart Time Step.
 
int nsymd = 0
 Number of stress values to be stored.
 
int RisnbrIter = 0
 Nbr of iterations.
 
double dt = 0.0
 Time step size.
 
double precompDt = 0.0
 Time step size of the precomputed state-variables.
 
double time = 0.0
 Time.
 
std::string iniFilePath
 Initialization file path.
 
std::string saveName
 Saved output file name.
 
std::string stFileName
 Restart file name.
 
std::string stopTrigName
 Stop_trigger file name.
 
std::string precompFileName
 Precomputed state-variable file name.
 
std::string precompFieldName
 Precomputed state-variable field name.
 
Vector< int > colPtr
 Column pointer (for sparse LHS matrix structure) Modified in: lhsa()
 
Vector< int > dmnId
 Domain ID.
 
Vector< int > ltg
 Local to global pointer tnNo --> gtnNo.
 
Vector< int > rowPtr
 Row pointer (for sparse LHS matrix structure) Modified in: lhsa()
 
Vector< int > idMap
 Array that maps global node id to rowN in the matrix Modified in: lhsa()
 
Vector< int > cmmBdry
 Boundary nodes set for CMM initialization and for zeroing-out non-wall nodal displacements.
 
Vector< int > iblank
 IB: iblank used for immersed boundaries (1 => solid, 0 => fluid)
 
std::vector< Array2DrisMapList
 RIS mapping array, with local (mesh) enumeration.
 
std::vector< Array2DgrisMapList
 RIS mapping array, with global (total) enumeration.
 
Array< double > Ao
 Old time derivative of variables (acceleration); known result at current time step.
 
Array< double > An
 New time derivative of variables (acceleration); unknown result at next time step.
 
Array< double > Do
 Old integrated variables (displacement)
 
Array< double > Dn
 New integrated variables (displacement)
 
Array< double > R
 Residual vector.
 
Array< double > Val
 LHS matrix.
 
Array< double > x
 Position vector of mesh nodes (in ref config)
 
Array< double > Yo
 Old variables (velocity); known result at current time step.
 
Array< double > Yn
 New variables (velocity); unknown result at next time step.
 
Array< double > Bf
 Body force.
 
Array< double > Ad
 Time derivative of displacement.
 
Array< double > Rd
 Residual of the displacement equation.
 
Array< double > Kd
 LHS matrix for displacement equation.
 
Array< double > pS0
 Variables for prestress calculations.
 
Array< double > pSn
 
Vector< double > pSa
 
Vector< double > Pinit
 Temporary storage for initializing state variables.
 
Array< double > Vinit
 
Array< double > Dinit
 
Array< double > varWallProps
 CMM-variable wall properties: 1-thickness, 2-Elasticity modulus.
 
cplBCType cplBC
 Coupled BCs structures used for multidomain simulations.
 
std::vector< eqTypeeq
 All data related to equations are stored in this container.
 
fsi_linear_solver::FSILS_lhsType lhs
 FSILS data structure to produce LHS sparse matrix.
 
std::vector< mshTypemsh
 All the meshes are stored in this variable.
 
chnlType std
 Input/output to the screen is handled by this structure.
 
chnlType err
 
chnlType wrn
 
chnlType dbg
 
ioType io
 To group above channels.
 
cmType cm
 The general communicator.
 
rmshType rmsh
 Remesher type.
 
cntctModelType cntctM
 Contact model type.
 
ibType ib
 IB: Immersed boundary data structure.
 
risFaceType ris
 risFace object
 
std::vector< urisTypeuris
 unfitted RIS object
 
bool debug_active = false
 
Timer timer
 

Detailed Description

The ComMod class duplicates the data structures in the Fortran COMMOD module defined in MOD.f.

The data members here are the global variables exposed by the COMMOD module.

Member Data Documentation

◆ Ad

Array<double> ComMod::Ad

Time derivative of displacement.

◆ An

Array<double> ComMod::An

New time derivative of variables (acceleration); unknown result at next time step.

◆ Ao

Array<double> ComMod::Ao

Old time derivative of variables (acceleration); known result at current time step.

◆ Bf

Array<double> ComMod::Bf

Body force.

◆ bin2VTK

bool ComMod::bin2VTK = false

Postprocess step - convert bin to vtk.

◆ cDmn

int ComMod::cDmn = 0

Current domain.

◆ cEq

int ComMod::cEq = 0

Current equation.

◆ cm

cmType ComMod::cm

The general communicator.

◆ cmmBdry

Vector<int> ComMod::cmmBdry

Boundary nodes set for CMM initialization and for zeroing-out non-wall nodal displacements.

◆ cmmInit

bool ComMod::cmmInit = false

Whether CMM equation is initialized.

◆ cmmVarWall

bool ComMod::cmmVarWall = false

Whether variable wall properties are used for CMM.

◆ cntctM

cntctModelType ComMod::cntctM

Contact model type.

◆ colPtr

Vector<int> ComMod::colPtr

Column pointer (for sparse LHS matrix structure) Modified in: lhsa()

◆ cplBC

cplBCType ComMod::cplBC

Coupled BCs structures used for multidomain simulations.

◆ cTS

int ComMod::cTS = 0

Current time step.

◆ dFlag

bool ComMod::dFlag = false

Whether there is a requirement to update mesh and Dn-Do variables.

◆ dmnId

Vector<int> ComMod::dmnId

Domain ID.

◆ Dn

Array<double> ComMod::Dn

New integrated variables (displacement)

◆ Do

Array<double> ComMod::Do

Old integrated variables (displacement)

◆ dof

int ComMod::dof = 0

Current equation degrees of freedom.

◆ dt

double ComMod::dt = 0.0

Time step size.

◆ eq

std::vector<eqType> ComMod::eq

All data related to equations are stored in this container.

◆ grisMapList

std::vector<Array2D> ComMod::grisMapList

RIS mapping array, with global (total) enumeration.

◆ gtnNo

int ComMod::gtnNo = 0

Global total number of nodes, across all meshes (total) and all procs (global)

◆ ib

ibType ComMod::ib

IB: Immersed boundary data structure.

◆ ibFlag

bool ComMod::ibFlag = false

Whether any Immersed Boundary (IB) treatment is required.

◆ iblank

Vector<int> ComMod::iblank

IB: iblank used for immersed boundaries (1 => solid, 0 => fluid)

◆ ichckIEN

bool ComMod::ichckIEN = false

Check IEN array for initial mesh.

◆ iCntct

bool ComMod::iCntct = false

Whether to detect and apply any contact model.

◆ idMap

Vector<int> ComMod::idMap

Array that maps global node id to rowN in the matrix Modified in: lhsa()

◆ iniFilePath

std::string ComMod::iniFilePath

Initialization file path.

◆ io

ioType ComMod::io

To group above channels.

◆ Kd

Array<double> ComMod::Kd

LHS matrix for displacement equation.

◆ lhs

fsi_linear_solver::FSILS_lhsType ComMod::lhs

FSILS data structure to produce LHS sparse matrix.

◆ ltg

Vector<int> ComMod::ltg

Local to global pointer tnNo --> gtnNo.

◆ msh

std::vector<mshType> ComMod::msh

All the meshes are stored in this variable.

◆ mvMsh

bool ComMod::mvMsh = false

Whether mesh is moving.

◆ nEq

int ComMod::nEq = 0

Number of equations.

◆ nFacesLS

int ComMod::nFacesLS = 0

Number of faces in the LHS passed to FSILS.

◆ nITs

int ComMod::nITs = 0

Number of initialization time steps.

◆ nMsh

int ComMod::nMsh = 0

Number of meshes.

◆ nsd

int ComMod::nsd = 0

Number of spatial dimensions.

◆ nsymd

int ComMod::nsymd = 0

Number of stress values to be stored.

◆ nTS

int ComMod::nTS = 0

Number of time steps.

◆ nUris

int ComMod::nUris

Number of URIS surfaces (uninitialized, to be set later)

◆ Pinit

Vector<double> ComMod::Pinit

Temporary storage for initializing state variables.

◆ precompDt

double ComMod::precompDt = 0.0

Time step size of the precomputed state-variables.

◆ precompFieldName

std::string ComMod::precompFieldName

Precomputed state-variable field name.

◆ precompFileName

std::string ComMod::precompFileName

Precomputed state-variable file name.

◆ pS0

Array<double> ComMod::pS0

Variables for prestress calculations.

◆ pstEq

bool ComMod::pstEq = false

Whether PRESTRESS is being solved.

◆ R

Array<double> ComMod::R

Residual vector.

◆ Rd

Array<double> ComMod::Rd

Residual of the displacement equation.

◆ recLn

int ComMod::recLn = 0

stFiles record length

◆ resetSim

bool ComMod::resetSim = false

Restart simulation after remeshing.

◆ ris

risFaceType ComMod::ris

risFace object

◆ ris0DFlag

bool ComMod::ris0DFlag = false

Whether any one-sided RIS surface with 0D coupling is considered.

◆ risFlag

bool ComMod::risFlag = false

Whether any RIS surface is considered.

◆ risMapList

std::vector<Array2D> ComMod::risMapList

RIS mapping array, with local (mesh) enumeration.

◆ RisnbrIter

int ComMod::RisnbrIter = 0

Nbr of iterations.

◆ rmsh

rmshType ComMod::rmsh

Remesher type.

◆ rowPtr

Vector<int> ComMod::rowPtr

Row pointer (for sparse LHS matrix structure) Modified in: lhsa()

◆ rsTS

int ComMod::rsTS = 0

Restart Time Step.

◆ saveATS

int ComMod::saveATS = 0

Start saving after this number of time step.

◆ saveAve

bool ComMod::saveAve = false

Whether to averaged results.

◆ savedOnce

bool ComMod::savedOnce = false

Whether any file being saved.

◆ saveIncr

int ComMod::saveIncr = 0

Increment in saving solutions.

◆ saveName

std::string ComMod::saveName

Saved output file name.

◆ saveVTK

bool ComMod::saveVTK = false

Whether to save to VTK files.

◆ sepOutput

bool ComMod::sepOutput = false

Whether to use separator in output.

◆ shlEq

bool ComMod::shlEq = false

Whether shell equation is being solved.

◆ sstEq

bool ComMod::sstEq = false

Whether velocity-pressure based structural dynamics solver is used.

◆ stamp

std::array<int,7> ComMod::stamp

Stamp ID to make sure simulation is compatible with stFiles.

◆ startTS

int ComMod::startTS = 0

Starting time step.

◆ std

chnlType ComMod::std

Input/output to the screen is handled by this structure.

◆ stFileFlag

bool ComMod::stFileFlag = false

Whether start from beginning or from simulations.

◆ stFileIncr

int ComMod::stFileIncr = 0

Increment in saving restart file.

◆ stFileName

std::string ComMod::stFileName

Restart file name.

◆ stFileRepl

bool ComMod::stFileRepl = false

Whether to overwrite restart file or not.

◆ stopTrigName

std::string ComMod::stopTrigName

Stop_trigger file name.

◆ tDof

int ComMod::tDof = 0

Total number of degrees of freedom per node.

◆ time

double ComMod::time = 0.0

Time.

◆ tnNo

int ComMod::tnNo = 0

Total number of nodes (number of nodes on current proc across all meshes)

◆ uris

std::vector<urisType> ComMod::uris

unfitted RIS object

◆ urisActFlag

bool ComMod::urisActFlag = false

Whether the URIS surface is active.

◆ urisFlag

bool ComMod::urisFlag = false

Whether any URIS surface is considered.

◆ urisRes

double ComMod::urisRes

URIS resistance.

◆ urisResClose

double ComMod::urisResClose

URIS resistance when the valve is closed.

◆ usePrecomp

bool ComMod::usePrecomp = false

Whether to use precomputed state-variable solutions.

◆ Val

Array<double> ComMod::Val

LHS matrix.

◆ varWallProps

Array<double> ComMod::varWallProps

CMM-variable wall properties: 1-thickness, 2-Elasticity modulus.

◆ x

Array<double> ComMod::x

Position vector of mesh nodes (in ref config)

◆ Yn

Array<double> ComMod::Yn

New variables (velocity); unknown result at next time step.

◆ Yo

Array<double> ComMod::Yo

Old variables (velocity); known result at current time step.

◆ zeroAve

bool ComMod::zeroAve = false

Reset averaging variables from zero.


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