25#ifndef _GEMA_PLUGIN_MECHANICALMATERIAL_FLUID_H_
26#define _GEMA_PLUGIN_MECHANICALMATERIAL_FLUID_H_
29#include <gmpFemPhysics.h>
57 virtual const QVariantMap* materialMetaDataMap()
63 m[
"properties"] = GmpFemPhysicsCommon::ValueList()
64 << GmpFemPhysicsCommon::ScalarValue(Bf_ID,
"Bf",
QObject::tr(
"Fluid compressibility"),
"1/kPa",
true);
84 const int ns = GmpMechanicUtils::getNumStressComp(sc);
91 const GmVector eu_old(mp->_oldStrain->valueAt(e, ip, coord), ns);
93 const GmVector s_old(mp->_oldStress->valueAt(e, ip, coord), ns);
95 const GmVector sr(mp->_residualStress->valueAt(e, ip, coord), ns);
98 const GmVector eu(mp->_newStrain->valueAt(e,ip, coord), ns);
101 double Cf = fluidCompressibility(e, coord, ip);
109 dStrain = eu - eu_old;
112 s = s_old + De*dStrain + sr;
115 mp->_newStress->setValue(e, ip, s.mem);
116 mp->_newYSR->setScalarValue(e, ip, 1.0);
127 double Cf = propertyAc(Bf_ID)->scalarValueAt(e, coord, ip);
Definition gmpMaterialFluid.h:36
virtual double fluidCompressibility(const GmElement *e, const GmVector *coord, int ip) const
Returns the material elastic modulus.
Definition gmpMaterialFluid.h:124
virtual bool isIsotropic() const
Returns true if the material is isotropic, false otherwise.
Definition gmpMaterialFluid.h:121
ElementPropertyIds
IDs for material element properties.
Definition gmpMaterialFluid.h:40
@ Bf_ID
Id for retrieving the Fluid compressibiolity accessor.
Definition gmpMaterialFluid.h:41
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialFluid.h:44
virtual bool mechanicalConstitutiveModel(const GmElement *e, GmMatrix &De, const GmpMechanicPoint *mp, const GmVector *coord, const GmVector &Time, unsigned sc, bool ips) const
Evaluates stress and tangent matrix according to the material behavior adopted.
Definition gmpMaterialFluid.h:77
virtual ~GmpMaterialFluid()
Virtual destructor.
Definition gmpMaterialFluid.h:54
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 gmpMaterialFluid.h:70
GmpMaterialFluid(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpMaterialFluid.h:50
Definition gmpMechanicPoint.h:33
Basic class providing the interface for a mechanical material.
Definition gmpMechanicalMaterial.h:43
Declaration of the GmpMechanicPoint class.
Declaration of useful configuration definitions for the plugin library.
Declaration of the GmpMechanicalMaterial class.
void elasticStiffnessKG(GmMatrix &De, double K, double G, unsigned sc, unsigned ips)
Computes the elastic stiffness matrix using K and G.
Definition gmpMechanicalMaterial.cpp:1041
QString tr(const char *sourceText, const char *disambiguation, int n)