This is a base class for linear elastic materials. More...

#include <material.hh>

Inheritance diagram for Opm::Elasticity::Material:
Inheritance graph

Public Member Functions

virtual ~Material ()
 Empty virtual destructor. More...
 
int num () const
 Returns the external material id. More...
 
virtual int numPar () const =0
 Returns the number of parameters describing this material. More...
 
virtual double getPar (int ipar=1) const
 Returns the ipar'th parameter describing this material. More...
 
virtual bool getConstitutiveMatrix (Dune::FieldMatrix< double, 6, 6 > &C, bool invers=false) const =0
 Establishes the full constitutive matrix for this material. More...
 
virtual bool getConstitutiveMatrix (Dune::FieldMatrix< double, 3, 3 > &C, bool invers=false) const =0
 Establishes the full constitutive matrix for this material. More...
 
double getMassDensity () const
 Returns the mass density of this material. More...
 

Static Public Member Functions

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

Protected Member Functions

 Material (int ID=0, double density=0.0)
 Default constructor creating an empty material. More...
 
virtual std::ostream & write (std::ostream &os) const
 Prints the material properties to a stream. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Material &m)
 Global stream operator printing a material properties object. More...
 

Detailed Description

This is a base class for linear elastic materials.

It is an abstract class since some of the member functions are purely virtual.

Constructor & Destructor Documentation

Opm::Elasticity::Material::Material ( int  ID = 0,
double  density = 0.0 
)
inlineprotected

Default constructor creating an empty material.

virtual Opm::Elasticity::Material::~Material ( )
inlinevirtual

Empty virtual destructor.

Member Function Documentation

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

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().

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

Creates a material object from a rocklist.

Parameters
[in]IDID of the material
[in]fileThe URL to the rocklist
virtual bool Opm::Elasticity::Material::getConstitutiveMatrix ( Dune::FieldMatrix< double, 6, 6 > &  C,
bool  invers = false 
) const
pure virtual

Establishes the full constitutive matrix for this material.

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

Implemented in Opm::Elasticity::OrthotropicSym, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::Isotropic.

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

Establishes the full constitutive matrix for this material.

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

Implemented in Opm::Elasticity::OrthotropicSym, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::Isotropic.

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

Returns the mass density of this material.

virtual double Opm::Elasticity::Material::getPar ( int  ipar = 1) const
inlinevirtual

Returns the ipar'th parameter describing this material.

Reimplemented in Opm::Elasticity::OrthotropicSym, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::Isotropic.

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

Returns the external material id.

virtual int Opm::Elasticity::Material::numPar ( ) const
pure virtual

Returns the number of parameters describing this material.

Implemented in Opm::Elasticity::OrthotropicSym, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::Isotropic.

virtual std::ostream& Opm::Elasticity::Material::write ( std::ostream &  os) const
inlineprotectedvirtual

Prints the material properties to a stream.

Reimplemented in Opm::Elasticity::OrthotropicSym, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::Isotropic.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Material &  m 
)
friend

Global stream operator printing a material properties object.


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