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

 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: