19 #ifndef GEOSX_EXTRINSIC_MESH_DATA_HPP_ 20 #define GEOSX_EXTRINSIC_MESH_DATA_HPP_ 22 #include "codingUtilities/traits.hpp" 38 #define EXTRINSIC_MESH_DATA_TRAIT( NAME, \ 50 static constexpr auto key = KEY; \ 54 using dataType = internal::typeHelper_t< TYPE >; \ 56 static constexpr dataType defaultValue = DEFAULT; \ 58 static constexpr auto plotLevel = dataRepository::PlotLevel::PLOTLEVEL; \ 60 static constexpr auto restartFlag = dataRepository::RestartFlags::RESTARTFLAG; \ 62 static constexpr auto description = DESCRIPTION; \ 70 namespace extrinsicMeshData
75 template<
typename TYPE,
bool HAS_TYPE = std::enable_if_t< traits::HasAlias_value_type< TYPE >, std::true_type >::value >
78 using type =
typename TYPE::value_type;
81 template<
typename TYPE >
82 struct typeHelper< TYPE, false >
87 template<
typename T >
88 using typeHelper_t =
typename typeHelper< T >::type;
98 "Index of parent within the mesh object it is registered on." );
106 "Index of child within the mesh object it is registered on." );
114 "Distance to the crack in terms of topological distance. " 115 "(i.e. how many nodes are along the path to the closest " 116 "node that is on the crack surface." );
119 "degreeFromCrackTip",
124 "Distance to the crack tip in terms of topological distance. " 125 "(i.e. how many nodes are along the path to the closest " 126 "node that is on the crack surface." );
134 "Calculated Stress Intensity Factor on the node." );
142 "Time that the object was ruptured/split." );
150 "Rate of rupture in terms of number of objects split per time." );
158 "Calculated mode 1 Stress Intensity Factor on the node." );
166 "Calculated mode 2 Stress Intensity Factor on the node." );
174 "Calculated mode 3 Stress Intensity Factor on the node." );
182 "Rupture state of the face: \n 0=not ready for rupture \n 1=ready for rupture \n 2=ruptured." );
190 "Calculated Stress Intensity Factor on the face." );
201 "Critical Stress Intensity Factor :math:`K_{IC}` in the plane of the face." );
209 ":math:`K_{IC}` on 0-plane, in 0-direction." );
217 ":math:`K_{IC}` on 0-plane, in 1-direction." );
225 ":math:`K_{IC}` on 0-plane, in 2-direction." );
234 ":math:`K_{IC}` on 1-plane, in 0-direction." );
242 ":math:`K_{IC}` on 1-plane, in 1-direction." );
250 ":math:`K_{IC}` on 1-plane, in 2-direction." );
258 ":math:`K_{IC}` on 2-plane, in 0-direction." );
266 ":math:`K_{IC}` on 2-plane, in 1-direction." );
274 ":math:`K_{IC}` on 2-plane, in 2-direction." );
277 "primaryCandidateFace",
290 "A flag to mark if the face is separable." );
Trait struct for K_IC_20 data.
Trait struct for K_IC_12 data.
Trait struct for SIF_II data.
Trait struct for DegreeFromCrack data.
Trait struct for K_IC_00 data.
Trait struct for K_IC data.
#define EXTRINSIC_MESH_DATA_TRAIT(NAME, KEY, TYPE, DEFAULT, PLOTLEVEL, RESTARTFLAG, DESCRIPTION)
Generates a traits struct.
Trait struct for K_IC_11 data.
Trait struct for DegreeFromCrackTip data.
Trait struct for RuptureState data.
Trait struct for RuptureTime data.
Trait struct for IsFaceSeparable data.
Write and read from restart.
Trait struct for K_IC_10 data.
Write to plot when plotLevel>=2 is specified in input.
Trait struct for RuptureRate data.
Trait struct for K_IC_22 data.
Trait struct for SIF_III data.
Trait struct for PrimaryCandidateFace data.
Trait struct for K_IC_02 data.
Trait struct for ChildIndex data.
Trait struct for SIFNode data.
Trait struct for ParentIndex data.
Trait struct for K_IC_21 data.
Trait struct for SIFonFace data.
Trait struct for SIF_I data.
Trait struct for K_IC_01 data.
This class provides a fixed dimensional resizeable array interface in addition to an interface simila...