Isotropic linear elastic material. More...

#include <materials.hh>

Inheritance diagram for Opm::Elasticity::Isotropic:
Inheritance graph

Public Member Functions

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

Static Public Member Functions

static Materialcreate (int ID, const Dune::DynamicVector< double > &params)
 Creates a material object of a given type. More...
 
static Materialcreate (int ID, const std::string &file)
 Creates a material object from a rocklist. More...
 

Protected Member Functions

std::ostream & write (std::ostream &os) const override
 Prints the material properties to a stream. More...
 

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

References Opm::Elasticity::Emod.

◆ ~Isotropic()

Opm::Elasticity::Isotropic::~Isotropic ( )
inlineoverride

Empty virtual destructor.

Member Function Documentation

◆ create() [1/2]

static Material * Opm::Elasticity::Material::create ( int  ID,
const Dune::DynamicVector< double > &  params 
)
staticinherited

Creates a material object of a given type.

The material type depends on the number of parameters provided.

Parameters
[in]IDExternal number for this material
[in]paramsArray of material parameters

Referenced by Opm::Elasticity::IMPL_FUNC().

◆ create() [2/2]

static Material * Opm::Elasticity::Material::create ( int  ID,
const std::string &  file 
)
staticinherited

Creates a material object from a rocklist.

Parameters
[in]IDID of the material
[in]fileThe URL to the rocklist

◆ 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.

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

Implements Opm::Elasticity::Material.

◆ getE()

double Opm::Elasticity::Isotropic::getE ( ) const
inline

Returns the E modulus of the material.

◆ getMassDensity()

double Opm::Elasticity::Material::getMassDensity ( ) const
inlineinherited

Returns the mass density of this 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.

◆ num()

int Opm::Elasticity::Material::num ( ) const
inlineinherited

Returns the external material id.

◆ 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 file: