SpECTRE
v2025.03.17
|
An isotropic and homogeneous material. More...
#include <IsotropicHomogeneous.hpp>
Classes | |
struct | BulkModulus |
struct | ShearModulus |
Public Types | |
using | options = implementation defined |
Public Member Functions | |
IsotropicHomogeneous (const IsotropicHomogeneous &)=default | |
IsotropicHomogeneous & | operator= (const IsotropicHomogeneous &)=default |
IsotropicHomogeneous (IsotropicHomogeneous &&)=default | |
IsotropicHomogeneous & | operator= (IsotropicHomogeneous &&)=default |
IsotropicHomogeneous (double bulk_modulus, double shear_modulus) | |
std::unique_ptr< ConstitutiveRelation< Dim > > | get_clone () const override |
Returns a std::unique_ptr pointing to a copy of the ConstitutiveRelation . More... | |
void | stress (gsl::not_null< tnsr::II< DataVector, Dim > * > stress, const tnsr::ii< DataVector, Dim > &strain, const tnsr::I< DataVector, Dim > &x) const override |
The constitutive relation that characterizes the elastic properties of a material. More... | |
double | bulk_modulus () const |
The bulk modulus (or incompressibility) | |
double | shear_modulus () const |
The shear modulus (or rigidity) | |
double | lame_parameter () const |
The Lamé parameter | |
double | youngs_modulus () const |
The Young's modulus | |
double | poisson_ratio () const |
The Poisson ratio | |
void | pup (PUP::er &) override |
IsotropicHomogeneous (CkMigrateMessage *) | |
WRAPPED_PUPable_decl_base_template (SINGLE_ARG(ConstitutiveRelation< Dim >), IsotropicHomogeneous) | |
![]() | |
ConstitutiveRelation (const ConstitutiveRelation &)=default | |
ConstitutiveRelation & | operator= (const ConstitutiveRelation &)=default |
ConstitutiveRelation (ConstitutiveRelation &&)=default | |
ConstitutiveRelation & | operator= (ConstitutiveRelation &&)=default |
WRAPPED_PUPable_abstract (ConstitutiveRelation) | |
virtual std::unique_ptr< ConstitutiveRelation< Dim > > | get_clone () const =0 |
Returns a std::unique_ptr pointing to a copy of the ConstitutiveRelation . More... | |
virtual void | stress (gsl::not_null< tnsr::II< DataVector, Dim > * > stress, const tnsr::ii< DataVector, Dim > &strain, const tnsr::I< DataVector, Dim > &x) const =0 |
The constitutive relation that characterizes the elastic properties of a material. More... | |
Static Public Attributes | |
static constexpr size_t | volume_dim = Dim |
static constexpr Options::String | help |
![]() | |
static constexpr size_t | volume_dim = Dim |
An isotropic and homogeneous material.
For an isotropic and homogeneous material the linear constitutive relation
with the Lamé parameter
instead of the Lamé parameter. In this parametrization the stress-strain relation
decomposes into a scalar and a traceless part (Eq. 11.18 in [194]). Parameters also often used in this context are the Young's modulus
and the Poisson ratio
Inversely, these relations read:
In two dimensions this implementation reduces to the plane-stress approximation. We assume that all stresses apply in the plane of the computational domain, which corresponds to scenarios of in-plane stretching and shearing of thin slabs of material. Since orthogonal stresses vanish as
which is non-zero only in the directions of the plane. Since the stresses are also assumed to be constant along the thickness of the plane
|
overridevirtual |
Returns a std::unique_ptr
pointing to a copy of the ConstitutiveRelation
.
Implements Elasticity::ConstitutiveRelations::ConstitutiveRelation< Dim >.
|
overridevirtual |
The constitutive relation that characterizes the elastic properties of a material.
Implements Elasticity::ConstitutiveRelations::ConstitutiveRelation< Dim >.
|
staticconstexpr |