24#ifndef _GEMA_PLUGIN_POROUS_ELASTIC_MATERIAL_H_
25#define _GEMA_PLUGIN_POROUS_ELASTIC_MATERIAL_H_
27#include <gmpFemPhysicsCommonMaterial.h>
29#include <gmpHydraulicMaterial.h>
31#include "gmpMechanicalMaterial.h"
32#include "gmpMaterialElastic.h"
33#include "gmpMechanicPoint.h"
71 if (propertyAc(
KSS_ID) == NULL)
76 double Kss = propertyAc(
KSS_ID)->scalarValueAt(e, coord, ip);
77 if (Kss <= 0.0) { Kss = 1.0e25; }
83 virtual double porousBulkModulus(
const GmElement* e,
const GmVector* coord,
int ip)
const
85 const GmpMechanicalMaterialElastic* mmat =
dynamic_cast<const GmpMechanicalMaterialElastic*
>(
mechanical());
87 return mmat->bulkModulus(e, coord, ip);
91 virtual double biotCoeffient(
const GmElement* e,
const GmVector* coord,
int ip)
const
93 const GmpMechanicalMaterialElastic* mmat =
dynamic_cast<const GmpMechanicalMaterialElastic*
>(
mechanical());
95 double Kb = mmat->bulkModulus(e, coord, ip);
97 double alpha = 1.0 - (Kb / Ks);
Basic class for a coupled hydro-mechanical material object, storing references for a mechanical and a...
Definition gmpCoupledHMMaterial.h:41
GmpMechanicalMaterial * mechanical() const
Returns the mechancial material or NULL if none was configured or if the material is an interface mat...
Definition gmpCoupledHMMaterial.h:83
Definition gmpPorousElasticMaterial.h:36
GmpPorousElasticMaterial(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpPorousElasticMaterial.h:50
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition gmpPorousElasticMaterial.cpp:40
ElementPropertyIds
IDs for material element properties.
Definition gmpPorousElasticMaterial.h:40
@ KSS_ID
Id for retrieving the solid grain bulk Modulus accessor.
Definition gmpPorousElasticMaterial.h:41
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpPorousElasticMaterial.h:44
virtual ~GmpPorousElasticMaterial()
Destructor.
Definition gmpPorousElasticMaterial.h:56
virtual double solidBulkModulus(const GmElement *e, const GmVector *coord, int ip) const
Returns the solid grain bulk modulus.
Definition gmpPorousElasticMaterial.h:69
static GmpFemPhysicsCommonMaterial * instance(GmSimulationData *simulation, int typeIndex, QString typeName, const GmLogCategory &logger)
A "factory" function used to register the material with the physics material factory.
Definition gmpPorousElasticMaterial.h:59
Declaration of the GmpCoupledHMMaterial class.