My Project
|
This is a base class for linear elastic materials. More...
#include <material.hh>
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 Material * | create (int ID, const Dune::DynamicVector< double > ¶ms) |
Creates a material object of a given type. | |
static Material * | create (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. | |
This is a base class for linear elastic materials.
It is an abstract class since some of the member functions are purely virtual.
|
static |
Creates a material object of a given type.
The material type depends on the number of parameters provided.
[in] | ID | External number for this material |
[in] | params | Array of material parameters |
|
static |
Creates a material object from a rocklist.
[in] | ID | ID of the material |
[in] | file | The URL to the rocklist |
|
pure virtual |
Establishes the full constitutive matrix for this material.
[out] | C | The constitutive matrix |
[in] | invers | If true, set up the inverse matrix instead |
Implemented in Opm::Elasticity::Isotropic, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::OrthotropicSym.
|
pure virtual |
Establishes the full constitutive matrix for this material.
[out] | C | The constitutive matrix |
[in] | invers | If true, set up the inverse matrix instead |
Implemented in Opm::Elasticity::Isotropic, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::OrthotropicSym.
|
inlinevirtual |
Returns the ipar'th parameter describing this material.
Reimplemented in Opm::Elasticity::Isotropic, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::OrthotropicSym.
|
pure virtual |
Returns the number of parameters describing this material.
Implemented in Opm::Elasticity::Isotropic, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::OrthotropicSym.
|
inlineprotectedvirtual |
Prints the material properties to a stream.
Reimplemented in Opm::Elasticity::Isotropic, Opm::Elasticity::OrthotropicD, and Opm::Elasticity::OrthotropicSym.