1#ifndef PHYTH_ISOTROPIC_MATERIAL_HPP
2#define PHYTH_ISOTROPIC_MATERIAL_HPP
140 for (
int i = 0;
i < 3; ++
i) {
141 for (
int j = 0;
j < 3; ++
j) {
174 for (
int i = 0;
i < 3; ++
i) {
175 for (
int j = 0;
j < 3; ++
j) {
Linear elastic isotropic material model.
IsotropicMaterial(const Quantity< Pascal > youngs_modulus, const Scalar poisson_ratio)
Construct from Young's modulus and Poisson's ratio.
Matrix3x3< Scalar > ComputeStrain(const Matrix3x3< Quantity< Pascal > > &stress) const
Compute strain tensor from stress tensor.
void UpdateDerivedParameters()
Update derived parameters from (E, nu)
Quantity< Pascal > lame_lambda_
Quantity< Pascal > GetYoungsModulus() const
Get Young's modulus.
IsotropicMaterial()=default
Default constructor.
Quantity< Pascal > youngs_modulus_
Scalar GetPoissonRatio() const
Get Poisson's ratio.
Matrix3x3< Quantity< Pascal > > ComputeStress(const Matrix3x3< Scalar > &strain) const
Compute stress tensor from strain tensor.
Quantity< Pascal > GetBulkModulus() const
Get bulk modulus.
Quantity< Pascal > shear_modulus_
Quantity< Pascal > bulk_modulus_
IsotropicMaterial(const Quantity< Pascal > shear_modulus, const Quantity< Pascal > bulk_modulus)
Construct from shear modulus and bulk modulus.
Quantity< Pascal > GetLameLambda() const
Get Lame's first parameter.
void UpdateDerivedParametersFromGK()
Update derived parameters from (G, K)
Quantity< Pascal > GetShearModulus() const
Get shear modulus.
3x3 matrix with Quantity components
Physical quantity with a value and a compile-time unit.