Orthotropic linear elastic material with diagonal constitutive matrix. More...

#include <materials.hh>

Inheritance diagram for Opm::Elasticity::OrthotropicD:
Inheritance graph

Public Member Functions

 OrthotropicD (int ID, double Ex, double Ey, double Ez, double Gxy, double Gxz=double(-1), double Gyz=double(-1))
 Constructor creating a new material. More...
 
 ~OrthotropicD () 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...
 
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

Orthotropic linear elastic material with diagonal constitutive matrix.

Constructor & Destructor Documentation

◆ OrthotropicD()

Opm::Elasticity::OrthotropicD::OrthotropicD ( int  ID,
double  Ex,
double  Ey,
double  Ez,
double  Gxy,
double  Gxz = double(-1),
double  Gyz = double(-1) 
)

Constructor creating a new material.

Parameters
[in]IDExternal material number
[in]ExElasticity modulus in local x-direction
[in]EyElasticity modulus in local y-direction
[in]EzElasticity modulus in local z-direction
[in]GxyShear modulus in the local xy-plane
[in]GxzShear modulus in the local xz-plane, default = Gxy
[in]GyzShear modulus in the local yz-plane, default = Gxz

◆ ~OrthotropicD()

Opm::Elasticity::OrthotropicD::~OrthotropicD ( )
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::OrthotropicD::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::OrthotropicD::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.

◆ getMassDensity()

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

Returns the mass density of this material.

◆ getPar()

double Opm::Elasticity::OrthotropicD::getPar ( int  ipar = 1) const
overridevirtual

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::OrthotropicD::numPar ( ) const
inlineoverridevirtual

Returns the number of parameters describing this material.

Implements Opm::Elasticity::Material.

◆ write()

std::ostream & Opm::Elasticity::OrthotropicD::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: