G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsMaterialMatrixUtils.h
Go to the documentation of this file.
1
16#pragma once
17
19#include <gsIO/gsOptionList.h>
20
21namespace gismo
22{
23
24
36{
37 NotIntegrated = 0,
38 Integrated = 1,
39 Constant = 2,
40 Linear = 3,
41};
42
43
50enum class Material : short_t
51{
52 SvK = 0,
53 NH = 1,
54 NH_ext = 2,
55 MR = 3,
56 OG = 4
57};
58
59
71{
72 Composite = 0,
73 Analytical = 1,
74 Generalized = 2,
75 Spectral = 3
76};
77
78
99{
100 Generic = 0,
101 Density = 1,
102 VectorN = 2,
103 VectorM = 3,
104 CauchyVectorN = 4,
105 CauchyVectorM = 5,
106 MatrixA = 6,
107 MatrixB = 7,
108 MatrixC = 8,
109 MatrixD = 9,
110 PStress = 10,
111 PStressDir= 11,
112 PStressN = 12,
113 PStressM = 13,
114 PCauchyStressN = 14,
115 PCauchyStressM = 15,
116 PStrainN = 16,
117 PStrainM = 17,
118 Stretch = 18, // ONLY ON MID-PLANE
119 StretchDir = 19, // ONLY ON MID-PLANE
120 TensionField = 20, // Tension field indicator (1: slack, 0: wrinkled, -1: taut)
121 Theta = 21, // Tension field indicator (1: slack, 0: wrinkled, -1: taut)
122 Gamma = 22, // Tension field indicator (1: slack, 0: wrinkled, -1: taut)
123 Strain = 23,
124 StrainN = 24,
125 StrainM = 25,
126 Stress = 26,
127 StressN = 27,
128 StressM = 28,
129 CauchyStress = 29,
130 CauchyStressN = 30,
131 CauchyStressM = 31,
132 Spec2CovTransform = 101, // Transformation matrix from spectral to covariant basis
133 Spec2ConTransform = 102, // Transformation matrix from spectral to contravariant basis
134 Cov2CartTransform = 103, // Transformation matrix from covariant basis to cartesian basis
135 Con2CartTransform = 104, // Transformation matrix from contravariant basis to cartesian basis
136 StretchTransform = 105, // Transformation matrix from principal stretch axes to contravariant axes, such that E_con = E_p * T
137 PStressTransform = 106, // Transformation matrix from principal stress axes to covariant axes, such that S_cov = S_p * T
138 Thickness = 1000,
139 Parameters = 1001,
140 Deformation = 1002,
141 // FINISH VON MISES WITH THE CAUCHY STRESS!!!
142};
143
144
154template<enum Material material, enum Implementation implementation>
156 static const constexpr short_t id = 10*(short_t)implementation + (short_t)material;
157};
158
167template<short_t id>
169 static const constexpr enum Material material = (enum Material)(id%10);
170 static const constexpr enum Implementation implementation = (enum Implementation)((id/10)%10);
171};
172
173} // namespace
174
Material
This class describes a material model.
Definition gsMaterialMatrixUtils.h:51
Implementation
This class describes the way material models are implemented.
Definition gsMaterialMatrixUtils.h:71
MaterialOutput
This class describes the output type.
Definition gsMaterialMatrixUtils.h:99
MatIntegration
This class describes if an object is integrated through-thickness or not.
Definition gsMaterialMatrixUtils.h:36
#define short_t
Definition gsConfig.h:35
Provides a base class for material matrices.
Provides a list of labeled parameters/options that can be set and accessed easily.
The G+Smo namespace, containing all definitions for the library.
Decodes the material model and implementation.
Definition gsMaterialMatrixUtils.h:168
Encodes the material model and implementation.
Definition gsMaterialMatrixUtils.h:155