diff --git a/Documentation/ProjectFile/properties/property/GeneralWaterVapourLatentHeat/c_GeneralWaterVapourLatentHeat.md b/Documentation/ProjectFile/properties/property/GeneralWaterVapourLatentHeat/c_GeneralWaterVapourLatentHeat.md deleted file mode 100644 index b37b7225ae1c5156988d3bada7dd999b2ae2203b..0000000000000000000000000000000000000000 --- a/Documentation/ProjectFile/properties/property/GeneralWaterVapourLatentHeat/c_GeneralWaterVapourLatentHeat.md +++ /dev/null @@ -1 +0,0 @@ -\copydoc MaterialPropertyLib::GeneralWaterVapourLatentHeat diff --git a/Documentation/ProjectFile/properties/property/WaterVapourLatentHeatWithCriticalTemperature/c_WaterVapourLatentHeatWithCriticalTemperature.md b/Documentation/ProjectFile/properties/property/WaterVapourLatentHeatWithCriticalTemperature/c_WaterVapourLatentHeatWithCriticalTemperature.md new file mode 100644 index 0000000000000000000000000000000000000000..4cac4c1fc2ff979539a3ed5f86644032d1f15fe3 --- /dev/null +++ b/Documentation/ProjectFile/properties/property/WaterVapourLatentHeatWithCriticalTemperature/c_WaterVapourLatentHeatWithCriticalTemperature.md @@ -0,0 +1 @@ +\copydoc MaterialPropertyLib::WaterVapourLatentHeatWithCriticalTemperature diff --git a/Documentation/images/general_latent_heat_water_vapour.png b/Documentation/images/general_latent_heat_water_vapour.png deleted file mode 100644 index 5c29724d82ba1055abbe53a04871eb2947b876c1..0000000000000000000000000000000000000000 Binary files a/Documentation/images/general_latent_heat_water_vapour.png and /dev/null differ diff --git a/Documentation/images/latent_heat_water_vapour_with_critical_T.png b/Documentation/images/latent_heat_water_vapour_with_critical_T.png new file mode 100644 index 0000000000000000000000000000000000000000..1560c9baaa0075a69654384cb5991dca21f8bfaa Binary files /dev/null and b/Documentation/images/latent_heat_water_vapour_with_critical_T.png differ diff --git a/MaterialLib/MPL/CreateProperty.cpp b/MaterialLib/MPL/CreateProperty.cpp index 7c74fbc4aedb9f0f6c13e5d30ac51c03b78a9dc1..789572824f6553bc25a17c17476b3b4592ba9500 100644 --- a/MaterialLib/MPL/CreateProperty.cpp +++ b/MaterialLib/MPL/CreateProperty.cpp @@ -247,9 +247,10 @@ std::unique_ptr<MaterialPropertyLib::Property> createProperty( return createLinearWaterVapourLatentHeat(config); } - if (boost::iequals(property_type, "GeneralWaterVapourLatentHeat")) + if (boost::iequals(property_type, + "WaterVapourLatentHeatWithCriticalTemperature")) { - return createGeneralWaterVapourLatentHeat(config); + return createWaterVapourLatentHeatWithCriticalTemperature(config); } // If none of the above property types are found, OGS throws an error. diff --git a/MaterialLib/MPL/Properties/CreateProperties.h b/MaterialLib/MPL/Properties/CreateProperties.h index 7f1dd0449f0ec202d1fa42a988cad45644ae0a4e..705477492ac97a86837bb3a80d3eb19b505d8311 100644 --- a/MaterialLib/MPL/Properties/CreateProperties.h +++ b/MaterialLib/MPL/Properties/CreateProperties.h @@ -39,8 +39,8 @@ #include "CreateStrainDependentPermeability.h" #include "CreateTransportPorosityFromMassBalance.h" #include "Density/CreateWaterVapourDensity.h" -#include "Enthalpy/CreateGeneralWaterVapourLatentHeat.h" #include "Enthalpy/CreateLinearWaterVapourLatentHeat.h" +#include "Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.h" #include "RelativePermeability/CreateRelPermBrooksCorey.h" #include "RelativePermeability/CreateRelPermBrooksCoreyNonwettingPhase.h" #include "RelativePermeability/CreateRelPermLiakopoulos.h" diff --git a/MaterialLib/MPL/Properties/Enthalpy/CreateGeneralWaterVapourLatentHeat.cpp b/MaterialLib/MPL/Properties/Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.cpp similarity index 56% rename from MaterialLib/MPL/Properties/Enthalpy/CreateGeneralWaterVapourLatentHeat.cpp rename to MaterialLib/MPL/Properties/Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.cpp index 23f007a400ecb819b239836bcd72814f79681d9c..febe85594de7998582b312280d03f790df225ed7 100644 --- a/MaterialLib/MPL/Properties/Enthalpy/CreateGeneralWaterVapourLatentHeat.cpp +++ b/MaterialLib/MPL/Properties/Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.cpp @@ -9,27 +9,28 @@ * Created on March 19, 2021, 11:51 AM */ -#include "CreateGeneralWaterVapourLatentHeat.h" +#include "CreateWaterVapourLatentHeatWithCriticalTemperature.h" #include "BaseLib/ConfigTree.h" -#include "GeneralWaterVapourLatentHeat.h" #include "MaterialLib/MPL/Property.h" +#include "WaterVapourLatentHeatWithCriticalTemperature.h" namespace MaterialPropertyLib { -std::unique_ptr<Property> createGeneralWaterVapourLatentHeat( +std::unique_ptr<Property> createWaterVapourLatentHeatWithCriticalTemperature( BaseLib::ConfigTree const& config) { //! \ogs_file_param{properties__property__type} - config.checkConfigParameter("type", "GeneralWaterVapourLatentHeat"); - DBUG("Create GeneralWaterVapourLatentHeat phase property"); + config.checkConfigParameter("type", + "WaterVapourLatentHeatWithCriticalTemperature"); + DBUG("Create WaterVapourLatentHeatWithCriticalTemperature phase property"); // Second access for storage. //! \ogs_file_param{properties__property__name} auto property_name = config.peekConfigParameter<std::string>("name"); - //! \ogs_file_param_special{properties__property__GeneralWaterVapourLatentHeat} - return std::make_unique<GeneralWaterVapourLatentHeat>( + //! \ogs_file_param_special{properties__property__WaterVapourLatentHeatWithCriticalTemperature} + return std::make_unique<WaterVapourLatentHeatWithCriticalTemperature>( std::move(property_name)); } } // namespace MaterialPropertyLib diff --git a/MaterialLib/MPL/Properties/Enthalpy/CreateGeneralWaterVapourLatentHeat.h b/MaterialLib/MPL/Properties/Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.h similarity index 86% rename from MaterialLib/MPL/Properties/Enthalpy/CreateGeneralWaterVapourLatentHeat.h rename to MaterialLib/MPL/Properties/Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.h index bc85416ca24b521ccbdff452496cd151f8666748..9fffea41420f7cbaf7d8579d434d663c4fd1f783 100644 --- a/MaterialLib/MPL/Properties/Enthalpy/CreateGeneralWaterVapourLatentHeat.h +++ b/MaterialLib/MPL/Properties/Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.h @@ -21,6 +21,6 @@ class ConfigTree; namespace MaterialPropertyLib { class Property; -std::unique_ptr<Property> createGeneralWaterVapourLatentHeat( +std::unique_ptr<Property> createWaterVapourLatentHeatWithCriticalTemperature( BaseLib::ConfigTree const& config); } // namespace MaterialPropertyLib diff --git a/MaterialLib/MPL/Properties/Enthalpy/GeneralWaterVapourLatentHeat.cpp b/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.cpp similarity index 90% rename from MaterialLib/MPL/Properties/Enthalpy/GeneralWaterVapourLatentHeat.cpp rename to MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.cpp index 44d13cb15d9f27d99e05c93f91bff81424983fa5..34755be300e8fcc298bde98e5b54c471a4cae6c5 100644 --- a/MaterialLib/MPL/Properties/Enthalpy/GeneralWaterVapourLatentHeat.cpp +++ b/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.cpp @@ -9,7 +9,7 @@ * Created on March 19, 2021, 11:49 AM */ -#include "GeneralWaterVapourLatentHeat.h" +#include "WaterVapourLatentHeatWithCriticalTemperature.h" #include <algorithm> #include <array> @@ -28,7 +28,7 @@ static std::array<double, 3> constexpr a_exp = {0.3333333333333333, 0.79, static std::array<double, 5> constexpr b = { -28989.28947, -19797.03646, 28403.32283, -30382.306422, 15210.380}; -PropertyDataType GeneralWaterVapourLatentHeat::value( +PropertyDataType WaterVapourLatentHeatWithCriticalTemperature::value( const VariableArray& variable_array, const ParameterLib::SpatialPosition& /*pos*/, const double /*t*/, const double /*dt*/) const @@ -60,7 +60,7 @@ PropertyDataType GeneralWaterVapourLatentHeat::value( return 1000.0 * L_w; } -PropertyDataType GeneralWaterVapourLatentHeat::dValue( +PropertyDataType WaterVapourLatentHeatWithCriticalTemperature::dValue( VariableArray const& variable_array, Variable const primary_variable, ParameterLib::SpatialPosition const& /*pos*/, double const /*t*/, double const /*dt*/) const @@ -97,7 +97,8 @@ PropertyDataType GeneralWaterVapourLatentHeat::dValue( } OGS_FATAL( - "GeneralWaterVapourLatentHeat::dValue is implemented for " + "WaterVapourLatentHeatWithCriticalTemperature::dValue is implemented " + "for " "the derivative with respect to temperature only."); } diff --git a/MaterialLib/MPL/Properties/Enthalpy/GeneralWaterVapourLatentHeat.h b/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.h similarity index 85% rename from MaterialLib/MPL/Properties/Enthalpy/GeneralWaterVapourLatentHeat.h rename to MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.h index 94a604b812ddf8115c06609527f1c2abbde32ce8..fc148c8fe14295bb59879dd724aec1285b93aff0 100644 --- a/MaterialLib/MPL/Properties/Enthalpy/GeneralWaterVapourLatentHeat.h +++ b/MaterialLib/MPL/Properties/Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.h @@ -19,7 +19,8 @@ namespace MaterialPropertyLib class Phase; /** - * \brief A general latent heat model of vaporisation of water. + * \brief A latent heat model of vaporisation of water considering the critical + * temperature. * * The model uses an equation for a general expression of the latent heat of * vaporisation of water in the vicinity of and far away from the critical @@ -53,17 +54,13 @@ class Phase; * MaterialPropertyLib::LinearWaterVapourLatentHeat * is given in the following figure. * - * \image{inline} html general_latent_heat_water_vapour.png "" - * - * Based on the comparison, a conclusion can be drawn such that - * the linear model can be applied for the applications with temperature - * below 400 K. + * \image{inline} html latent_heat_water_vapour_with_critical_T.png "" * */ -class GeneralWaterVapourLatentHeat final : public Property +class WaterVapourLatentHeatWithCriticalTemperature final : public Property { public: - explicit GeneralWaterVapourLatentHeat(std::string name) + explicit WaterVapourLatentHeatWithCriticalTemperature(std::string name) { name_ = std::move(name); } @@ -73,7 +70,8 @@ public: if (!std::holds_alternative<Phase*>(scale_)) { OGS_FATAL( - "The property 'GeneralWaterVapourLatentHeat' is " + "The property 'WaterVapourLatentHeatWithCriticalTemperature' " + "is " "implemented on the 'phase' scale only."); } } diff --git a/MaterialLib/MPL/Properties/Properties.h b/MaterialLib/MPL/Properties/Properties.h index e85caf2d1787cf1e3027dc4599aa4566e69bdda8..466e88f407384aeb28d64b1c62e8277949f3b74f 100644 --- a/MaterialLib/MPL/Properties/Properties.h +++ b/MaterialLib/MPL/Properties/Properties.h @@ -24,8 +24,8 @@ #include "DupuitPermeability.h" #include "EffectiveThermalConductivityPorosityMixing.h" #include "EmbeddedFracturePermeability.h" -#include "Enthalpy/GeneralWaterVapourLatentHeat.h" #include "Enthalpy/LinearWaterVapourLatentHeat.h" +#include "Enthalpy/WaterVapourLatentHeatWithCriticalTemperature.h" #include "Exponential.h" #include "GasPressureDependentPermeability.h" #include "IdealGasLaw.h" diff --git a/Tests/MaterialLib/TestMPLGeneralWaterVapourLatentHeat.cpp b/Tests/MaterialLib/TestMPLWaterVapourLatentHeatWithCriticalTemperature.cpp similarity index 93% rename from Tests/MaterialLib/TestMPLGeneralWaterVapourLatentHeat.cpp rename to Tests/MaterialLib/TestMPLWaterVapourLatentHeatWithCriticalTemperature.cpp index 6982863accd8689229883f4d5b31d01ba427afbc..e62095115b4b1e4134da7b402f2c7c960402d49f 100644 --- a/Tests/MaterialLib/TestMPLGeneralWaterVapourLatentHeat.cpp +++ b/Tests/MaterialLib/TestMPLWaterVapourLatentHeatWithCriticalTemperature.cpp @@ -15,21 +15,22 @@ #include <cmath> #include <limits> -#include "MaterialLib/MPL/Properties/Enthalpy/CreateGeneralWaterVapourLatentHeat.h" +#include "MaterialLib/MPL/Properties/Enthalpy/CreateWaterVapourLatentHeatWithCriticalTemperature.h" #include "MaterialLib/PhysicalConstant.h" #include "TestMPL.h" -TEST(MaterialPropertyLib, GeneralWaterVapourLatentHeat) +TEST(MaterialPropertyLib, WaterVapourLatentHeatWithCriticalTemperature) { char const xml[] = "<property>" " <name>latent_heat</name>" - " <type>GeneralWaterVapourLatentHeat</type>" + " <type>WaterVapourLatentHeatWithCriticalTemperature</type>" "</property>"; std::unique_ptr<MaterialPropertyLib::Property> const property_ptr = Tests::createTestProperty( - xml, MaterialPropertyLib::createGeneralWaterVapourLatentHeat); + xml, MaterialPropertyLib:: + createWaterVapourLatentHeatWithCriticalTemperature); MaterialPropertyLib::Property const& property = *property_ptr; MaterialPropertyLib::VariableArray variable_array;