diff --git a/MaterialLib/SolidModels/Ehlers.h b/MaterialLib/SolidModels/Ehlers.h index 6e808c634c3c3ffd3c21525a755619351b053936..801c5b14927d32f027ecf6ea68f2445d3274e09c 100644 --- a/MaterialLib/SolidModels/Ehlers.h +++ b/MaterialLib/SolidModels/Ehlers.h @@ -330,6 +330,12 @@ public: return MaterialProperties(t, x, _mp); } + double getBulkModulus(double const t, + ParameterLib::SpatialPosition const& x) const override + { + return _mp.K(t, x)[0]; + } + DamageProperties evaluatedDamageProperties( double const t, ParameterLib::SpatialPosition const& x) const { diff --git a/MaterialLib/SolidModels/LinearElasticIsotropic.h b/MaterialLib/SolidModels/LinearElasticIsotropic.h index d0034a22a9785b892af191f89fe54ce1410811fe..a1c03ec5cbbef0596c96fec596501e029397c87e 100644 --- a/MaterialLib/SolidModels/LinearElasticIsotropic.h +++ b/MaterialLib/SolidModels/LinearElasticIsotropic.h @@ -104,6 +104,14 @@ public: MaterialProperties getMaterialProperties() const { return _mp; } + double getBulkModulus(double const t, + ParameterLib::SpatialPosition const& x) const override + { + return _mp.bulk_modulus(t, x); + } + + + protected: MaterialProperties _mp; }; diff --git a/MaterialLib/SolidModels/Lubby2.h b/MaterialLib/SolidModels/Lubby2.h index 9c88c65cc3ad08abe9789de364c034cf46ebb774..b9823818d6b385e8801c331a40e82b72cee71926 100644 --- a/MaterialLib/SolidModels/Lubby2.h +++ b/MaterialLib/SolidModels/Lubby2.h @@ -155,6 +155,12 @@ public: new MaterialStateVariables}; } + double getBulkModulus(double const t, + ParameterLib::SpatialPosition const& x) const override + { + return _mp.KM0(t, x)[0]; + } + public: static int const KelvinVectorSize = MathLib::KelvinVector::KelvinVectorDimensions<DisplacementDim>::value; diff --git a/MaterialLib/SolidModels/MechanicsBase.h b/MaterialLib/SolidModels/MechanicsBase.h index d83b79681be1ef478d6da654e9e70ee3d95c13d0..abfddd31c649275c304c3fa11085dfad50d0bab1 100644 --- a/MaterialLib/SolidModels/MechanicsBase.h +++ b/MaterialLib/SolidModels/MechanicsBase.h @@ -148,6 +148,13 @@ struct MechanicsBase return ConstitutiveModel::Invalid; } + virtual double getBulkModulus(double const /*t*/, + ParameterLib::SpatialPosition const& /*x*/) const + { + OGS_FATAL( + "getBulkModulus is not yet implemented for this Solid Material."); + } + /// Get temperature related coefficient for the global assembly if there is /// one. virtual double getTemperatureRelatedCoefficient(