15#include <opm/common/utility/platform_dependent/disable_warnings.h>
17#include <dune/common/fmatrix.hh>
18#include <dune/common/dynvector.hh>
20#include <opm/common/utility/platform_dependent/reenable_warnings.h>
22namespace Opm::Elasticity {
36 : id(ID), rho(density)
41 virtual std::ostream&
write(std::ostream& os)
const
68 bool invers =
false)
const = 0;
74 bool invers =
false)
const = 0;
92 static Material*
create(
int ID,
const Dune::DynamicVector<double>& params);
This is a base class for linear elastic materials.
Definition material.hh:32
static Material * create(int ID, const Dune::DynamicVector< double > ¶ms)
Creates a material object of a given type.
Definition material.cpp:23
int num() const
Returns the external material id.
Definition material.hh:51
virtual bool getConstitutiveMatrix(Dune::FieldMatrix< double, 3, 3 > &C, bool invers=false) const =0
Establishes the full constitutive matrix for this material.
virtual int numPar() const =0
Returns the number of parameters describing this material.
double getMassDensity() const
Returns the mass density of this material.
Definition material.hh:77
friend std::ostream & operator<<(std::ostream &os, const Material &m)
Global stream operator printing a material properties object.
Definition material.hh:83
Material(int ID=0, double density=0.0)
Default constructor creating an empty material.
Definition material.hh:35
virtual std::ostream & write(std::ostream &os) const
Prints the material properties to a stream.
Definition material.hh:41
virtual ~Material()
Empty virtual destructor.
Definition material.hh:48
virtual bool getConstitutiveMatrix(Dune::FieldMatrix< double, 6, 6 > &C, bool invers=false) const =0
Establishes the full constitutive matrix for this material.
virtual double getPar(int=1) const
Returns the ipar'th parameter describing this material.
Definition material.hh:59