#include "b2material_util.H"
Public Member Functions | |
ElasticityHelper (const T material_ref[3][3], const T covariant_base[3][3]) | |
void | set_strain (const bool planestress, const T strain[6], const T temperature, const T alpha[6]) |
void | set_stress_and_or_d_stress_d_strain_mat (const T stress_mat[6], const T d_stress_d_strain_mat[21], T stress[6], T d_stress_d_strain[21]) |
void | store (const bool linear, const T displacement_gradient[3][3], const FailureCriterion *failure_criterion, b2000::GradientContainer *gradient_container) |
Public Attributes | |
bool | has_thermal_expansion |
Whether STRAIN_MECHANICAL fields will be written. | |
bool | has_material_ref |
T | M [3][3] |
bool | has_covariant_base |
T | G [3][3] |
T | G_d [3][3] |
T | strain_gl_bg [6] |
T | strain_gl_bg_te [6] |
T | strain_gl_mat [6] |
T | strain_gl_mat_te [6] |
T | stress_pk2_bg [6] |
T | stress_pk2_mat [6] |
T | stress_cauchy_bg [6] |
T | stress_cauchy_mat [6] |
T | failure_index |
Helper class for elastic material models in conjunction with Total-Lagrange 3D and 2.5D (shell) elements. It simplifies the implementation of material formulations, but does not need to be used for implementing new material models.
|
inline |
material_ref | The orthogonal material reference frame (row-major), typically calculated by the element property from user-specified MBASE. May be 0 for isotropic materials. |
covariant_base | The non-orthogonal covariant basis of the (shell) element. May be 0, depending on the element formulation. |
|
inline |
Enter the calculated strain, transform it, and calculate the thermal pre-strain.
strain | The linear or Green-Lagrange strain as calculated by the element formulation, depending on the covariant_base parameter it is expressed either in the element covariant basis or in the branch-global orthogonal reference frame. The order of the components is [11, 22, 33, 12, 23, 13]. The shear components are assumed energy-equivalent, hence they must be premultiplied by a factor of 2. The parameter strain may be 0. |
temperature | The temperature difference, invoking a thermal expansion or contraction. |
alpha | The thermal expansion coefficients in the directions [11, 22, 33, 12, 23, 13]. May be 0. |
|
inline |
Enter the calculated stress and/or the tangent constitutive matrix.
stress_mat | The linear or Second Piola-Kirchhoff stress, expressed in the orthogonal material reference frame. The order of the components is [11, 22, 33, 12, 23, 13]. The parameter stress_mat may be 0. In this case, the stress will be calculated from the strain and the constitutive matrix. |
d_stress_d_strain_mat | The (tangent) constitutive symmetric 6x6 matrix in lower-packed column-major format, expressed in the orthogonal material reference frame. May be 0 (if d_stress_d_strain is 0). |
stress | The transformed stress, it is expressed either in the element covariant basis or in the branch-global orthogonal reference frame, depending on the covariant_base parameter. May be 0. |
d_stress_d_strain | The (tangent) constitutive symmetric 6x6 matrix in lower-packed column-major format. Depending on the covariant_base parameter, it is expressed either in the element covariant basis or in the branch-global orthogonal reference frame. May be 0. |
|
inline |
Store the different calculated stresses and strains, and evaluate the failure index.
linear | Whether the analysis is geometrically linear. |
displacement_gradient | The gradient displacement tensor (column-major). It is F - I where F is the gradient deformation tensor and I the 3x3 identity matrix. This parameter may be 0 in linear analysis, it is used to calculate the Cauchy stress in nonlinear analysis. |
failure_criterion | Pointer to a FailureCriterion instance. May be 0. |
gradient_container | Is used to store the strains and stresses, the failure indices, etc. |
T b2000::b2dbv3::ElasticityHelper< T >::failure_index |
The failure index as returned from the FailureCriterion instance. Is initialized in the store() method.
T b2000::b2dbv3::ElasticityHelper< T >::G[3][3] |
Covariant tangent vectors (row-major). Is initialized in the constructor.
T b2000::b2dbv3::ElasticityHelper< T >::G_d[3][3] |
Contravariant tangent vectors (row-major). Is initialized in the constructor.
bool b2000::b2dbv3::ElasticityHelper< T >::has_covariant_base |
If the covariant basis differs from the identity matrix. Is initialized in the constructor.
bool b2000::b2dbv3::ElasticityHelper< T >::has_material_ref |
If the material reference frame differs from the identity matrix. Is initialized in the constructor.
T b2000::b2dbv3::ElasticityHelper< T >::M[3][3] |
Material reference frame and its transpose (inverse). Is initialized in the constructor.
T b2000::b2dbv3::ElasticityHelper< T >::strain_gl_bg[6] |
Green-Lagrange strain in the branch-global (bg) reference frame, without thermal expansion. Is initialized in the set_strain() method.
T b2000::b2dbv3::ElasticityHelper< T >::strain_gl_bg_te[6] |
Green-Lagrange strain in the branch-global (bg) reference frame, including thermal expansion. Is initialized in the set_strain() method.
T b2000::b2dbv3::ElasticityHelper< T >::strain_gl_mat[6] |
Green-Lagrange strain in the material reference frame (mat), without thermal expansion. Is initialized in the set_strain() method.
T b2000::b2dbv3::ElasticityHelper< T >::strain_gl_mat_te[6] |
Green-Lagrange strain in the material reference frame (mat), including thermal expansion. Is initialized in the set_strain() method.
T b2000::b2dbv3::ElasticityHelper< T >::stress_cauchy_bg[6] |
Cauchy stress in the branch-global (bg) reference frame. Is initialized in the store() method.
T b2000::b2dbv3::ElasticityHelper< T >::stress_cauchy_mat[6] |
Cauchy stress in the material (mat) reference frame. Is initialized in the store() method.
T b2000::b2dbv3::ElasticityHelper< T >::stress_pk2_bg[6] |
Second Piola-Kirchhoff stress in the branch-global (bg) reference frame. Is initialized in the set_stress_and_or_d_stress_d_strain_mat() method.
T b2000::b2dbv3::ElasticityHelper< T >::stress_pk2_mat[6] |
Second Piola-Kirchhoff stress in the material (mat) reference frame. Is initialized in the set_stress_and_or_d_stress_d_strain_mat() method.