My Project
Loading...
Searching...
No Matches
Opm::Elasticity::Material Class Referenceabstract

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

#include <material.hh>

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

Public Member Functions

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

Static Public Member Functions

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.
 

Protected Member Functions

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

Friends

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

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.

Member Function Documentation

◆ create() [1/2]

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

◆ create() [2/2]

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

◆ getConstitutiveMatrix() [1/2]

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::Isotropic, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::OrthotropicSym.

◆ getConstitutiveMatrix() [2/2]

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::Isotropic, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::OrthotropicSym.

◆ getPar()

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

Returns the ipar'th parameter describing this material.

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

◆ numPar()

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

Returns the number of parameters describing this material.

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

◆ write()

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

Prints the material properties to a stream.

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


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