18#include "CoupledBoundaryCondition.h"
19#include "FourierInterpolation.h"
20#include "Parameters.h"
21#include "RobinBoundaryCondition.h"
22#include "SolutionStates.h"
25#include "ActiveStress.h"
31#include "fils_struct.hpp"
33#include "Parameters.h"
35#include "ArtificialNeuralNetMaterial.h"
54 bool defined() {
return dof != 0; };
135 std::string robin_vtp_file =
"";
138 double resistance = 0.0;
218 consts::ElementType eType = consts::ElementType::NA;
257 std::string file_name;
258 std::string mesh_name;
288 consts::ConstitutiveModelType volType = consts::ConstitutiveModelType::stIso_NA;
294 consts::ConstitutiveModelType isoType = consts::ConstitutiveModelType::stIso_NA;
339 consts::FluidViscosityModelType viscType = consts::FluidViscosityModelType::viscType_NA;
364 consts::SolidViscosityModelType viscType = consts::SolidViscosityModelType::viscType_NA;
383 consts::EquationType phys = consts::EquationType::phys_NA;
390 std::map<consts::PhysicalPropertyType,double> prop;
485 consts::ElementType eType = consts::ElementType::NA;
556 std::vector<fsType> fs;
559 double qmTRI3 = 2.0/3.0;
565 bool boundary_integral =
false;
566 bool spatial =
false;
567 bool volume_integral =
false;
569 bool no_options_set() {
570 return !(boundary_integral | spatial | volume_integral);
573 void set_option(consts::OutputType type,
bool value)
575 if (type == consts::OutputType::boundary_integral) {
576 boundary_integral = value;
577 }
else if (type == consts::OutputType::spatial) {
579 }
else if (type == consts::OutputType::volume_integral) {
580 volume_integral = value;
595 consts::OutputNameType grp = consts::OutputNameType::outGrp_NA;
614 consts::SolverType
LS_type = consts::SolverType::lSolver_NA;
669 consts::ContactModelType cType = consts::ContactModelType::cntctM_NA;
691 consts::CplBCType bGrp = consts::CplBCType::cplBC_NA;
721 std::string oned_input_file;
738 std::string solver_library;
741 std::string configuration_file;
744 std::string coupling_type;
747 bool have_initial_flows =
false;
748 double initial_flows;
751 bool have_initial_pressures =
false;
752 double initial_pressures;
756 bool has_data =
false;
828 consts::CplBCType
schm = consts::CplBCType::cplBC_NA;
871 std::vector<cplFaceType>
fa;
881 std::string dname =
"";
911 consts::ElementType
eType = consts::ElementType::NA;
1060 std::vector<faceType>
fa;
1145 consts::EquationType
phys = consts::EquationType::phys_NA;
1269 consts::MeshGeneratorType
method = consts::MeshGeneratorType::RMSH_TETGEN;
1291 double maxRadRatio = 0.0;
1695 std::array<double,3> timeP;
1860 Array<double> Vinit;
1861 Array<double> Dinit;
1877 fsi_linear_solver::FSILS_lhsType
lhs;
1906 bool debug_active =
false;
The Array3 template class implements a simple interface to 3D arrays.
Definition Array3.h:25
Definition ArtificialNeuralNetMaterial.h:30
The ComMod class duplicates the data structures in the Fortran COMMOD module defined in MOD....
Definition ComMod.h:1597
std::string stopTrigName
Stop_trigger file name.
Definition ComMod.h:1781
ibType ib
IB: Immersed boundary data structure.
Definition ComMod.h:1898
int stFileIncr
Increment in saving restart file.
Definition ComMod.h:1738
int nITs
Number of initialization time steps.
Definition ComMod.h:1723
bool ibFlag
Whether any Immersed Boundary (IB) treatment is required.
Definition ComMod.h:1658
Vector< int > colPtr
Column pointer (for sparse LHS matrix structure) Modified in: lhsa()
Definition ComMod.h:1792
bool zeroAve
Reset averaging variables from zero.
Definition ComMod.h:1637
std::string saveName
Saved output file name.
Definition ComMod.h:1775
std::vector< Array2D > grisMapList
RIS mapping array, with global (total) enumeration.
Definition ComMod.h:1825
int nMsh
Number of meshes.
Definition ComMod.h:1714
chnlType std
Input/output to the screen is handled by this structure.
Definition ComMod.h:1883
bool savedOnce
Whether any file being saved.
Definition ComMod.h:1622
risFaceType ris
risFace object
Definition ComMod.h:1901
bool stFileRepl
Whether to overwrite restart file or not.
Definition ComMod.h:1628
Array< double > varWallProps
CMM-variable wall properties: 1-thickness, 2-Elasticity modulus.
Definition ComMod.h:1864
Array< double > x
Position vector of mesh nodes (in ref config)
Definition ComMod.h:1834
bool cmmVarWall
Whether variable wall properties are used for CMM.
Definition ComMod.h:1643
std::array< int, 7 > stamp
Stamp ID to make sure simulation is compatible with stFiles.
Definition ComMod.h:1735
Array< double > Ad
Time derivative of displacement.
Definition ComMod.h:1845
int cTS
Current time step.
Definition ComMod.h:1693
int dof
Current equation degrees of freedom.
Definition ComMod.h:1701
bool urisFlag
Whether any URIS surface is considered.
Definition ComMod.h:1670
int gtnNo
Global total number of nodes, across all meshes (total) and all procs (global)
Definition ComMod.h:1705
std::string stFileName
Restart file name.
Definition ComMod.h:1778
int tnNo
Total number of nodes (number of nodes on current proc across all meshes)
Definition ComMod.h:1745
int nsd
Number of spatial dimensions.
Definition ComMod.h:1717
int nFacesLS
Number of faces in the LHS passed to FSILS.
Definition ComMod.h:1711
int nsymd
Number of stress values to be stored.
Definition ComMod.h:1751
bool ichckIEN
Check IEN array for initial mesh.
Definition ComMod.h:1634
std::string iniFilePath
Initialization file path.
Definition ComMod.h:1772
Vector< int > rowPtr
Row pointer (for sparse LHS matrix structure) Modified in: lhsa()
Definition ComMod.h:1802
std::string precompFileName
Precomputed state-variable file name.
Definition ComMod.h:1784
std::vector< Array2D > risMapList
RIS mapping array, with local (mesh) enumeration.
Definition ComMod.h:1822
int cEq
Current equation.
Definition ComMod.h:1690
Vector< int > cmmBdry
Boundary nodes set for CMM initialization and for zeroing-out non-wall nodal displacements.
Definition ComMod.h:1810
Array< double > Val
LHS matrix.
Definition ComMod.h:1831
std::vector< bool > urisFluidNodeMask
Fluid-related node mask for URIS SDF. Built once when consistent with tnNo; rebuilt automatically if ...
Definition ComMod.h:1680
bool bin2VTK
Postprocess step - convert bin to vtk.
Definition ComMod.h:1661
bool saveAve
Whether to averaged results.
Definition ComMod.h:1612
bool saveVTK
Whether to save to VTK files.
Definition ComMod.h:1619
int tDof
Total number of degrees of freedom per node.
Definition ComMod.h:1741
std::vector< urisType > uris
unfitted RIS object
Definition ComMod.h:1904
bool ris0DFlag
Whether any one-sided RIS surface with 0D coupling is considered.
Definition ComMod.h:1667
bool risFlag
Whether any RIS surface is considered.
Definition ComMod.h:1664
std::string precompFieldName
Precomputed state-variable field name.
Definition ComMod.h:1787
bool cmmInit
Whether CMM equation is initialized.
Definition ComMod.h:1640
Array< double > Rd
Residual of the displacement equation.
Definition ComMod.h:1848
cplBCType cplBC
Coupled BCs structures used for multidomain simulations.
Definition ComMod.h:1871
double time
Time.
Definition ComMod.h:1766
bool pstEq
Whether PRESTRESS is being solved.
Definition ComMod.h:1649
bool resetSim
Restart simulation after remeshing.
Definition ComMod.h:1631
double dt
Time step size.
Definition ComMod.h:1760
bool urisActFlag
Whether the URIS surface is active.
Definition ComMod.h:1673
Array< double > R
Residual vector.
Definition ComMod.h:1828
rmshType rmsh
Remesher type.
Definition ComMod.h:1892
int saveIncr
Increment in saving solutions.
Definition ComMod.h:1732
bool usePrecomp
Whether to use precomputed state-variable solutions.
Definition ComMod.h:1683
ioType io
To group above channels.
Definition ComMod.h:1886
cntctModelType cntctM
Contact model type.
Definition ComMod.h:1895
int RisnbrIter
Nbr of iterations.
Definition ComMod.h:1754
bool alwaysSaveDomainID
Whether to save the domain ID to every VTK file rather than to the first one only.
Definition ComMod.h:1616
cmType cm
The general communicator.
Definition ComMod.h:1889
int nUris
Number of URIS surfaces (uninitialized, to be set later)
Definition ComMod.h:1676
int startTS
Starting time step.
Definition ComMod.h:1698
Vector< int > idMap
Array that maps global node id to rowN in the matrix Modified in: lhsa()
Definition ComMod.h:1806
bool stFileFlag
Whether start from beginning or from simulations.
Definition ComMod.h:1625
bool shlEq
Whether shell equation is being solved.
Definition ComMod.h:1646
std::vector< eqType > eq
All data related to equations are stored in this container.
Definition ComMod.h:1874
bool iCntct
Whether to detect and apply any contact model.
Definition ComMod.h:1655
double precompDt
Time step size of the precomputed state-variables.
Definition ComMod.h:1763
bool dFlag
Whether there is a requirement to update mesh and Dn-Do variables.
Definition ComMod.h:1606
int cDmn
Current domain.
Definition ComMod.h:1687
int nTS
Number of time steps.
Definition ComMod.h:1720
int nEq
Number of equations.
Definition ComMod.h:1708
Vector< int > iblank
IB: iblank used for immersed boundaries (1 => solid, 0 => fluid)
Definition ComMod.h:1813
Array< double > Kd
LHS matrix for displacement equation.
Definition ComMod.h:1851
std::vector< mshType > msh
All the meshes are stored in this variable.
Definition ComMod.h:1880
int recLn
stFiles record length
Definition ComMod.h:1726
int rsTS
Restart Time Step.
Definition ComMod.h:1748
bool mvMsh
Whether mesh is moving.
Definition ComMod.h:1609
Vector< double > Pinit
Temporary storage for initializing state variables.
Definition ComMod.h:1859
Vector< int > ltg
Local to global pointer tnNo --> gtnNo.
Definition ComMod.h:1798
fsi_linear_solver::FSILS_lhsType lhs
FSILS data structure to produce LHS sparse matrix.
Definition ComMod.h:1877
Array< double > Bf
Body force.
Definition ComMod.h:1837
Vector< int > dmnId
Domain ID.
Definition ComMod.h:1795
Array< double > pS0
Variables for prestress calculations.
Definition ComMod.h:1854
int saveATS
Start saving after this number of time step.
Definition ComMod.h:1729
bool sstEq
Whether velocity-pressure based structural dynamics solver is used.
Definition ComMod.h:1652
Object-oriented Coupled boundary condition.
Definition CoupledBoundaryCondition.h:199
Fourier interpolation of time dependent data.
Definition FourierInterpolation.h:113
The LinearAlgebra class provides an abstract interface to linear algebra frameworks: FSILS,...
Definition LinearAlgebra.h:13
Moving boundary data structure (used for general BC)
Definition ComMod.h:51
Definition RobinBoundaryCondition.h:37
Keep track of time.
Definition Timer.h:11
The Vector template class is used for storing int and double data.
Definition Vector.h:26
Mesh adjacency (neighboring element for each element)
Definition ComMod.h:415
Boundary condition data type.
Definition ComMod.h:95
Class storing data for B-Splines.
Definition ComMod.h:179
Cardiac electrophysiology model type.
Definition CepMod.h:144
Channel type, used in I/O.
Definition ChnlMod.h:19
The cmType class stores data and defines methods used for mpi communication.
Definition CmMod.h:56
Contact model type.
Definition ComMod.h:666
For coupled 0D-3D problems.
Definition ComMod.h:790
consts::CplBCType schm
Implicit/Explicit/Semi-implicit schemes.
Definition ComMod.h:828
bool initRCR
Whether to initialize RCR from flow data.
Definition ComMod.h:810
bool useSvOneD
Whether to use svOneD (svOneDSolver)
Definition ComMod.h:807
int nX
Number of unknowns in the 0D domain.
Definition ComMod.h:822
int nFa
Number of coupled faces.
Definition ComMod.h:813
svZeroDSolverInterfaceData svzerod_solver_interface
Data structure used for coupling with svZeroD code.
Definition ComMod.h:852
Vector< double > xo
Old time step unknowns in the 0D domain.
Definition ComMod.h:865
std::vector< std::pair< int, int > > svZeroD_coupled_bc_idxs
(iEq, iBc) for each svZeroD coupled BC in deterministic traversal order.
Definition ComMod.h:819
int nSvZeroD_coupled_bc
Number of Time_dependence Coupled BCs for svZeroD (set in init_svZeroD).
Definition ComMod.h:816
bool useGenBC
Whether to use genBC.
Definition ComMod.h:801
double finite_difference_relative_perturbation
Flow-rate perturbation used to finite-difference the coupled-BC tangent dP/dQ in set_bc::calc_der_cpl...
Definition ComMod.h:842
std::string binPath
Path to the 0D code binary file.
Definition ComMod.h:845
std::string saveName
The name of history file containing "X".
Definition ComMod.h:858
std::string commuName
File name for communication between 0D and 3D.
Definition ComMod.h:848
unsigned int equationIndex
Index of the equation that this condition is associated with.
Definition ComMod.h:795
bool coupled
Is multi-domain active.
Definition ComMod.h:798
std::vector< cplFaceType > fa
Data structure used for communicating with 0D code.
Definition ComMod.h:871
double finite_difference_absolute_perturbation
Absolute floor on the flow-rate perturbation used to finite-difference the coupled-BC tangent dP/dQ i...
Definition ComMod.h:835
Vector< double > xp
Output variables to be printed.
Definition ComMod.h:868
bool useSvZeroD
Whether to use svZeroD.
Definition ComMod.h:804
Vector< double > xn
New time step unknowns in the 0D domain.
Definition ComMod.h:862
int nXp
Number of output variables addition to nX.
Definition ComMod.h:825
svOneDSolverInterfaceData svOneD_solver_interface
Data structure used for coupling with svOneD code.
Definition ComMod.h:855
This type will be used to write data in the VTK files.
Definition ComMod.h:1230
Domain type is to keep track with element belong to which domain and also different physical quantiti...
Definition ComMod.h:374
std::string active_stress_model_name
Active stress model name.
Definition ComMod.h:397
std::shared_ptr< ActiveStress > active_stress
Active stress model.
Definition ComMod.h:400
Equation type.
Definition ComMod.h:1084
LinearAlgebra * linear_algebra
Interface to a numerical linear algebra library.
Definition ComMod.h:1194
double roInf
Definition ComMod.h:1172
int maxItr
Maximum iteration for this eq.
Definition ComMod.h:1115
int s
Pointer to start of unknown Yo(:,s:e)
Definition ComMod.h:1109
int nDmnIB
IB: Number of immersed domains.
Definition ComMod.h:1133
bool coupled
Should be satisfied in a coupled/uncoupled fashion.
Definition ComMod.h:1090
bool ok
Satisfied/not satisfied.
Definition ComMod.h:1094
int nBcIB
Number of BCs on immersed surfaces.
Definition ComMod.h:1139
std::string sym
Equation symbol.
Definition ComMod.h:1178
bool expl_geom_cpl
Explicit geometry coupling.
Definition ComMod.h:1221
bool assmTLS
Use C++ Trilinos framework for assembly and for linear solvers.
Definition ComMod.h:1100
lsType ls
type of linear solver
Definition ComMod.h:1182
std::vector< outputType > outIB
IB: Outputs.
Definition ComMod.h:1215
double tol
Accepted relative tolerance.
Definition ComMod.h:1175
bool useTLS
Use C++ Trilinos framework for the linear solvers.
Definition ComMod.h:1097
int itr
Number of performed iterations.
Definition ComMod.h:1112
double gam
Definition ComMod.h:1163
std::vector< outputType > outURIS
URIS: Outputs.
Definition ComMod.h:1218
int nBc
Number of BCs.
Definition ComMod.h:1136
int e
Pointer to end of unknown Yo(:,s:e)
Definition ComMod.h:1106
std::vector< dmnType > dmn
domains that this equation must be solved
Definition ComMod.h:1206
consts::PreconditionerType linear_algebra_preconditioner
The type of preconditioner used by the interface to a numerical linear algebra library.
Definition ComMod.h:1191
int nOutIB
IB: Number of possible outputs.
Definition ComMod.h:1124
double am
Definition ComMod.h:1157
double iNorm
Initial norm of residual.
Definition ComMod.h:1166
consts::LinearAlgebraType linear_algebra_assembly_type
The type of assembly interface to a numerical linear algebra library.
Definition ComMod.h:1188
consts::LinearAlgebraType linear_algebra_type
The type of interface to a numerical linear algebra library.
Definition ComMod.h:1185
int nOutURIS
URIS: Number of possible outputs.
Definition ComMod.h:1127
std::vector< bfType > bf
Body force associated with this equation.
Definition ComMod.h:1224
double pNorm
First iteration norm.
Definition ComMod.h:1169
double af
Definition ComMod.h:1150
int nBf
Number of BFs.
Definition ComMod.h:1142
int nDmn
Number of domains.
Definition ComMod.h:1130
int nOutput
Number of possible outputs.
Definition ComMod.h:1121
std::vector< dmnType > dmnIB
IB: immersed domains that this equation must be solved.
Definition ComMod.h:1209
std::vector< bcType > bc
BCs associated with this equation;.
Definition ComMod.h:1200
std::vector< bcType > bcIB
IB: BCs associated with this equation on immersed surfaces.
Definition ComMod.h:1203
int dof
Degrees of freedom.
Definition ComMod.h:1103
fsi_linear_solver::FSILS_lsType FSILS
FSILS type of linear solver.
Definition ComMod.h:1197
consts::EquationType phys
Type of equation fluid/heatF/heatS/lElas/FSI.
Definition ComMod.h:1145
std::vector< outputType > output
Outputs.
Definition ComMod.h:1212
double beta
Definition ComMod.h:1160
int minItr
Minimum iteration for this eq.
Definition ComMod.h:1118
The face type containing mesh at boundary.
Definition ComMod.h:469
void destroy()
Free memory and reset some data members.
Definition ComMod.cpp:121
Fluid viscosity model type.
Definition ComMod.h:335
Function spaces (basis) type.
Definition ComMod.h:206
void destroy()
SUBROUTINE DESTROYFS(fs)
Definition ComMod.cpp:158
Vector< int > nG
Num traces (Gauss points) local to each process.
Definition ComMod.h:1318
Vector< int > n
Num traces (nodes) local to each process.
Definition ComMod.h:1312
Vector< int > gE
Pointer to global trace (Gauss point) stacked contiguously.
Definition ComMod.h:1321
Vector< int > gN
Pointer to global trace (node num) stacked contiguously.
Definition ComMod.h:1315
Immersed Boundary (IB) data type.
Definition ComMod.h:1328
Array< double > x
IB position coordinates.
Definition ComMod.h:1372
Array< double > Aun
Time derivative of displacement (new)
Definition ComMod.h:1381
int cpld
IB coupling.
Definition ComMod.h:1340
Array< double > Ku
LHS tangent matrix for displacement.
Definition ComMod.h:1411
int tnNo
Total number of IB nodes.
Definition ComMod.h:1354
Array< double > Un
Displacement (projected on background mesh, new, n+af)
Definition ComMod.h:1399
int cEq
Current equation.
Definition ComMod.h:1351
Array< double > R
Residual (FSI force)
Definition ComMod.h:1402
int intrp
IB interpolation method.
Definition ComMod.h:1344
Array< double > Uo
Displacement (projected on background mesh, old)
Definition ComMod.h:1396
Array< double > Yb
Velocity (new)
Definition ComMod.h:1375
Array< double > Ubn
Displacement (new)
Definition ComMod.h:1390
int cDmn
Current IB domain ID.
Definition ComMod.h:1348
double callD[4]
IB call duration (1: total time; 2: update; 3,4: communication)
Definition ComMod.h:1360
ibCommType cm
IB communicator.
Definition ComMod.h:1417
Vector< int > rowPtr
Row pointer (for sparse LHS matrix storage)
Definition ComMod.h:1366
Array< double > Rub
Residual (displacement, IB mesh)
Definition ComMod.h:1408
bool savedOnce
Whether any file being saved.
Definition ComMod.h:1332
Vector< int > dmnID
IB Domain ID.
Definition ComMod.h:1363
Array< double > Auo
Time derivative of displacement (old)
Definition ComMod.h:1378
Array< double > Ubk
Displacement (n+af)
Definition ComMod.h:1393
int nMsh
Number of IB meshes.
Definition ComMod.h:1357
int mthd
IB method.
Definition ComMod.h:1336
std::vector< mshType > msh
DERIVED class VARIABLES IB meshes;.
Definition ComMod.h:1414
Array< double > Ubo
Displacement (old)
Definition ComMod.h:1387
Vector< int > colPtr
Column pointer (for sparse LHS matrix storage)
Definition ComMod.h:1369
Array< double > Ru
Residual (displacement, background mesh)
Definition ComMod.h:1405
Array< double > Auk
Time derivative of displacement (n+am)
Definition ComMod.h:1384
Only to group four channels, in case I rather have them as one variable.
Definition ChnlMod.h:50
Linear system of equations solver type.
Definition ComMod.h:610
double absTol
Absolute tolerance (IN)
Definition ComMod.h:641
int cN
Number of |x| norms (OUT)
Definition ComMod.h:632
int cD
Number of <x.y> dot products (OUT)
Definition ComMod.h:635
double fNorm
Final norm of residual (OUT)
Definition ComMod.h:650
double callD
Calling duration (OUT)
Definition ComMod.h:656
int reserve
Only for data alignment (-)
Definition ComMod.h:638
bool suc
Successful solving (OUT)
Definition ComMod.h:617
int mItr
Maximum iterations (IN)
Definition ComMod.h:620
consts::SolverType LS_type
LS solver (IN)
Definition ComMod.h:614
int itr
Number of iteration (OUT)
Definition ComMod.h:626
double relTol
Relative tolerance (IN)
Definition ComMod.h:644
double dB
Res. rduction in last itr. (OUT)
Definition ComMod.h:653
int sD
Space dimension (IN)
Definition ComMod.h:623
int cM
Number of Ax multiple (OUT)
Definition ComMod.h:629
double iNorm
Initial norm of residual (OUT)
Definition ComMod.h:647
This is the container for a mesh or NURBS patch, those specific to NURBS are noted.
Definition ComMod.h:878
int nNo
Number of nodes (control points) for 2D elements?
Definition ComMod.h:939
Vector< double > w
Gauss weights.
Definition ComMod.h:1008
std::vector< std::vector< int > > ordering
@breif ordering: node ordering for boundaries
Definition ComMod.h:966
Array< double > N
Parent shape function.
Definition ComMod.h:1020
traceType trc
IB: tracers.
Definition ComMod.h:1063
Array3< double > Ys
Solution field (displacement, velocity, pressure, etc.) for a known, potentially time-varying,...
Definition ComMod.h:1042
Vector< int > eDist
Element distribution between processors.
Definition ComMod.h:969
Vector< int > iGC
IB: Whether a cell is a ghost cell or not.
Definition ComMod.h:1002
adjType nAdj
Mesh nodal adjacency.
Definition ComMod.h:1048
Array< double > xib
Bounds on parameteric coordinates.
Definition ComMod.h:1014
adjType eAdj
Mesh element adjacency.
Definition ComMod.h:1051
int nG
Number of Gauss points for integration.
Definition ComMod.h:936
int nFa
Number of faces.
Definition ComMod.h:930
Array< double > x
Position coordinates (not always, however, as they get overwritten by read_vtu_pdata())
Definition ComMod.h:1017
std::vector< fsType > fs
Function spaces (basis)
Definition ComMod.h:1054
Array3< double > Nxx
Second derivatives of shape functions - used for shells & IGA davep double Nxx(:,:,...
Definition ComMod.h:1038
int gnNo
Global number of nodes (control points) on a single mesh.
Definition ComMod.h:921
double dx
IB: Mesh size parameter.
Definition ComMod.h:954
bool lShpF
Whether the shape function is linear.
Definition ComMod.h:902
Vector< int > lN
Global to local maping tnNo --> nNo.
Definition ComMod.h:993
Vector< int > otnIEN
gIEN mapper from old to new
Definition ComMod.h:987
int nFn
Number of fiber directions.
Definition ComMod.h:948
Vector< int > eRIS
RIS: flags of whether elemets are adjacent to RIS projections.
Definition ComMod.h:1067
Array< int > eIEN
Shells: extended IEN array with neighboring nodes.
Definition ComMod.h:996
Vector< int > gN
Global nodes maping nNo --> tnNo.
Definition ComMod.h:975
bool lFib
Whether the mesh is fibers (Purkinje)
Definition ComMod.h:908
double v
The volume of this mesh.
Definition ComMod.h:963
int eNoN
Number of nodes (control points) in a single element.
Definition ComMod.h:915
double scF
Mesh scale factor.
Definition ComMod.h:951
Vector< int > eId
Element domain ID number.
Definition ComMod.h:972
int gnEl
Global number of elements (knot spans)
Definition ComMod.h:918
double res
RIS resistance value.
Definition ComMod.h:957
Vector< int > partRIS
RIS: processor ids to change element partitions to.
Definition ComMod.h:1070
int nSl
Number of elements sample points to be outputs (NURBS)
Definition ComMod.h:942
Array< double > xi
Gauss integration points in parametric space.
Definition ComMod.h:1011
Array< double > fN
Fiber orientations stored at the element level - used for electrophysiology and solid mechanics.
Definition ComMod.h:1030
int nFs
Number of function spaces.
Definition ComMod.h:933
Array< int > sbc
Shells: boundary condition variable.
Definition ComMod.h:999
bool lShl
Whether the mesh is shell.
Definition ComMod.h:905
Array< double > Nb
Shape function bounds.
Definition ComMod.h:1023
Array< double > nV
Normal vector to each nodal point (for Shells)
Definition ComMod.h:1026
Vector< double > nW
Control points weights (NURBS)
Definition ComMod.h:1005
Array3< double > Nx
Parent shape functions gradient double Nx(:,:,:)
Definition ComMod.h:1034
std::vector< faceType > fa
Faces are stored in this variable.
Definition ComMod.h:1060
Vector< int > gpN
GLobal projected nodes mapping projected -> unprojected mapping.
Definition ComMod.h:978
Array< int > gIEN
Global connectivity array mappig eNoN,nEl --> gnNo.
Definition ComMod.h:981
int vtkType
The element type recognized by VTK format.
Definition ComMod.h:945
int nEl
Number of elements (knot spans)
Definition ComMod.h:927
consts::ElementType eType
Element type.
Definition ComMod.h:911
int nEf
Number of element face. Used for reading Gambit mesh files.
Definition ComMod.h:924
std::string name
Mesh Name.
Definition ComMod.h:1045
std::vector< bsType > bs
BSpline in different directions (NURBS)
Definition ComMod.h:1057
double tol
RIS projection tolerance.
Definition ComMod.h:960
Array< int > IEN
The connectivity array mapping eNoN,nEl --> nNo.
Definition ComMod.h:984
double qmTET4
TET4 quadrature modifier.
Definition ComMod.h:1073
Array< int > INN
Local knot pointer (NURBS)
Definition ComMod.h:990
Declared type for outputed variables.
Definition ComMod.h:588
Data type for Resistive Immersed Surface.
Definition ComMod.h:1423
Array3< int > lst
List of meshes, and faces connected. The first face is the.
Definition ComMod.h:1434
std::vector< bool > status
Status RIS interface.
Definition ComMod.h:1449
Vector< double > Res
Resistance value.
Definition ComMod.h:1437
Vector< int > nbrIter
Count time steps where no check is needed.
Definition ComMod.h:1430
Array< double > meanP
Mean distal and proximal pressure (1: distal, 2: proximal)
Definition ComMod.h:1443
int nbrRIS
Number of RIS surface.
Definition ComMod.h:1427
Vector< double > meanFl
Mean flux on the RIS surface.
Definition ComMod.h:1446
std::vector< bool > clsFlg
Flag closed surface active, the valve is considerd open initially.
Definition ComMod.h:1440
Vector< double > iNorm
Initial norm of an equation.
Definition ComMod.h:1297
int rTS
Time step from which remeshing is done.
Definition ComMod.h:1275
int freq
Time step frequency for forced remeshing.
Definition ComMod.h:1284
int cpVar
Time step freq for saving data.
Definition ComMod.h:1278
Array< double > A0
Copy of solution variables where remeshing starts.
Definition ComMod.h:1300
int cntr
Counter to track number of remesh done.
Definition ComMod.h:1272
std::vector< bool > flag
Flag is set if remeshing is required for each mesh.
Definition ComMod.h:1305
double time
Time where remeshing starts.
Definition ComMod.h:1287
consts::MeshGeneratorType method
Method for remeshing: 1-TetGen, 2-MeshSim.
Definition ComMod.h:1269
double minDihedAng
Mesh quality parameters.
Definition ComMod.h:1290
int fTS
Time step at which forced remeshing is done.
Definition ComMod.h:1281
Vector< double > maxEdgeSize
Edge size of mesh.
Definition ComMod.h:1294
bool isReqd
Whether remesh is required for problem or not.
Definition ComMod.h:1266
Fluid viscosity model type.
Definition ComMod.h:360
Structural domain type.
Definition ComMod.h:285
Stores information used to interface with svOneDSolver.
Definition ComMod.h:767
bool has_data
True if the svOneDSolver interface settings were read from XML.
Definition ComMod.h:779
void set_data(const svOneDSolverInterfaceParameters ¶ms)
Read svOneDSolver interface settings from parsed parameters.
Definition ComMod.cpp:220
std::string solver_library
Path to the svOneDSolver interface shared library.
Definition ComMod.h:773
Parameters for coupling to the svOneDSolver (1D blood-flow solver).
Definition Parameters.h:722
Parameters for coupling to the svZeroDSolver (0D lumped-parameter solver).
Definition Parameters.h:673
Tracer type used for immersed boundaries. Identifies traces of nodes and integration points on backgr...
Definition ComMod.h:434
Unfitted Resistive Immersed Surface (URIS) data type.
Definition ComMod.h:1472
Array< double > Yd
Valve displacement.
Definition ComMod.h:1497
Array< double > valve_velocity_fluid
Valve velocity interpolated on background fluid mesh nodes.
Definition ComMod.h:1547
int nFa
Number of immersed boundary meshes.
Definition ComMod.h:1485
double scF
Mesh scale factor.
Definition ComMod.h:1550
bool sdf_computed
Flag indicating whether the signed distance function is computed.
Definition ComMod.h:1541
bool scaffold_udf_computed
Flag indicating whether the scaffold mesh UDF is computed.
Definition ComMod.h:1588
Vector< int > localNode
Per-node ownership flag set by uris_find_tetra.
Definition ComMod.h:1573
mshType scaffold_msh
Scaffold mesh data.
Definition ComMod.h:1582
double meanPD
Mean pressure downstream.
Definition ComMod.h:1556
Array< double > x
Valve surface position coordinates.
Definition ComMod.h:1488
double sdf_deps_close
Half-thickness used when the valve is closed.
Definition ComMod.h:1509
std::vector< mshType > msh
Immersed boundary meshes.
Definition ComMod.h:1576
int cnt
Iteration count.
Definition ComMod.h:1538
bool include_uris_velocity
Whether to include the valve velocity in the RIS implementation.
Definition ComMod.h:1523
double sdf_deps
Half-valve thickness when the valve is open.
Definition ComMod.h:1503
Array3< double > DxClose
Closing positions of the valve surfaces.
Definition ComMod.h:1529
Array< double > valve_velocity
Valve velocity on the valve surface nodes.
Definition ComMod.h:1494
int tnNo
Total number of immersed boundary nodes.
Definition ComMod.h:1482
bool clsFlg
Close flag.
Definition ComMod.h:1535
bool scaffold_flag
Whether a scaffold mesh is enabled for this URIS instance.
Definition ComMod.h:1579
Array< int > elemId
Background fluid mesh element containing each immersed surface node.
Definition ComMod.h:1566
bool invert_normal
Whether to invert the valve surface normal vector.
Definition ComMod.h:1520
Array< double > x_prev
Valve position coordinates at the previous time step.
Definition ComMod.h:1491
Vector< double > scaffold_udf
Unsigned distance function (UDF) for the scaffold mesh.
Definition ComMod.h:1585
double sdf_default
Default signed distance value away from the valve.
Definition ComMod.h:1500
bool savedOnce
Whether any file has been saved.
Definition ComMod.h:1479
Array3< double > DxOpen
Opening positions of the valve surfaces.
Definition ComMod.h:1526
std::string name
Name of the URIS instance.
Definition ComMod.h:1476
Vector< double > nrm
Normal vector pointing in the positive flow direction.
Definition ComMod.h:1532
double relax_factor
Relaxation factor to compute weighted averages of pressure values.
Definition ComMod.h:1559
Vector< double > sdf
Signed distance function indexed by background fluid mesh node.
Definition ComMod.h:1544
double resistance
Resistance value of the valve.
Definition ComMod.h:1512
double meanPU
Mean pressure upstream.
Definition ComMod.h:1553
TODO: for now, better to organize these within a class
Definition ComMod.h:1816
Store options for output types.
Definition ComMod.h:564