svFSIplus
Public Member Functions | 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>

Public Member Functions

 ComMod ()
 

Public Attributes

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

Constructor & Destructor Documentation

◆ ComMod()

ComMod::ComMod ( )

Copyright (c) Stanford University, The Regents of the University of California, and others.

All Rights Reserved.

See Copyright-SimVascular.txt for additional details.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Member Data Documentation

◆ Ad

Array<double> ComMod::Ad

Time derivative of displacement.

◆ An

Array<double> ComMod::An

New time derivative of variables.

◆ Ao

Array<double> ComMod::Ao

Old time derivative of variables (acceleration)

◆ 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.

◆ Do

Array<double> ComMod::Do

Old integrated variables (dissplacement)

◆ 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.

◆ gtnNo

int ComMod::gtnNo = 0

Global total number of nodes.

◆ 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.

◆ Pinit

Vector<double> ComMod::Pinit

Temporary storage for initializing state variables.

◆ 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.

◆ 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.

◆ tls

tlsType ComMod::tls

Trilinos Linear Solver data type.

◆ tnNo

int ComMod::tnNo = 0

Total number of nodes.

◆ 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.

◆ Yn

Array<double> ComMod::Yn

New variables.

◆ Yo

Array<double> ComMod::Yo

Old variables (velocity)

◆ zeroAve

bool ComMod::zeroAve = false

Reset averaging variables from zero.


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