SpECTRE  v2024.04.12
Elasticity::ConstitutiveRelations::ConstitutiveRelation< Dim > Class Template Referenceabstract

Base class for constitutive (stress-strain) relations that characterize the elastic properties of a material. More...

#include <ConstitutiveRelation.hpp>

Public Member Functions

 ConstitutiveRelation (const ConstitutiveRelation &)=default
 
ConstitutiveRelationoperator= (const ConstitutiveRelation &)=default
 
 ConstitutiveRelation (ConstitutiveRelation &&)=default
 
ConstitutiveRelationoperator= (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
 

Detailed Description

template<size_t Dim>
class Elasticity::ConstitutiveRelations::ConstitutiveRelation< Dim >

Base class for constitutive (stress-strain) relations that characterize the elastic properties of a material.

Details

A constitutive relation, in the context of elasticity, relates the Stress \(T^{ij}\) and Strain \(S_{ij}=\nabla_{(i}u_{j)}\) within an elastic material (see Elasticity). For small stresses it is approximated by the linear relation

\[ T^{ij} = -Y^{ijkl}S_{kl} \]

(Eq. 11.17 in [179]) that is referred to as Hooke's law. The constitutive relation in this linear approximation is determined by the elasticity (or Young's) tensor \(Y^{ijkl}=Y^{(ij)(kl)}=Y^{klij}\) that generalizes a simple proportionality to a three-dimensional and (possibly) anisotropic material.

Note
We assume a Euclidean metric in Cartesian coordinates here (for now).

Member Function Documentation

◆ get_clone()

◆ stress()

template<size_t Dim>
virtual void Elasticity::ConstitutiveRelations::ConstitutiveRelation< Dim >::stress ( gsl::not_null< tnsr::II< DataVector, Dim > * >  stress,
const tnsr::ii< DataVector, Dim > &  strain,
const tnsr::I< DataVector, Dim > &  x 
) const
pure virtual

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