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