38 #include <type_traits>
45 const double pi = 3.1415926535897932384626;
49 const int maxNProp = 20;
51 const int maxOutput = 5;
54 const int int_inf = std::numeric_limits<int>::infinity();
55 const double double_inf = std::numeric_limits<double>::infinity();
60 return static_cast<int>(value);
68 return (value != std::numeric_limits<T>::infinity());
136 constexpr
auto BC_CMM = BoundaryConditionType::bType_CMM;
137 constexpr
auto iBC_CMM =
static_cast<int>(BoundaryConditionType::bType_CMM);
139 constexpr
auto BC_cpl = BoundaryConditionType::bType_cpl;
140 constexpr
auto iBC_cpl =
static_cast<int>(BoundaryConditionType::bType_cpl);
142 constexpr
auto BC_Dir = BoundaryConditionType::bType_Dir;
143 constexpr
auto iBC_Dir =
static_cast<int>(BoundaryConditionType::bType_Dir);
145 constexpr
auto BC_fix = BoundaryConditionType::bType_fix;
146 constexpr
auto iBC_fix =
static_cast<int>(BoundaryConditionType::bType_fix);
148 constexpr
auto BC_flat = BoundaryConditionType::bType_flat;
149 constexpr
auto iBC_flat =
static_cast<int>(BoundaryConditionType::bType_flat);
151 constexpr
auto BC_free = BoundaryConditionType::bType_free;
152 constexpr
auto iBC_free =
static_cast<int>(BoundaryConditionType::bType_free);
154 constexpr
auto BC_gen = BoundaryConditionType::bType_gen;
155 constexpr
auto iBC_gen =
static_cast<int>(BoundaryConditionType::bType_gen);
157 constexpr
auto BC_hing = BoundaryConditionType::bType_hing;
158 constexpr
auto iBC_hing =
static_cast<int>(BoundaryConditionType::bType_hing);
160 constexpr
auto BC_impD = BoundaryConditionType::bType_impD;
161 constexpr
auto iBC_impD =
static_cast<int>(BoundaryConditionType::bType_impD);
163 constexpr
auto BC_Neu = BoundaryConditionType::bType_Neu;
164 constexpr
auto iBC_Neu =
static_cast<int>(BoundaryConditionType::bType_Neu);
166 constexpr
auto BC_para = BoundaryConditionType::bType_para;
167 constexpr
auto iBC_para =
static_cast<int>(BoundaryConditionType::bType_para);
169 constexpr
auto BC_RCR = BoundaryConditionType::bType_RCR;
170 constexpr
auto iBC_RCR =
static_cast<int>(BoundaryConditionType::bType_RCR);
172 constexpr
auto BC_res = BoundaryConditionType::bType_res;
173 constexpr
auto iBC_res =
static_cast<int>(BoundaryConditionType::bType_res);
175 constexpr
auto BC_Robin = BoundaryConditionType::bType_Robin;
176 constexpr
auto iBC_Robin =
static_cast<int>(BoundaryConditionType::bType_Robin);
178 constexpr
auto BC_std = BoundaryConditionType::bType_std;
179 constexpr
auto iBC_std =
static_cast<int>(BoundaryConditionType::bType_std);
181 constexpr
auto BC_symm = BoundaryConditionType::bType_symm;
182 constexpr
auto iBC_symm =
static_cast<int>(BoundaryConditionType::bType_symm);
184 constexpr
auto BC_trac = BoundaryConditionType::bType_trac;
185 constexpr
auto iBC_trac =
static_cast<int>(BoundaryConditionType::bType_trac);
187 constexpr
auto BC_undefNeu = BoundaryConditionType::bType_undefNeu;
188 constexpr
auto iBC_undefNeu =
static_cast<int>(BoundaryConditionType::bType_undefNeu);
190 constexpr
auto BC_ustd = BoundaryConditionType::bType_ustd;
191 constexpr
auto iBC_ustd =
static_cast<int>(BoundaryConditionType::bType_ustd);
198 enum class ConstitutiveModelType
220 enum class ContactModelType
223 cntctM_penalty = 801,
224 cntctM_potential = 802
310 constexpr
auto Equation_CMM = EquationType::phys_CMM;
311 constexpr
auto Equation_CEP = EquationType::phys_CEP;
312 constexpr
auto Equation_fluid = EquationType::phys_fluid;
313 constexpr
auto Equation_FSI = EquationType::phys_FSI;
314 constexpr
auto Equation_heatF = EquationType::phys_heatF;
315 constexpr
auto Equation_heatS = EquationType::phys_heatS;
316 constexpr
auto Equation_lElas = EquationType::phys_lElas;
317 constexpr
auto Equation_mesh = EquationType::phys_mesh;
318 constexpr
auto Equation_shell = EquationType::phys_shell;
319 constexpr
auto Equation_stokes = EquationType::phys_stokes;
320 constexpr
auto Equation_struct = EquationType::phys_struct;
321 constexpr
auto Equation_ustruct = EquationType::phys_ustruct;
325 enum class MeshGeneratorType
334 enum class OutputType
365 out_temperature = 597,
367 out_acceleration = 595,
368 out_displacement = 594,
375 out_energyFlux = 587,
377 out_absVelocity = 585,
386 out_divergence = 576,
401 elasticity_modulus = 4,
410 shell_thickness = 13,
415 enum class PreconditionerType
419 PREC_TRILINOS_DIAGONAL = 702,
420 PREC_TRILINOS_BLOCK_JACOBI = 703,
421 PREC_TRILINOS_ILU = 704,
422 PREC_TRILINOS_ILUT = 705,
423 PREC_TRILINOS_IC = 706,
424 PREC_TRILINOS_ICT = 707,
425 PREC_TRILINOS_ML = 708,
434 enum class SolverType
446 enum class FluidViscosityModelType
450 viscType_Const = 698,
459 std::ostream&
operator<<(
typename std::enable_if<std::is_enum<T>::value, std::ostream>::type& stream,
const T& e)
461 return stream << static_cast<typename std::underlying_type<T>::type>(e);
Definition: consts.cpp:34
CplBCType
Differenty type of coupling for cplBC.
Definition: consts.h:240
const std::map< std::string, ContactModelType > contact_model_name_to_type
Map for contact model string name to ContacteModelType.
Definition: consts.cpp:107
const std::map< std::string, FluidViscosityModelType > fluid_viscosity_model_name_to_type
Map for fluid viscosity model string to FluidViscosityModelType.
Definition: consts.cpp:117
std::pair< PreconditionerType, bool > PreconditionerMapType
Map for preconditioner type string to pair (PreconditionerType enum, bool(true if Trilinos preconditi...
Definition: consts.h:430
const std::map< std::string, EquationType > equation_name_to_type
Map equation name to a type.
Definition: consts.cpp:162
BoundaryConditionType
Boundary conditions type.
Definition: consts.h:108
const std::map< std::string, MeshGeneratorType > mesh_generator_name_to_type
Map for string to MeshGeneratorType.
Definition: consts.cpp:202
const std::map< std::string, PreconditionerMapType > preconditioner_name_to_type
Map for preconditioner type string to PreconditionerType enum.
Definition: consts.cpp:209
BodyForceType
Body force types: volumetric (default), traction, Neumann (pressure based), time dependence (steady,...
Definition: consts.h:75
EquationType
Types of equations that are included in this solver.
Definition: consts.h:294
const int int_inf
Use inf numeric values to represent a value that is not set.
Definition: consts.h:54
bool present(T value)
Check if a value is set to infinity.
Definition: consts.h:66
std::ostream & operator<<(typename std::enable_if< std::is_enum< T >::value, std::ostream >::type &stream, const T &e)
Template for printing enum class types as an int.
Definition: consts.h:459
const std::map< std::string, CplBCType > cplbc_name_to_type
Map for cplBC type to CplBCType.
Definition: consts.cpp:154
PhysicalProperyType
Possible physical properties. Current maxNPror is 20.
Definition: consts.h:396
ElementType
Element type replicating eType_NA, eType_PNT, etc.
Definition: consts.h:255
const std::map< std::string, ConstitutiveModelType > constitutive_model_name_to_type
Map for constitutive_model string to ConstitutiveModelType.
Definition: consts.cpp:64
const std::map< ElementType, int > element_type_to_elem_nonb
Reproduces the 'SELECT CASE (lMeType)' statements in the Fortran 'PARTMSH' subroutine.
Definition: consts.cpp:40
const std::map< std::string, SolverType > solver_name_to_type
Map solver type string to SolverType enum.
Definition: consts.cpp:235