Skip to content

Commit 7c441cf

Browse files
committed
rearrange equation to reduce a number of divisions
1 parent 31dcc0d commit 7c441cf

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

applications/GeoMechanicsApplication/custom_utilities/constitutive_law_utilities.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -188,14 +188,15 @@ double ConstitutiveLawUtilities::CalculateK0NCFromFrictionAngleInRadians(double
188188
double ConstitutiveLawUtilities::UndrainedExcessPorePressureIncrement(const Properties& rProperties,
189189
double VolumetricStrainIncrement)
190190
{
191-
const auto c_f = 1.0 / rProperties[BULK_MODULUS_FLUID];
192-
const auto c_s = 1.0 / rProperties[BULK_MODULUS_SOLID];
193-
const auto porosity = rProperties[POROSITY];
194-
const auto biot_coefficient = rProperties[BIOT_COEFFICIENT];
195-
const auto denominator = porosity * c_f + (biot_coefficient - porosity) * c_s;
196-
KRATOS_ERROR_IF(abs(denominator) <= std::numeric_limits<double>::epsilon())
191+
const double k_f = rProperties[BULK_MODULUS_FLUID];
192+
const double k_s = rProperties[BULK_MODULUS_SOLID];
193+
const double porosity = rProperties[POROSITY];
194+
const double biot_coefficient = rProperties[BIOT_COEFFICIENT];
195+
196+
const double denominator = porosity * k_s + (biot_coefficient - porosity) * k_f;
197+
KRATOS_ERROR_IF(std::abs(denominator) <= std::numeric_limits<double>::epsilon())
197198
<< "Non-physical values: denominator < epsilon." << std::endl;
198-
return biot_coefficient / denominator * VolumetricStrainIncrement;
199+
return biot_coefficient * (k_f * k_s) / denominator * VolumetricStrainIncrement;
199200
}
200201

201202
} // namespace Kratos

0 commit comments

Comments
 (0)