Physical Quantities  v1.0.0
C++ library of physical quantities, physical models, and units of measure for scientific computing. https://github.com/acodcha/phq
Public Types | Public Member Functions | Private Attributes | List of all members
PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType > Class Template Reference

Constitutive model for an elastic isotropic solid. This is the simplest constitutive model for a deformable solid material. More...

#include "ElasticIsotropicSolid.hpp"

Public Types

enum class  Type : int8_t { CompressibleNewtonianFluid , ElasticIsotropicSolid , IncompressibleNewtonianFluid }
 Type of a material's constitutive model. More...
 

Public Member Functions

 ElasticIsotropicSolid ()
 Default constructor. Constructs an elastic isotropic solid constitutive model with an uninitialized value. More...
 
 ElasticIsotropicSolid (const YoungModulus< NumericType > &young_modulus, const PoissonRatio< NumericType > &poisson_ratio)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and Poisson's ratio. More...
 
constexpr ElasticIsotropicSolid (const YoungModulus< NumericType > &young_modulus, const ShearModulus< NumericType > &shear_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and shear modulus. More...
 
 ElasticIsotropicSolid (const YoungModulus< NumericType > &young_modulus, const IsentropicBulkModulus< NumericType > &isentropic_bulk_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and isentropic bulk modulus. More...
 
 ElasticIsotropicSolid (const YoungModulus< NumericType > &young_modulus, const IsothermalBulkModulus< NumericType > &isothermal_bulk_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and isothermal bulk modulus. More...
 
constexpr ElasticIsotropicSolid (const YoungModulus< NumericType > &young_modulus, const LameFirstModulus< NumericType > &lame_first_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and Lamé's first modulus. More...
 
constexpr ElasticIsotropicSolid (const YoungModulus< NumericType > &young_modulus, const PWaveModulus< NumericType > &p_wave_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and P-wave modulus. More...
 
constexpr ElasticIsotropicSolid (const ShearModulus< NumericType > &shear_modulus, const PoissonRatio< NumericType > &poisson_ratio)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and Poisson's ratio. More...
 
constexpr ElasticIsotropicSolid (const ShearModulus< NumericType > &shear_modulus, const IsentropicBulkModulus< NumericType > &isentropic_bulk_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and isentropic bulk modulus. More...
 
constexpr ElasticIsotropicSolid (const ShearModulus< NumericType > &shear_modulus, const IsothermalBulkModulus< NumericType > &isothermal_bulk_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and isothermal bulk modulus. More...
 
constexpr ElasticIsotropicSolid (const ShearModulus< NumericType > &shear_modulus, const LameFirstModulus< NumericType > &lame_first_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and Lamé's first modulus. More...
 
constexpr ElasticIsotropicSolid (const ShearModulus< NumericType > &shear_modulus, const PWaveModulus< NumericType > &p_wave_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and P-wave modulus. More...
 
constexpr ElasticIsotropicSolid (const IsentropicBulkModulus< NumericType > &isentropic_bulk_modulus, const LameFirstModulus< NumericType > &lame_first_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given isentropic bulk modulus and Lamé's first modulus. More...
 
constexpr ElasticIsotropicSolid (const IsothermalBulkModulus< NumericType > &isothermal_bulk_modulus, const LameFirstModulus< NumericType > &lame_first_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given isothermal bulk modulus and Lamé's first modulus. More...
 
constexpr ElasticIsotropicSolid (const IsentropicBulkModulus< NumericType > &isentropic_bulk_modulus, const PWaveModulus< NumericType > &p_wave_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given isentropic bulk modulus and P-wave modulus. More...
 
constexpr ElasticIsotropicSolid (const IsothermalBulkModulus< NumericType > &isothermal_bulk_modulus, const PWaveModulus< NumericType > &p_wave_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given isothermal bulk modulus and P-wave modulus. More...
 
constexpr ElasticIsotropicSolid (const IsentropicBulkModulus< NumericType > &isentropic_bulk_modulus, const PoissonRatio< NumericType > &poisson_ratio)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given isentropic bulk modulus and Poisson's ratio. More...
 
constexpr ElasticIsotropicSolid (const IsothermalBulkModulus< NumericType > &isothermal_bulk_modulus, const PoissonRatio< NumericType > &poisson_ratio)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given isothermal bulk modulus and Poisson's ratio. More...
 
constexpr ElasticIsotropicSolid (const LameFirstModulus< NumericType > &lame_first_modulus, const PWaveModulus< NumericType > &p_wave_modulus)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Lamé's first modulus and P-wave modulus. More...
 
constexpr ElasticIsotropicSolid (const LameFirstModulus< NumericType > &lame_first_modulus, const PoissonRatio< NumericType > &poisson_ratio)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given Lamé's first modulus and Poisson's ratio. More...
 
constexpr ElasticIsotropicSolid (const PWaveModulus< NumericType > &p_wave_modulus, const PoissonRatio< NumericType > &poisson_ratio)
 Constructor. Constructs an elastic isotropic solid constitutive model from a given P-wave modulus and Poisson's ratio. More...
 
 ~ElasticIsotropicSolid () noexcept override=default
 Destructor. Destroys this elastic isotropic solid constitutive model. More...
 
constexpr ElasticIsotropicSolid (const ElasticIsotropicSolid &other)=default
 Copy constructor. Constructs an elastic isotropic solid constitutive model by copying another one. More...
 
constexpr ElasticIsotropicSolid (ElasticIsotropicSolid &&other) noexcept=default
 Move constructor. Constructs an elastic isotropic solid constitutive model by moving another one. More...
 
ElasticIsotropicSolidoperator= (const ElasticIsotropicSolid &other)=default
 Copy assignment operator. Assigns this elastic isotropic solid constitutive model by copying another one. More...
 
ElasticIsotropicSolidoperator= (ElasticIsotropicSolid &&other) noexcept=default
 Move assignment operator. Assigns this elastic isotropic solid constitutive model by moving another one. More...
 
constexpr const PhQ::ShearModulus< NumericType > & ShearModulus () const noexcept
 Shear modulus of this elastic isotropic solid constitutive model. More...
 
constexpr const PhQ::LameFirstModulus< NumericType > & LameFirstModulus () const noexcept
 Lamé's first modulus of this elastic isotropic solid constitutive model. More...
 
PhQ::YoungModulus< NumericType > YoungModulus () const
 Young's modulus of this elastic isotropic solid constitutive model. More...
 
PhQ::IsentropicBulkModulus< NumericType > IsentropicBulkModulus () const
 Isentropic bulk modulus of this elastic isotropic solid constitutive model. More...
 
PhQ::IsothermalBulkModulus< NumericType > IsothermalBulkModulus () const
 Isothermal bulk modulus of this elastic isotropic solid constitutive model. More...
 
PhQ::PWaveModulus< NumericType > PWaveModulus () const
 P-wave modulus of this elastic isotropic solid constitutive model. More...
 
PhQ::PoissonRatio< NumericType > PoissonRatio () const
 Poisson's ratio of this elastic isotropic solid constitutive model. More...
 
ConstitutiveModel::Type GetType () const noexcept override
 Returns this constitutive model's type. More...
 
PhQ::Stress< float > Stress (const PhQ::Strain< float > &strain, const PhQ::StrainRate< float > &) const override
 Returns the stress resulting from a given strain and strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress and is ignored. More...
 
PhQ::Stress< double > Stress (const PhQ::Strain< double > &strain, const PhQ::StrainRate< double > &) const override
 Returns the stress resulting from a given strain and strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress and is ignored. More...
 
PhQ::Stress< long double > Stress (const PhQ::Strain< long double > &strain, const PhQ::StrainRate< long double > &) const override
 Returns the stress resulting from a given strain and strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress and is ignored. More...
 
PhQ::Stress< float > Stress (const PhQ::Strain< float > &strain) const override
 Returns the stress resulting from a given strain. More...
 
PhQ::Stress< double > Stress (const PhQ::Strain< double > &strain) const override
 Returns the stress resulting from a given strain. More...
 
PhQ::Stress< long double > Stress (const PhQ::Strain< long double > &strain) const override
 Returns the stress resulting from a given strain. More...
 
PhQ::Stress< float > Stress (const PhQ::StrainRate< float > &) const override
 Returns the stress resulting from a given strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress, so this always returns a stress of zero. More...
 
PhQ::Stress< double > Stress (const PhQ::StrainRate< double > &) const override
 Returns the stress resulting from a given strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress, so this always returns a stress of zero. More...
 
PhQ::Stress< long double > Stress (const PhQ::StrainRate< long double > &) const override
 Returns the stress resulting from a given strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress, so this always returns a stress of zero. More...
 
PhQ::Strain< float > Strain (const PhQ::Stress< float > &stress) const override
 Returns the strain resulting from a given stress. More...
 
PhQ::Strain< double > Strain (const PhQ::Stress< double > &stress) const override
 Returns the strain resulting from a given stress. More...
 
PhQ::Strain< long double > Strain (const PhQ::Stress< long double > &stress) const override
 Returns the strain resulting from a given stress. More...
 
PhQ::StrainRate< float > StrainRate (const PhQ::Stress< float > &) const override
 Returns the strain rate resulting from a given stress. Since this is an elastic isotropic solid constitutive model, stress does not depend on strain rate, so this always returns a strain rate of zero. More...
 
PhQ::StrainRate< double > StrainRate (const PhQ::Stress< double > &) const override
 Returns the strain rate resulting from a given stress. Since this is an elastic isotropic solid constitutive model, stress does not depend on strain rate, so this always returns a strain rate of zero. More...
 
PhQ::StrainRate< long double > StrainRate (const PhQ::Stress< long double > &) const override
 Returns the strain rate resulting from a given stress. Since this is an elastic isotropic solid constitutive model, stress does not depend on strain rate, so this always returns a strain rate of zero. More...
 
std::string Print () const override
 Prints this elastic isotropic solid constitutive model as a string. More...
 
std::string JSON () const override
 Serializes this elastic isotropic solid constitutive model as a JSON message. More...
 
std::string XML () const override
 Serializes this elastic isotropic solid constitutive model as an XML message. More...
 
std::string YAML () const override
 Serializes this elastic isotropic solid constitutive model as a YAML message. More...
 

Private Attributes

PhQ::ShearModulus< NumericType > shear_modulus
 Shear modulus of this elastic isotropic solid constitutive model. More...
 
PhQ::LameFirstModulus< NumericType > lame_first_modulus
 Lamé's first modulus of this elastic isotropic solid constitutive model. More...
 

Detailed Description

template<typename NumericType = double>
class PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >

Constitutive model for an elastic isotropic solid. This is the simplest constitutive model for a deformable solid material.

Definition at line 56 of file ElasticIsotropicSolid.hpp.

Member Enumeration Documentation

◆ Type

enum PhQ::ConstitutiveModel::Type : int8_t
stronginherited

Type of a material's constitutive model.

Enumerator
CompressibleNewtonianFluid 

Compressible Newtonian fluid constitutive model.

ElasticIsotropicSolid 

Elastic isotropic solid constitutive model.

IncompressibleNewtonianFluid 

Incompressible Newtonian fluid constitutive model.

Definition at line 57 of file ConstitutiveModel.hpp.

Constructor & Destructor Documentation

◆ ElasticIsotropicSolid() [1/23]

template<typename NumericType = double>
PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( )
inline

Default constructor. Constructs an elastic isotropic solid constitutive model with an uninitialized value.

Definition at line 60 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [2/23]

template<typename NumericType = double>
PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const YoungModulus< NumericType > &  young_modulus,
const PoissonRatio< NumericType > &  poisson_ratio 
)
inline

Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and Poisson's ratio.

Definition at line 64 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [3/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const YoungModulus< NumericType > &  young_modulus,
const ShearModulus< NumericType > &  shear_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and shear modulus.

Definition at line 77 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [4/23]

template<typename NumericType = double>
PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const YoungModulus< NumericType > &  young_modulus,
const IsentropicBulkModulus< NumericType > &  isentropic_bulk_modulus 
)
inline

Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and isentropic bulk modulus.

Definition at line 87 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [5/23]

template<typename NumericType = double>
PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const YoungModulus< NumericType > &  young_modulus,
const IsothermalBulkModulus< NumericType > &  isothermal_bulk_modulus 
)
inline

Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and isothermal bulk modulus.

Definition at line 102 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [6/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const YoungModulus< NumericType > &  young_modulus,
const LameFirstModulus< NumericType > &  lame_first_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and Lamé's first modulus.

Definition at line 117 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [7/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const YoungModulus< NumericType > &  young_modulus,
const PWaveModulus< NumericType > &  p_wave_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given Young's modulus and P-wave modulus.

Definition at line 131 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [8/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const ShearModulus< NumericType > &  shear_modulus,
const PoissonRatio< NumericType > &  poisson_ratio 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and Poisson's ratio.

Definition at line 151 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [9/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const ShearModulus< NumericType > &  shear_modulus,
const IsentropicBulkModulus< NumericType > &  isentropic_bulk_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and isentropic bulk modulus.

Definition at line 160 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [10/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const ShearModulus< NumericType > &  shear_modulus,
const IsothermalBulkModulus< NumericType > &  isothermal_bulk_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and isothermal bulk modulus.

Definition at line 169 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [11/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const ShearModulus< NumericType > &  shear_modulus,
const LameFirstModulus< NumericType > &  lame_first_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and Lamé's first modulus.

Definition at line 178 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [12/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const ShearModulus< NumericType > &  shear_modulus,
const PWaveModulus< NumericType > &  p_wave_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given shear modulus and P-wave modulus.

Definition at line 184 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [13/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const IsentropicBulkModulus< NumericType > &  isentropic_bulk_modulus,
const LameFirstModulus< NumericType > &  lame_first_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given isentropic bulk modulus and Lamé's first modulus.

Definition at line 192 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [14/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const IsothermalBulkModulus< NumericType > &  isothermal_bulk_modulus,
const LameFirstModulus< NumericType > &  lame_first_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given isothermal bulk modulus and Lamé's first modulus.

Definition at line 201 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [15/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const IsentropicBulkModulus< NumericType > &  isentropic_bulk_modulus,
const PWaveModulus< NumericType > &  p_wave_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given isentropic bulk modulus and P-wave modulus.

Definition at line 210 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [16/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const IsothermalBulkModulus< NumericType > &  isothermal_bulk_modulus,
const PWaveModulus< NumericType > &  p_wave_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given isothermal bulk modulus and P-wave modulus.

Definition at line 220 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [17/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const IsentropicBulkModulus< NumericType > &  isentropic_bulk_modulus,
const PoissonRatio< NumericType > &  poisson_ratio 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given isentropic bulk modulus and Poisson's ratio.

Definition at line 230 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [18/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const IsothermalBulkModulus< NumericType > &  isothermal_bulk_modulus,
const PoissonRatio< NumericType > &  poisson_ratio 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given isothermal bulk modulus and Poisson's ratio.

Definition at line 243 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [19/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const LameFirstModulus< NumericType > &  lame_first_modulus,
const PWaveModulus< NumericType > &  p_wave_modulus 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given Lamé's first modulus and P-wave modulus.

Definition at line 256 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [20/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const LameFirstModulus< NumericType > &  lame_first_modulus,
const PoissonRatio< NumericType > &  poisson_ratio 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given Lamé's first modulus and Poisson's ratio.

Definition at line 265 of file ElasticIsotropicSolid.hpp.

◆ ElasticIsotropicSolid() [21/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const PWaveModulus< NumericType > &  p_wave_modulus,
const PoissonRatio< NumericType > &  poisson_ratio 
)
inlineconstexpr

Constructor. Constructs an elastic isotropic solid constitutive model from a given P-wave modulus and Poisson's ratio.

Definition at line 276 of file ElasticIsotropicSolid.hpp.

◆ ~ElasticIsotropicSolid()

template<typename NumericType = double>
PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::~ElasticIsotropicSolid ( )
overridedefaultnoexcept

Destructor. Destroys this elastic isotropic solid constitutive model.

◆ ElasticIsotropicSolid() [22/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( const ElasticIsotropicSolid< NumericType > &  other)
constexprdefault

Copy constructor. Constructs an elastic isotropic solid constitutive model by copying another one.

◆ ElasticIsotropicSolid() [23/23]

template<typename NumericType = double>
constexpr PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ElasticIsotropicSolid ( ElasticIsotropicSolid< NumericType > &&  other)
constexprdefaultnoexcept

Move constructor. Constructs an elastic isotropic solid constitutive model by moving another one.

Member Function Documentation

◆ GetType()

template<typename NumericType = double>
ConstitutiveModel::Type PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::GetType ( ) const
inlineoverridevirtualnoexcept

◆ IsentropicBulkModulus()

template<typename NumericType = double>
PhQ::IsentropicBulkModulus<NumericType> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::IsentropicBulkModulus ( ) const
inline

Isentropic bulk modulus of this elastic isotropic solid constitutive model.

Definition at line 327 of file ElasticIsotropicSolid.hpp.

References PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::lame_first_modulus, and PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::shear_modulus.

◆ IsothermalBulkModulus()

template<typename NumericType = double>
PhQ::IsothermalBulkModulus<NumericType> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::IsothermalBulkModulus ( ) const
inline

Isothermal bulk modulus of this elastic isotropic solid constitutive model.

Definition at line 335 of file ElasticIsotropicSolid.hpp.

References PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::lame_first_modulus, and PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::shear_modulus.

◆ JSON()

template<typename NumericType = double>
std::string PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::JSON ( ) const
inlineoverridevirtual

◆ LameFirstModulus()

template<typename NumericType = double>
constexpr const PhQ::LameFirstModulus<NumericType>& PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::LameFirstModulus ( ) const
inlineconstexprnoexcept

Lamé's first modulus of this elastic isotropic solid constitutive model.

Definition at line 313 of file ElasticIsotropicSolid.hpp.

References PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::lame_first_modulus.

◆ operator=() [1/2]

template<typename NumericType = double>
ElasticIsotropicSolid& PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::operator= ( const ElasticIsotropicSolid< NumericType > &  other)
default

Copy assignment operator. Assigns this elastic isotropic solid constitutive model by copying another one.

◆ operator=() [2/2]

template<typename NumericType = double>
ElasticIsotropicSolid& PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::operator= ( ElasticIsotropicSolid< NumericType > &&  other)
defaultnoexcept

Move assignment operator. Assigns this elastic isotropic solid constitutive model by moving another one.

◆ PoissonRatio()

template<typename NumericType = double>
PhQ::PoissonRatio<NumericType> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::PoissonRatio ( ) const
inline

◆ Print()

template<typename NumericType = double>
std::string PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Print ( ) const
inlineoverridevirtual

◆ PWaveModulus()

template<typename NumericType = double>
PhQ::PWaveModulus<NumericType> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::PWaveModulus ( ) const
inline

◆ ShearModulus()

template<typename NumericType = double>
constexpr const PhQ::ShearModulus<NumericType>& PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::ShearModulus ( ) const
inlineconstexprnoexcept

Shear modulus of this elastic isotropic solid constitutive model.

Definition at line 307 of file ElasticIsotropicSolid.hpp.

References PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::shear_modulus.

◆ Strain() [1/3]

template<typename NumericType = double>
PhQ::Strain<double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Strain ( const PhQ::Stress< double > &  stress) const
inlineoverridevirtual

◆ Strain() [2/3]

template<typename NumericType = double>
PhQ::Strain<float> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Strain ( const PhQ::Stress< float > &  stress) const
inlineoverridevirtual

◆ Strain() [3/3]

template<typename NumericType = double>
PhQ::Strain<long double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Strain ( const PhQ::Stress< long double > &  stress) const
inlineoverridevirtual

◆ StrainRate() [1/3]

template<typename NumericType = double>
PhQ::StrainRate<double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::StrainRate ( const PhQ::Stress< double > &  ) const
inlineoverridevirtual

Returns the strain rate resulting from a given stress. Since this is an elastic isotropic solid constitutive model, stress does not depend on strain rate, so this always returns a strain rate of zero.

Implements PhQ::ConstitutiveModel.

Definition at line 540 of file ElasticIsotropicSolid.hpp.

References PhQ::StrainRate< NumericType >::Zero().

◆ StrainRate() [2/3]

template<typename NumericType = double>
PhQ::StrainRate<float> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::StrainRate ( const PhQ::Stress< float > &  ) const
inlineoverridevirtual

Returns the strain rate resulting from a given stress. Since this is an elastic isotropic solid constitutive model, stress does not depend on strain rate, so this always returns a strain rate of zero.

Implements PhQ::ConstitutiveModel.

Definition at line 532 of file ElasticIsotropicSolid.hpp.

References PhQ::StrainRate< NumericType >::Zero().

◆ StrainRate() [3/3]

template<typename NumericType = double>
PhQ::StrainRate<long double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::StrainRate ( const PhQ::Stress< long double > &  ) const
inlineoverridevirtual

Returns the strain rate resulting from a given stress. Since this is an elastic isotropic solid constitutive model, stress does not depend on strain rate, so this always returns a strain rate of zero.

Implements PhQ::ConstitutiveModel.

Definition at line 548 of file ElasticIsotropicSolid.hpp.

References PhQ::StrainRate< NumericType >::Zero().

◆ Stress() [1/9]

template<typename NumericType = double>
PhQ::Stress<double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::Strain< double > &  strain) const
inlineoverridevirtual

◆ Stress() [2/9]

template<typename NumericType = double>
PhQ::Stress<double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::Strain< double > &  strain,
const PhQ::StrainRate< double > &   
) const
inlineoverridevirtual

Returns the stress resulting from a given strain and strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress and is ignored.

Implements PhQ::ConstitutiveModel.

Definition at line 373 of file ElasticIsotropicSolid.hpp.

References PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress().

◆ Stress() [3/9]

template<typename NumericType = double>
PhQ::Stress<float> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::Strain< float > &  strain) const
inlineoverridevirtual

◆ Stress() [4/9]

template<typename NumericType = double>
PhQ::Stress<float> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::Strain< float > &  strain,
const PhQ::StrainRate< float > &   
) const
inlineoverridevirtual

Returns the stress resulting from a given strain and strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress and is ignored.

Implements PhQ::ConstitutiveModel.

Definition at line 364 of file ElasticIsotropicSolid.hpp.

Referenced by PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress().

◆ Stress() [5/9]

template<typename NumericType = double>
PhQ::Stress<long double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::Strain< long double > &  strain) const
inlineoverridevirtual

◆ Stress() [6/9]

template<typename NumericType = double>
PhQ::Stress<long double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::Strain< long double > &  strain,
const PhQ::StrainRate< long double > &   
) const
inlineoverridevirtual

Returns the stress resulting from a given strain and strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress and is ignored.

Implements PhQ::ConstitutiveModel.

Definition at line 382 of file ElasticIsotropicSolid.hpp.

References PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress().

◆ Stress() [7/9]

template<typename NumericType = double>
PhQ::Stress<double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::StrainRate< double > &  ) const
inlineoverridevirtual

Returns the stress resulting from a given strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress, so this always returns a stress of zero.

Implements PhQ::ConstitutiveModel.

Definition at line 450 of file ElasticIsotropicSolid.hpp.

References PhQ::Stress< NumericType >::Zero().

◆ Stress() [8/9]

template<typename NumericType = double>
PhQ::Stress<float> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::StrainRate< float > &  ) const
inlineoverridevirtual

Returns the stress resulting from a given strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress, so this always returns a stress of zero.

Implements PhQ::ConstitutiveModel.

Definition at line 442 of file ElasticIsotropicSolid.hpp.

References PhQ::Stress< NumericType >::Zero().

◆ Stress() [9/9]

template<typename NumericType = double>
PhQ::Stress<long double> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::Stress ( const PhQ::StrainRate< long double > &  ) const
inlineoverridevirtual

Returns the stress resulting from a given strain rate. Since this is an elastic isotropic solid constitutive model, the strain rate does not contribute to the stress, so this always returns a stress of zero.

Implements PhQ::ConstitutiveModel.

Definition at line 458 of file ElasticIsotropicSolid.hpp.

References PhQ::Stress< NumericType >::Zero().

◆ XML()

template<typename NumericType = double>
std::string PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::XML ( ) const
inlineoverridevirtual

◆ YAML()

template<typename NumericType = double>
std::string PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::YAML ( ) const
inlineoverridevirtual

◆ YoungModulus()

template<typename NumericType = double>
PhQ::YoungModulus<NumericType> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::YoungModulus ( ) const
inline

Member Data Documentation

◆ lame_first_modulus

template<typename NumericType = double>
PhQ::LameFirstModulus<NumericType> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::lame_first_modulus
private

◆ shear_modulus

template<typename NumericType = double>
PhQ::ShearModulus<NumericType> PhQ::ConstitutiveModel::ElasticIsotropicSolid< NumericType >::shear_modulus
private

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