b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2000::b2dbv3::ElasticityHelper2D< T > Struct Template Reference

#include "b2material_util.H"

Public Member Functions

 ElasticityHelper2D (const T material_ref[2][2], const T covariant_base[2][2])
 
void set_strain (const T strain[3], const T temperature, const T alpha[3])
 
void set_stress_and_or_d_stress_d_strain_mat (const T stress_mat[3], const T d_stress_d_strain_mat[6], T stress[3], T d_stress_d_strain[6])
 
void store (const bool linear, const T displacement_gradient[2][2], 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
 
M [2][2]
 Material reference frame. Is initialized in the constructor.
 
bool has_covariant_base
 
G [2][2]
 
G_d [2][2]
 
strain_gl_bg [3]
 
strain_gl_bg_te [3]
 
strain_gl_mat [3]
 
strain_gl_mat_te [3]
 
strain_normal
 
stress_pk2_bg [3]
 
stress_pk2_mat [3]
 
stress_cauchy_bg [3]
 
stress_cauchy_mat [3]
 
stress_normal
 
failure_index
 

Detailed Description

template<typename T>
struct b2000::b2dbv3::ElasticityHelper2D< T >

Helper class for elastic material models in conjunction with Total-Lagrange 2D elements. It simplifies the implementation of material formulations, but does not need to be used for implementing new material models.

Constructor & Destructor Documentation

◆ ElasticityHelper2D()

template<typename T >
b2000::b2dbv3::ElasticityHelper2D< T >::ElasticityHelper2D ( const T  material_ref[2][2],
const T  covariant_base[2][2] 
)
inline
Parameters
material_refThe orthogonal material reference frame (row-major), typically calculated by the element property from user-specified MBASE. May be 0 for isotropic materials.
covariant_baseThe non-orthogonal covariant basis of the (shell) element. May be 0, depending on the element formulation.

Member Function Documentation

◆ set_strain()

template<typename T >
void b2000::b2dbv3::ElasticityHelper2D< T >::set_strain ( const T  strain[3],
const T  temperature,
const T  alpha[3] 
)
inline

Enter the calculated strain, transform it, and calculate the thermal pre-strain.

Parameters
strainThe 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, 12]. The shear component is assumed energy-equivalent, hence it must be premultiplied by a factor of 2. The parameter strain may be 0.
temperatureThe temperature difference, invoking a thermal expansion or contraction.
alphaThe thermal expansion coefficients in the directions [11, 22, 12]. May be 0.

◆ set_stress_and_or_d_stress_d_strain_mat()

template<typename T >
void b2000::b2dbv3::ElasticityHelper2D< T >::set_stress_and_or_d_stress_d_strain_mat ( const T  stress_mat[3],
const T  d_stress_d_strain_mat[6],
stress[3],
d_stress_d_strain[6] 
)
inline

Enter the calculated stress and/or the tangent constitutive matrix.

Parameters
stress_matThe linear or Second Piola-Kirchhoff stress, expressed in the orthogonal material reference frame. The order of the components is [11, 22, 12]. 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_matThe (tangent) constitutive symmetric 3x3 matrix in lower-packed column-major format, expressed in the orthogonal material reference frame. May be 0 (if d_stress_d_strain is 0).
stressThe 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_strainThe (tangent) constitutive symmetric 3x3 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.

◆ store()

template<typename T >
void b2000::b2dbv3::ElasticityHelper2D< T >::store ( const bool  linear,
const T  displacement_gradient[2][2],
const FailureCriterion failure_criterion,
b2000::GradientContainer gradient_container 
)
inline

Store the different calculated stresses and strains, and evaluate the failure index.

Parameters
linearWhether the analysis is geometrically linear.
displacement_gradientThe 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_criterionPointer to a FailureCriterion instance. May be 0.
gradient_containerIs used to store the strains and stresses, the failure indices, etc.

Member Data Documentation

◆ failure_index

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::failure_index

The failure index as returned from the FailureCriterion instance. Is initialized in the store() method.

◆ G

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::G[2][2]

Covariant tangent vectors (row-major). Is initialized in the constructor.

◆ G_d

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::G_d[2][2]

Contravariant tangent vectors (row-major). Is initialized in the constructor.

◆ has_covariant_base

template<typename T >
bool b2000::b2dbv3::ElasticityHelper2D< T >::has_covariant_base

If the covariant tangent vectors differ from the rows of the identity matrix. Is initialized in the constructor.

◆ has_material_ref

template<typename T >
bool b2000::b2dbv3::ElasticityHelper2D< T >::has_material_ref

If the material reference frame differs from the identity matrix. Is initialized in the constructor.

◆ strain_gl_bg

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::strain_gl_bg[3]

Green-Lagrange strain in the branch-global (bg) reference frame, without thermal expansion. Is initialized in the set_strain() method.

◆ strain_gl_bg_te

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::strain_gl_bg_te[3]

Green-Lagrange strain in the branch-global (bg) reference frame, including thermal expansion. Is initialized in the set_strain() method.

◆ strain_gl_mat

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::strain_gl_mat[3]

Green-Lagrange strain in the material reference frame (mat), without thermal expansion. Is initialized in the set_strain() method.

◆ strain_gl_mat_te

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::strain_gl_mat_te[3]

Green-Lagrange strain in the material reference frame (mat), including thermal expansion. Is initialized in the set_strain() method.

◆ strain_normal

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::strain_normal

The strain in transverse (normal) direction, must be initialized in case of a plane-stress analysis.

◆ stress_cauchy_bg

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::stress_cauchy_bg[3]

Cauchy stress in the branch-global (bg) reference frame. Is initialized in the store() method.

◆ stress_cauchy_mat

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::stress_cauchy_mat[3]

Cauchy stress in the material (mat) reference frame. Is initialized in the store() method.

◆ stress_normal

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::stress_normal

The stress in transverse (normal) direction, must be initialized in case of plane-strain analysis.

◆ stress_pk2_bg

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::stress_pk2_bg[3]

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.

◆ stress_pk2_mat

template<typename T >
T b2000::b2dbv3::ElasticityHelper2D< T >::stress_pk2_mat[3]

Second Piola-Kirchhoff stress in the material (mat) reference frame. Is initialized in the set_stress_and_or_d_stress_d_strain_mat() method.


The documentation for this struct was generated from the following file: