Skip to content
Snippets Groups Projects
Commit 731a947f authored by Dmitri Naumov's avatar Dmitri Naumov
Browse files

Merge branch 'MplConvertAssertsToFatals' into 'master'

[MPL] Convert asserts to OGS_FATAL in dValue().

See merge request ogs/ogs!3811
parents b8ce717f c10d4580
No related branches found
No related tags found
No related merge requests found
Showing
with 133 additions and 93 deletions
...@@ -87,11 +87,13 @@ PropertyDataType AverageMolarMass::dValue( ...@@ -87,11 +87,13 @@ PropertyDataType AverageMolarMass::dValue(
ParameterLib::SpatialPosition const& pos, double const t, ParameterLib::SpatialPosition const& pos, double const t,
double const dt) const double const dt) const
{ {
(void)primary_variable; if ((primary_variable != Variable::phase_pressure) &&
assert(((primary_variable == Variable::phase_pressure) || (primary_variable != Variable::temperature))
(primary_variable == Variable::temperature)) && {
"AverageMolarMass::dValue is implemented for derivatives with " OGS_FATAL(
"respect to phase_pressure or temperature only."); "AverageMolarMass::dValue is implemented for derivatives with "
"respect to phase_pressure or temperature only.");
}
auto phase = std::get<Phase*>(scale_); auto phase = std::get<Phase*>(scale_);
...@@ -103,7 +105,7 @@ PropertyDataType AverageMolarMass::dValue( ...@@ -103,7 +105,7 @@ PropertyDataType AverageMolarMass::dValue(
else if (numberOfComponents > 2) else if (numberOfComponents > 2)
{ {
OGS_FATAL( OGS_FATAL(
"AverageMolarMass::dvalue is currently implemented two or less " "AverageMolarMass::dValue is currently implemented two or less "
"phase components only."); "phase components only.");
} }
......
...@@ -43,10 +43,12 @@ PropertyDataType BishopsPowerLaw::dValue( ...@@ -43,10 +43,12 @@ PropertyDataType BishopsPowerLaw::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)variable; if (variable != Variable::liquid_saturation)
assert((variable == Variable::liquid_saturation) && {
"BishopsPowerLaw::dvalue is implemented for derivatives with " OGS_FATAL(
"respect to liquid saturation only."); "BishopsPowerLaw::dValue is implemented for derivatives with "
"respect to liquid saturation only.");
}
auto const S_L = std::get<double>( auto const S_L = std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]); variable_array[static_cast<int>(Variable::liquid_saturation)]);
......
...@@ -44,11 +44,12 @@ PropertyDataType BishopsSaturationCutoff::dValue( ...@@ -44,11 +44,12 @@ PropertyDataType BishopsSaturationCutoff::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)variable; if (variable != Variable::liquid_saturation)
assert( {
(variable == Variable::liquid_saturation) && OGS_FATAL(
"BishopsSaturationCutoff::dvalue is implemented for derivatives with " "BishopsSaturationCutoff::dValue is implemented for derivatives "
"respect to liquid saturation only."); "with respect to liquid saturation only.");
}
return 0.; return 0.;
} }
......
...@@ -73,10 +73,12 @@ PropertyDataType CapillaryPressureRegularizedVanGenuchten::dValue( ...@@ -73,10 +73,12 @@ PropertyDataType CapillaryPressureRegularizedVanGenuchten::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::liquid_saturation)
assert((primary_variable == Variable::liquid_saturation) && {
"CapillaryPressureRegularizedVanGenuchten::dValue is implemented " OGS_FATAL(
"for derivatives with respect to liquid saturation only."); "CapillaryPressureRegularizedVanGenuchten::dValue is implemented "
"for derivatives with respect to liquid saturation only.");
}
const double Sl = std::get<double>( const double Sl = std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]); variable_array[static_cast<int>(Variable::liquid_saturation)]);
......
...@@ -112,10 +112,12 @@ PropertyDataType CapillaryPressureVanGenuchten::dValue( ...@@ -112,10 +112,12 @@ PropertyDataType CapillaryPressureVanGenuchten::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::liquid_saturation)
assert((primary_variable == Variable::liquid_saturation) && {
"CapillaryPressureVanGenuchten::dValue is implemented for " OGS_FATAL(
"derivatives with respect to liquid saturation only."); "CapillaryPressureVanGenuchten::dValue is implemented for "
"derivatives with respect to liquid saturation only.");
}
double const S_L = std::get<double>( double const S_L = std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]); variable_array[static_cast<int>(Variable::liquid_saturation)]);
......
...@@ -61,10 +61,12 @@ PropertyDataType SaturationBrooksCorey::dValue( ...@@ -61,10 +61,12 @@ PropertyDataType SaturationBrooksCorey::dValue(
ParameterLib::SpatialPosition const& pos, double const t, ParameterLib::SpatialPosition const& pos, double const t,
double const dt) const double const dt) const
{ {
(void)primary_variable; if (primary_variable != Variable::capillary_pressure)
assert((primary_variable == Variable::capillary_pressure) && {
"SaturationBrooksCorey::dValue is implemented for " OGS_FATAL(
" derivatives with respect to capillary pressure only."); "SaturationBrooksCorey::dValue is implemented for derivatives with "
"respect to capillary pressure only.");
}
const double s_L_res = residual_liquid_saturation_; const double s_L_res = residual_liquid_saturation_;
const double s_L_max = 1.0 - residual_gas_saturation_; const double s_L_max = 1.0 - residual_gas_saturation_;
...@@ -93,12 +95,13 @@ PropertyDataType SaturationBrooksCorey::d2Value( ...@@ -93,12 +95,13 @@ PropertyDataType SaturationBrooksCorey::d2Value(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable1; if ((primary_variable1 != Variable::capillary_pressure) &&
(void)primary_variable2; (primary_variable2 != Variable::capillary_pressure))
assert((primary_variable1 == Variable::capillary_pressure) && {
(primary_variable2 == Variable::capillary_pressure) && OGS_FATAL(
"SaturationBrooksCorey::d2Value is implemented for " "SaturationBrooksCorey::d2Value is implemented for derivatives "
" derivatives with respect to capillary pressure only."); "with respect to capillary pressure only.");
}
const double p_b = entry_pressure_; const double p_b = entry_pressure_;
const double p_cap = std::max( const double p_cap = std::max(
......
...@@ -42,10 +42,12 @@ PropertyDataType SaturationLiakopoulos::dValue( ...@@ -42,10 +42,12 @@ PropertyDataType SaturationLiakopoulos::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::capillary_pressure)
assert((primary_variable == Variable::capillary_pressure) && {
"SaturationLiakopoulos::dvalue is implemented for derivatives with " OGS_FATAL(
"respect to capillary pressure only."); "SaturationLiakopoulos::dValue is implemented for derivatives with "
"respect to capillary pressure only.");
}
const double p_cap = std::get<double>( const double p_cap = std::get<double>(
variable_array[static_cast<int>(Variable::capillary_pressure)]); variable_array[static_cast<int>(Variable::capillary_pressure)]);
...@@ -65,12 +67,13 @@ PropertyDataType SaturationLiakopoulos::d2Value( ...@@ -65,12 +67,13 @@ PropertyDataType SaturationLiakopoulos::d2Value(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable1; if ((primary_variable1 != Variable::capillary_pressure) &&
(void)primary_variable2; (primary_variable2 != Variable::capillary_pressure))
assert((primary_variable1 == Variable::capillary_pressure) && {
(primary_variable2 == Variable::capillary_pressure) && OGS_FATAL(
"SaturationLiakopoulos::ddvalue is implemented for derivatives " "SaturationLiakopoulos::d2Value is implemented for derivatives "
"with respect to capillary pressure only."); "with respect to capillary pressure only.");
}
const double p_cap = std::get<double>( const double p_cap = std::get<double>(
variable_array[static_cast<int>(Variable::capillary_pressure)]); variable_array[static_cast<int>(Variable::capillary_pressure)]);
......
...@@ -66,10 +66,12 @@ PropertyDataType SaturationVanGenuchten::dValue( ...@@ -66,10 +66,12 @@ PropertyDataType SaturationVanGenuchten::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::capillary_pressure)
assert((primary_variable == Variable::capillary_pressure) && {
"SaturationVanGenuchten::dvalue is implemented for derivatives with " OGS_FATAL(
"respect to capillary pressure only."); "SaturationVanGenuchten::dValue is implemented for derivatives "
"with respect to capillary pressure only.");
}
const double p_cap = std::get<double>( const double p_cap = std::get<double>(
variable_array[static_cast<int>(Variable::capillary_pressure)]); variable_array[static_cast<int>(Variable::capillary_pressure)]);
......
...@@ -90,7 +90,7 @@ PropertyDataType WaterVapourDensity::dValue( ...@@ -90,7 +90,7 @@ PropertyDataType WaterVapourDensity::dValue(
} }
OGS_FATAL( OGS_FATAL(
"WaterVapourDensity::dvalue is implemented for derivatives with " "WaterVapourDensity::dValue is implemented for derivatives with "
"respect to temperature or phase_pressure only."); "respect to temperature or phase_pressure only.");
} }
......
...@@ -83,10 +83,12 @@ PropertyDataType EmbeddedFracturePermeability<DisplacementDim>::dValue( ...@@ -83,10 +83,12 @@ PropertyDataType EmbeddedFracturePermeability<DisplacementDim>::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::mechanical_strain)
assert((primary_variable == Variable::mechanical_strain) && {
"EmbeddedFracturePermeability::dValue is implemented for " OGS_FATAL(
"derivatives with respect to strain only."); "EmbeddedFracturePermeability::dValue is implemented for "
"derivatives with respect to strain only.");
}
Eigen::Matrix<double, 3, 1> const n = [&] { Eigen::Matrix<double, 3, 1> const n = [&] {
if (_n_const) if (_n_const)
......
...@@ -88,10 +88,12 @@ OrthotropicEmbeddedFracturePermeability<DisplacementDim>::dValue( ...@@ -88,10 +88,12 @@ OrthotropicEmbeddedFracturePermeability<DisplacementDim>::dValue(
ParameterLib::SpatialPosition const& pos, double const t, ParameterLib::SpatialPosition const& pos, double const t,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::mechanical_strain)
assert((primary_variable == Variable::mechanical_strain) && {
"OrthotropicEmbeddedFracturePermeability::dValue is implemented for " OGS_FATAL(
" derivatives with respect to strain only."); "OrthotropicEmbeddedFracturePermeability::dValue is implemented "
"for derivatives with respect to strain only.");
}
auto const eps = formEigenTensor<3>(std::get<SymmetricTensor>( auto const eps = formEigenTensor<3>(std::get<SymmetricTensor>(
variable_array[static_cast<int>(Variable::mechanical_strain)])); variable_array[static_cast<int>(Variable::mechanical_strain)]));
......
...@@ -91,10 +91,12 @@ PropertyDataType PermeabilityOrthotropicPowerLaw<DisplacementDim>::dValue( ...@@ -91,10 +91,12 @@ PropertyDataType PermeabilityOrthotropicPowerLaw<DisplacementDim>::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::total_strain)
assert((primary_variable == Variable::total_strain) && {
"PermeabilityOrthotropicPowerLaw::dValue is implemented for " OGS_FATAL(
"derivatives with respect to total strain only."); "PermeabilityOrthotropicPowerLaw::dValue is implemented for "
"derivatives with respect to total strain only.");
}
return 0.; return 0.;
} }
......
...@@ -77,10 +77,13 @@ PropertyDataType RelPermBrooksCorey::dValue( ...@@ -77,10 +77,13 @@ PropertyDataType RelPermBrooksCorey::dValue(
ParameterLib::SpatialPosition const& pos, double const t, ParameterLib::SpatialPosition const& pos, double const t,
double const dt) const double const dt) const
{ {
(void)variable; if (variable != Variable::liquid_saturation)
assert((variable == Variable::liquid_saturation) && {
"RelPermBrooksCorey::dValue is implemented for " OGS_FATAL(
" derivatives with respect to liquid saturation only."); "RelPermBrooksCorey::dValue is implemented for derivatives with "
"respect to liquid saturation only.");
}
/// here, an extra computation of saturation is forced, guaranteeing a /// here, an extra computation of saturation is forced, guaranteeing a
/// correct value. In order to speed up the computing time, saturation could /// correct value. In order to speed up the computing time, saturation could
/// be inserted into the primary variable array after it is computed in the /// be inserted into the primary variable array after it is computed in the
......
...@@ -79,10 +79,12 @@ PropertyDataType RelPermBrooksCoreyNonwettingPhase::dValue( ...@@ -79,10 +79,12 @@ PropertyDataType RelPermBrooksCoreyNonwettingPhase::dValue(
ParameterLib::SpatialPosition const& pos, double const t, ParameterLib::SpatialPosition const& pos, double const t,
double const dt) const double const dt) const
{ {
(void)variable; if (variable != Variable::liquid_saturation)
assert((variable == Variable::liquid_saturation) && {
"RelPermBrooksCorey::dValue is implemented for " OGS_FATAL(
" derivatives with respect to liquid saturation only."); "RelPermBrooksCoreyNonwettingPhase::dValue is implemented for "
"derivatives with respect to liquid saturation only.");
}
/// here, an extra computation of saturation is forced, guaranteeing a /// here, an extra computation of saturation is forced, guaranteeing a
/// correct value. In order to speed up the computing time, saturation could /// correct value. In order to speed up the computing time, saturation could
/// be inserted into the primary variable array after it is computed in the /// be inserted into the primary variable array after it is computed in the
......
...@@ -65,10 +65,12 @@ PropertyDataType RelPermLiakopoulos::dValue( ...@@ -65,10 +65,12 @@ PropertyDataType RelPermLiakopoulos::dValue(
ParameterLib::SpatialPosition const& pos, double const t, ParameterLib::SpatialPosition const& pos, double const t,
double const dt) const double const dt) const
{ {
(void)variable; if (variable != Variable::liquid_saturation)
assert((variable == Variable::liquid_saturation) && {
"RelPermLiakopoulos::dValue is implemented for " OGS_FATAL(
" derivatives with respect to liquid saturation only."); "RelPermLiakopoulos::dValue is implemented for derivatives with "
"respect to liquid saturation only.");
}
/// here, an extra computation of saturation is forced, guaranteeing a /// here, an extra computation of saturation is forced, guaranteeing a
/// correct value. In order to speed up the computing time, saturation could /// correct value. In order to speed up the computing time, saturation could
/// be inserted into the primary variable array after it is computed in the /// be inserted into the primary variable array after it is computed in the
......
...@@ -56,11 +56,12 @@ PropertyDataType RelPermNonWettingPhaseVanGenuchtenMualem::dValue( ...@@ -56,11 +56,12 @@ PropertyDataType RelPermNonWettingPhaseVanGenuchtenMualem::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)variable; if (variable != Variable::liquid_saturation)
assert( {
(variable == Variable::liquid_saturation) && OGS_FATAL(
"RelPermNonWettingPhaseVanGenuchtenMualem::dValue is implemented for " "RelPermNonWettingPhaseVanGenuchtenMualem::dValue is implemented "
"the derivative with respect to liquid saturation only."); "for the derivative with respect to liquid saturation only.");
}
const double S_L = std::get<double>( const double S_L = std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]); variable_array[static_cast<int>(Variable::liquid_saturation)]);
......
...@@ -67,10 +67,12 @@ PropertyDataType RelPermUdell::dValue( ...@@ -67,10 +67,12 @@ PropertyDataType RelPermUdell::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)variable; if (variable != Variable::liquid_saturation)
assert((variable == Variable::liquid_saturation) && {
"RelPermUdell::dValue is implemented for " OGS_FATAL(
" derivatives with respect to liquid saturation only."); "RelPermUdell::dValue is implemented for derivatives with respect "
"to liquid saturation only.");
}
const double S_L = std::get<double>( const double S_L = std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]); variable_array[static_cast<int>(Variable::liquid_saturation)]);
......
...@@ -72,10 +72,12 @@ PropertyDataType RelPermUdellNonwettingPhase::dValue( ...@@ -72,10 +72,12 @@ PropertyDataType RelPermUdellNonwettingPhase::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::liquid_saturation)
assert((primary_variable == Variable::liquid_saturation) && {
"RelPermUdellNonwettingPhase::dValue is implemented for " OGS_FATAL(
"derivatives with respect to liquid saturation only."); "RelPermUdellNonwettingPhase::dValue is implemented for "
"derivatives with respect to liquid saturation only.");
}
const double S_L = std::get<double>( const double S_L = std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]); variable_array[static_cast<int>(Variable::liquid_saturation)]);
......
...@@ -60,10 +60,13 @@ PropertyDataType RelPermVanGenuchten::dValue( ...@@ -60,10 +60,13 @@ PropertyDataType RelPermVanGenuchten::dValue(
ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::liquid_saturation)
assert((primary_variable == Variable::liquid_saturation) && {
"RelativePermeabilityVanGenuchten::dValue is implemented for " OGS_FATAL(
"derivatives with respect to liquid saturation only."); "RelativePermeabilityVanGenuchten::dValue is implemented for "
"derivatives with respect to liquid saturation only.");
}
double const S_L = std::clamp( double const S_L = std::clamp(
std::get<double>( std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]), variable_array[static_cast<int>(Variable::liquid_saturation)]),
......
...@@ -104,10 +104,12 @@ PropertyDataType SaturationDependentSwelling::dValue( ...@@ -104,10 +104,12 @@ PropertyDataType SaturationDependentSwelling::dValue(
ParameterLib::SpatialPosition const& pos, double const /*t*/, ParameterLib::SpatialPosition const& pos, double const /*t*/,
double const /*dt*/) const double const /*dt*/) const
{ {
(void)primary_variable; if (primary_variable != Variable::liquid_saturation)
assert((primary_variable == Variable::liquid_saturation) && {
"SaturationDependentSwelling::dValue is implemented for " OGS_FATAL(
"derivatives with respect to liquid saturation only."); "SaturationDependentSwelling::dValue is implemented for "
"derivatives with respect to liquid saturation only.");
}
auto const S_L = std::get<double>( auto const S_L = std::get<double>(
variable_array[static_cast<int>(Variable::liquid_saturation)]); variable_array[static_cast<int>(Variable::liquid_saturation)]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment