Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
oomph::DeviatoricIsotropicElasticityTensor Class Reference

An isotropic elasticity tensor defined in terms of Young's modulus and Poisson's ratio. The elasticity tensor is assumed to be non-dimensionalised on some reference value for Young's modulus so the value provided to the constructor (if any) is to be interpreted as the ratio of the actual Young's modulus to the Young's modulus used to non-dimensionalise the stresses/tractions in the governing equations. More...

#include <elasticity_tensor.h>

+ Inheritance diagram for oomph::DeviatoricIsotropicElasticityTensor:

Public Member Functions

 DeviatoricIsotropicElasticityTensor ()
 Constructor. For use with incompressibility. Requires no parameters since Poisson's ratio is fixed at 0.5 and lambda is set to a dummy value of 0 (since it would be infinite) More...
 
 DeviatoricIsotropicElasticityTensor (const double &nu, const double &E)
 Constructor. Passing in the values of the Poisson's ratio and Young's modulus (interpreted as the ratio of the actual Young's modulus to the Young's modulus (or other reference stiffness) used to non-dimensionalise stresses and tractions in the governing equations). More...
 
 DeviatoricIsotropicElasticityTensor (const double &nu)
 Constructor. Passing in the value of the Poisson's ratio. Stresses and tractions in the governing equations are assumed to have been non-dimensionalised on Young's modulus. More...
 
 DeviatoricIsotropicElasticityTensor (const Vector< double > &lame)
 Constructur. Passing in the values of the two lame coefficients directly (interpreted as the ratios of these quantities to a reference stiffness used to non-dimensionalised. More...
 
double independent_component (const unsigned &i) const
 Overload the independent coefficient function. More...
 
const double & lambda () const
 Accessor function for the first lame parameter. More...
 
const double & mu () const
 Accessor function for the second lame parameter. More...
 
- Public Member Functions inherited from oomph::ElasticityTensor
virtual ~ElasticityTensor ()
 Empty virtual Destructor. More...
 
double operator() (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const
 Return the appropriate independent component via the index translation scheme (const version). More...
 
virtual void set_value (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l, const double &value)
 Allow the values to be set (virtual function that must be overloaded if values can be set directly. More...
 
virtual ~ElasticityTensor ()
 Empty virtual Destructor. More...
 
double operator() (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const
 Return the appropriate independent component via the index translation scheme (const version). More...
 

Private Member Functions

void set_lame_coefficients (const double &lambda, const double &mu)
 

Private Attributes

double C [3]
 
double Lambda
 
double Mu
 

Static Private Attributes

static const unsigned StaticIndex [21]
 Translation scheme for the deviatoric isotropic elasticity tensor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from oomph::ElasticityTensor
void range_check (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const
 Helper range checking function (Note that this only captures over-runs in 3D but errors are likely to be caught in evaluation of the stress and strain tensors anyway...) More...
 
 ElasticityTensor ()
 Empty Constructor. More...
 
void range_check (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const
 Helper range checking function (Note that this only captures over-runs in 3D but errors are likely to be caught in evaluation of the stress and strain tensors anyway...) More...
 
 ElasticityTensor ()
 Empty Constructor. More...
 
- Static Protected Attributes inherited from oomph::ElasticityTensor
static const unsigned Index [3][3][3][3]
 Translation table from the four indices to the corresponding independent component. More...
 

Detailed Description

An isotropic elasticity tensor defined in terms of Young's modulus and Poisson's ratio. The elasticity tensor is assumed to be non-dimensionalised on some reference value for Young's modulus so the value provided to the constructor (if any) is to be interpreted as the ratio of the actual Young's modulus to the Young's modulus used to non-dimensionalise the stresses/tractions in the governing equations.

Definition at line 223 of file poroelasticity/elasticity_tensor.h.

Constructor & Destructor Documentation

◆ DeviatoricIsotropicElasticityTensor() [1/4]

oomph::DeviatoricIsotropicElasticityTensor::DeviatoricIsotropicElasticityTensor ( )
inline

Constructor. For use with incompressibility. Requires no parameters since Poisson's ratio is fixed at 0.5 and lambda is set to a dummy value of 0 (since it would be infinite)

Definition at line 242 of file poroelasticity/elasticity_tensor.h.

References C, oomph::QuadTreeNames::E, lambda(), mu(), and set_lame_coefficients().

◆ DeviatoricIsotropicElasticityTensor() [2/4]

oomph::DeviatoricIsotropicElasticityTensor::DeviatoricIsotropicElasticityTensor ( const double &  nu,
const double &  E 
)
inline

Constructor. Passing in the values of the Poisson's ratio and Young's modulus (interpreted as the ratio of the actual Young's modulus to the Young's modulus (or other reference stiffness) used to non-dimensionalise stresses and tractions in the governing equations).

Definition at line 257 of file poroelasticity/elasticity_tensor.h.

References C, oomph::QuadTreeNames::E, lambda(), mu(), and set_lame_coefficients().

◆ DeviatoricIsotropicElasticityTensor() [3/4]

oomph::DeviatoricIsotropicElasticityTensor::DeviatoricIsotropicElasticityTensor ( const double &  nu)
inline

Constructor. Passing in the value of the Poisson's ratio. Stresses and tractions in the governing equations are assumed to have been non-dimensionalised on Young's modulus.

Definition at line 270 of file poroelasticity/elasticity_tensor.h.

References C, oomph::QuadTreeNames::E, lambda(), mu(), and set_lame_coefficients().

◆ DeviatoricIsotropicElasticityTensor() [4/4]

oomph::DeviatoricIsotropicElasticityTensor::DeviatoricIsotropicElasticityTensor ( const Vector< double > &  lame)
inline

Constructur. Passing in the values of the two lame coefficients directly (interpreted as the ratios of these quantities to a reference stiffness used to non-dimensionalised.

Definition at line 285 of file poroelasticity/elasticity_tensor.h.

References C, and set_lame_coefficients().

Member Function Documentation

◆ independent_component()

double oomph::DeviatoricIsotropicElasticityTensor::independent_component ( const unsigned &  i) const
inlinevirtual

Overload the independent coefficient function.

Reimplemented from oomph::ElasticityTensor.

Definition at line 294 of file poroelasticity/elasticity_tensor.h.

References C, i, and StaticIndex.

◆ lambda()

const double& oomph::DeviatoricIsotropicElasticityTensor::lambda ( ) const
inline

Accessor function for the first lame parameter.

Definition at line 300 of file poroelasticity/elasticity_tensor.h.

References Lambda.

Referenced by DeviatoricIsotropicElasticityTensor(), and set_lame_coefficients().

◆ mu()

const double& oomph::DeviatoricIsotropicElasticityTensor::mu ( ) const
inline

Accessor function for the second lame parameter.

Definition at line 306 of file poroelasticity/elasticity_tensor.h.

References Mu.

Referenced by DeviatoricIsotropicElasticityTensor(), and set_lame_coefficients().

◆ set_lame_coefficients()

void oomph::DeviatoricIsotropicElasticityTensor::set_lame_coefficients ( const double &  lambda,
const double &  mu 
)
inlineprivate

Definition at line 313 of file poroelasticity/elasticity_tensor.h.

References C, Lambda, lambda(), Mu, and mu().

Referenced by DeviatoricIsotropicElasticityTensor().

Member Data Documentation

◆ C

double oomph::DeviatoricIsotropicElasticityTensor::C[3]
private

◆ Lambda

double oomph::DeviatoricIsotropicElasticityTensor::Lambda
private

Definition at line 229 of file poroelasticity/elasticity_tensor.h.

Referenced by lambda(), and set_lame_coefficients().

◆ Mu

double oomph::DeviatoricIsotropicElasticityTensor::Mu
private

Definition at line 232 of file poroelasticity/elasticity_tensor.h.

Referenced by mu(), and set_lame_coefficients().

◆ StaticIndex

const unsigned oomph::DeviatoricIsotropicElasticityTensor::StaticIndex
staticprivate
Initial value:
= {
1, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 1}

Translation scheme for the deviatoric isotropic elasticity tensor.

Definition at line 236 of file poroelasticity/elasticity_tensor.h.

Referenced by independent_component().


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