diff --git a/MaterialLib/Fluid/GibbsFreeEnergy/DimensionLessGibbsFreeEnergyRegion1.h b/MaterialLib/Fluid/GibbsFreeEnergy/DimensionLessGibbsFreeEnergyRegion1.h index 8191e0fa4aa9cff0b9397c803fd1bfa1b1af52c4..ef7049badde1ab5996564b0b4e9d6da8c7cac38f 100644 --- a/MaterialLib/Fluid/GibbsFreeEnergy/DimensionLessGibbsFreeEnergyRegion1.h +++ b/MaterialLib/Fluid/GibbsFreeEnergy/DimensionLessGibbsFreeEnergyRegion1.h @@ -30,11 +30,8 @@ namespace Fluid * Coefficients \f$n_i\f$, \f$j_i\f$ and \f$l_i\f$ are given in three static * arrays in the cpp file. */ -class DimensionLessGibbsFreeEnergyRegion1 +struct DimensionLessGibbsFreeEnergyRegion1 { -public: - DimensionLessGibbsFreeEnergyRegion1() = default; - /** * Get the value * @param pi Dimension less temperature diff --git a/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationExponential.cpp b/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationExponential.cpp index f9bbe5a9f7fd6aee827d8b5ff0898e2f337d51d7..e45c7c7446279c304c19096496d75bc03970a925 100644 --- a/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationExponential.cpp +++ b/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationExponential.cpp @@ -63,10 +63,12 @@ PropertyDataType SaturationExponential::dValue( ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, double const /*dt*/) const { - (void)primary_variable; - assert((primary_variable == Variable::capillary_pressure) && - "SaturationExponential::dValue is implemented for derivatives with " - "respect to capillary pressure only."); + if (primary_variable != Variable::capillary_pressure) + { + OGS_FATAL( + "SaturationExponential::dValue is implemented for derivatives with " + "respect to capillary pressure only."); + } const double p_cap = std::get<double>( variable_array[static_cast<int>(Variable::capillary_pressure)]); diff --git a/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.cpp b/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.cpp index f2dfdff8a6664e41a68bfbb8da07716e136cbd01..e05b51c1159bf273736987e1b15e6d6fab56e8ed 100644 --- a/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.cpp +++ b/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.cpp @@ -61,7 +61,14 @@ PropertyDataType WaterVapourLatentHeatWithCriticalTemperature::value( // The formula gives the value in kJ/kg, and the return value is in the // units of J/kg. - return 1000.0 * std::transform_reduce(begin(c), end(c), begin(v), 0.); + + return 1000.0 * +#if __GNUC__ < 9 || (__GNUC__ == 9 && (__GNUC_MINOR__ < 3)) + std::inner_product +#else + std::transform_reduce +#endif + (begin(c), end(c), begin(v), 0.); } PropertyDataType WaterVapourLatentHeatWithCriticalTemperature::dValue( @@ -109,7 +116,13 @@ PropertyDataType WaterVapourLatentHeatWithCriticalTemperature::dValue( // The formula gives the value in kJ/kg/K, and the value is return in // the unit of J/kg/K. - return -1000.0 * std::transform_reduce(begin(dc), end(dc), begin(v), 0.) / + return -1000.0 * +#if __GNUC__ < 9 || (__GNUC__ == 9 && (__GNUC_MINOR__ < 3)) + std::inner_product +#else + std::transform_reduce +#endif + (begin(dc), end(dc), begin(v), 0.) / T_c; } diff --git a/MathLib/LinAlg/Eigen/EigenMatrix.h b/MathLib/LinAlg/Eigen/EigenMatrix.h index 387d4749dc070a46f51d8f81120f21b5018a5e8e..50aa596ef7bedc7c2eea607e535b86c328782252 100644 --- a/MathLib/LinAlg/Eigen/EigenMatrix.h +++ b/MathLib/LinAlg/Eigen/EigenMatrix.h @@ -34,12 +34,12 @@ public: // TODO The matrix constructor should take num_rows and num_cols as // arguments // that is left for a later refactoring. - /** - * constructor - * @param n the number of rows (that is equal to the number of columns) - * @param n_nonzero_columns the number of non-zero columns used for preallocation - */ - explicit EigenMatrix(IndexType n, IndexType n_nonzero_columns = 0) + + /// @param n the number of rows (that is equal to the number of columns). + /// @param n_nonzero_columns the number of non-zero columns used for + /// preallocation. + explicit EigenMatrix(IndexType const n, + IndexType const n_nonzero_columns = 0) : mat_(n, n) { if (n_nonzero_columns > 0) diff --git a/MeshLib/MeshQuality/ElementQualityMetric.cpp b/MeshLib/MeshQuality/ElementQualityMetric.cpp index c6b5bc125ea053c5d36708f4e92b57d4f577c837..a690b67d2d31ec920f1c0cc82c4822a94e1c6752 100644 --- a/MeshLib/MeshQuality/ElementQualityMetric.cpp +++ b/MeshLib/MeshQuality/ElementQualityMetric.cpp @@ -31,7 +31,8 @@ BaseLib::Histogram<double> ElementQualityMetric::getHistogram( if (n_bins == 0) { n_bins = static_cast<std::size_t>( - 1 + 3.3 * log(static_cast<float>((_mesh.getNumberOfElements())))); + 1 + + 3.3 * std::log(static_cast<float>((_mesh.getNumberOfElements())))); } return BaseLib::Histogram<double>(getElementQuality(), n_bins, true); diff --git a/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h b/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h index 584185f1a618dd3ad42252eb0525a69bd870c698..1bd0a44fb07ef79ff3ebde9b87797ad54afcfebb 100644 --- a/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h +++ b/ProcessLib/BoundaryConditionAndSourceTerm/VolumetricSourceTermFEM.h @@ -98,7 +98,7 @@ public: N))}; auto const st_val = _volumetric_source_term(t, pos)[0]; - _local_rhs.noalias() += st_val * w * N; + _local_rhs.noalias() += N.transpose() * st_val * w; } auto const indices = NumLib::getIndices(id, source_term_dof_table); b.add(indices, _local_rhs); diff --git a/ProcessLib/TimeLoop.cpp b/ProcessLib/TimeLoop.cpp index 7500d63fa57d7c09a45f4dcb7f10503aa87bf3cf..23640a76b851e78304784e6efacbcf056f6ac0ec 100644 --- a/ProcessLib/TimeLoop.cpp +++ b/ProcessLib/TimeLoop.cpp @@ -413,7 +413,9 @@ double TimeLoop::computeTimeStepping(const double prev_dt, double& t, if (!ppd.nonlinear_solver_status.error_norms_met) { - WARN("Time step will be rejected due to nonlinear solver diverged"); + WARN( + "Time step will be rejected due to nonlinear solver " + "divergence."); all_process_steps_accepted = false; }