My Project
Loading...
Searching...
No Matches
Opm::Elasticity::Isotropic Class Reference

Isotropic linear elastic material. More...

#include <materials.hh>

Inheritance diagram for Opm::Elasticity::Isotropic:
Opm::Elasticity::Material

Public Member Functions

 Isotropic (int ID, double Emod, double Poisson, double rho_=0.0)
 Constructor creating a new isotropic material.
 
 ~Isotropic () override
 Empty virtual destructor.
 
int numPar () const override
 Returns the number of parameters describing this material.
 
double getPar (int ipar=1) const override
 Returns the ipar'th parameter describing this material.
 
void setE (double E_)
 Set the E modulus of the material.
 
double getE () const
 Returns the E modulus of the material.
 
bool getConstitutiveMatrix (Dune::FieldMatrix< double, 6, 6 > &C, bool invers=false) const override
 Establishes the full constitutive matrix for this material.
 
bool getConstitutiveMatrix (Dune::FieldMatrix< double, 3, 3 > &C, bool invers=false) const override
 Establishes the full constitutive matrix for this material.
 
- Public Member Functions inherited from Opm::Elasticity::Material
virtual ~Material ()
 Empty virtual destructor.
 
int num () const
 Returns the external material id.
 
double getMassDensity () const
 Returns the mass density of this material.
 

Protected Member Functions

std::ostream & write (std::ostream &os) const override
 Prints the material properties to a stream.
 
- Protected Member Functions inherited from Opm::Elasticity::Material
 Material (int ID=0, double density=0.0)
 Default constructor creating an empty material.
 

Additional Inherited Members

- Static Public Member Functions inherited from Opm::Elasticity::Material
static Materialcreate (int ID, const Dune::DynamicVector< double > &params)
 Creates a material object of a given type.
 
static Materialcreate (int ID, const std::string &file)
 Creates a material object from a rocklist.
 

Detailed Description

Isotropic linear elastic material.

Constructor & Destructor Documentation

◆ Isotropic()

Opm::Elasticity::Isotropic::Isotropic ( int  ID,
double  Emod,
double  Poisson,
double  rho_ = 0.0 
)
inline

Constructor creating a new isotropic material.

Parameters
[in]IDExternal material number
[in]EmodYoung's modulus
[in]PoissonPoisson's ratio
[in]rho_Mass density

Member Function Documentation

◆ getConstitutiveMatrix() [1/2]

bool Opm::Elasticity::Isotropic::getConstitutiveMatrix ( Dune::FieldMatrix< double, 3, 3 > &  C,
bool  invers = false 
) const
overridevirtual

Establishes the full constitutive matrix for this material.

Parameters
[out]CThe constitutive matrix
[in]inversIf true, set up the inverse matrix instead

Implements Opm::Elasticity::Material.

◆ getConstitutiveMatrix() [2/2]

bool Opm::Elasticity::Isotropic::getConstitutiveMatrix ( Dune::FieldMatrix< double, 6, 6 > &  C,
bool  invers = false 
) const
overridevirtual

Establishes the full constitutive matrix for this material.

For edim = 3:

Parameters
[out]CThe constitutive matrix
[in]inversIf true, set up the inverse matrix instead

\[
[C] = \frac{E}{(1+\nu)(1-2\nu)} \left[\begin{array}{cccccc}
1-\nu & \nu & \nu \\
\nu & 1-\nu & \nu \\
\nu & \nu & 1-\nu \\
& & & \frac{1}{2}-\nu \\
& & & & \frac{1}{2}-\nu \\
& & & & & \frac{1}{2}-\nu
\end{array}\right] \]

For edim = 2 (plain strain):

\[
[C] = \frac{E}{(1+\nu)(1-2\nu)} \left[\begin{array}{ccc}
1-\nu & \nu \\
\nu & 1-\nu \\
& & \frac{1}{2}-\nu
\end{array}\right] \]

Implements Opm::Elasticity::Material.

◆ getPar()

double Opm::Elasticity::Isotropic::getPar ( int  ipar = 1) const
inlineoverridevirtual

Returns the ipar'th parameter describing this material.

Reimplemented from Opm::Elasticity::Material.

◆ numPar()

int Opm::Elasticity::Isotropic::numPar ( ) const
inlineoverridevirtual

Returns the number of parameters describing this material.

Implements Opm::Elasticity::Material.

◆ setE()

void Opm::Elasticity::Isotropic::setE ( double  E_)
inline

Set the E modulus of the material.

Parameters
[in]E_The E modulus to be set

◆ write()

std::ostream & Opm::Elasticity::Isotropic::write ( std::ostream &  os) const
overrideprotectedvirtual

Prints the material properties to a stream.

Reimplemented from Opm::Elasticity::Material.


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