Skip to content
Snippets Groups Projects
Commit 11bee9b3 authored by Dmitri Naumov's avatar Dmitri Naumov Committed by wenqing
Browse files

[LF] Extract Constant-type density check

Also avoid compiler warning warning: expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Wpotentially-evaluated-expression]
parent 7d7db2ff
No related branches found
No related tags found
No related merge requests found
...@@ -73,25 +73,32 @@ void checkMPLProperties( ...@@ -73,25 +73,32 @@ void checkMPLProperties(
MaterialPropertyLib::PropertyType::viscosity, MaterialPropertyLib::PropertyType::viscosity,
MaterialPropertyLib::PropertyType::density}; MaterialPropertyLib::PropertyType::density};
for (auto const& element_id : mesh.getElements() | MeshLib::views::ids) // Check Constant-type density.
if (is_equation_type_volume)
{ {
auto const& medium = *media_map.getMedium(element_id); for (auto const& element_id : mesh.getElements() | MeshLib::views::ids)
checkRequiredProperties(medium, required_medium_properties);
checkRequiredProperties(fluidPhase(medium), required_liquid_properties);
if (element_id == 0 && is_equation_type_volume)
{ {
auto const& fluid_phase = fluidPhase(medium); auto const& medium = *media_map.getMedium(element_id);
if (typeid(fluid_phase[MaterialPropertyLib::PropertyType::density]) auto const& fluid_phase_density =
.name() != typeid(MaterialPropertyLib::Constant).name()) fluidPhase(medium)[MaterialPropertyLib::PropertyType::density];
if (typeid(fluid_phase_density) !=
typeid(MaterialPropertyLib::Constant))
{ {
OGS_FATAL( OGS_FATAL(
"Since `equation_balance_type` is set to `volume`,the " "Since `equation_balance_type` is set to `volume`,the "
"phase density type must be `Constant`. Note: by default, " "phase density type must be `Constant`. Note: by "
"default, "
"`equation_balance_type` is set to `volume`."); "`equation_balance_type` is set to `volume`.");
} }
} }
} }
for (auto const& element_id : mesh.getElements() | MeshLib::views::ids)
{
auto const& medium = *media_map.getMedium(element_id);
checkRequiredProperties(medium, required_medium_properties);
checkRequiredProperties(fluidPhase(medium), required_liquid_properties);
}
DBUG("Media properties verified."); DBUG("Media properties verified.");
} }
......
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