OGS
ProcessLib::RichardsComponentTransport::anonymous_namespace{CreateRichardsComponentTransportProcess.cpp} Namespace Reference

Functions

void checkMPLProperties (MeshLib::Mesh const &mesh, MaterialPropertyLib::MaterialSpatialDistributionMap const &media_map)

Function Documentation

◆ checkMPLProperties()

void ProcessLib::RichardsComponentTransport::anonymous_namespace{CreateRichardsComponentTransportProcess.cpp}::checkMPLProperties ( MeshLib::Mesh const & mesh,
MaterialPropertyLib::MaterialSpatialDistributionMap const & media_map )

Definition at line 20 of file CreateRichardsComponentTransportProcess.cpp.

23{
24 std::array const required_properties_medium = {
32
33 std::array const required_properties_liquid_phase = {
36
37 std::array const required_properties_components = {
41
42 for (auto const element_id : mesh.getElements() | MeshLib::views::ids)
43 {
44 auto const& medium = *media_map.getMedium(element_id);
45 checkRequiredProperties(medium, required_properties_medium);
46
47 // check if liquid phase definition and the corresponding properties
48 // exist
49 auto const& liquid_phase = medium.phase("AqueousLiquid");
50 checkRequiredProperties(liquid_phase, required_properties_liquid_phase);
51
52 // check if components and the corresponding properties exist
53 auto const number_of_components = liquid_phase.numberOfComponents();
54 for (std::size_t component_id = 0; component_id < number_of_components;
55 ++component_id)
56 {
57 if (!liquid_phase.hasComponent(component_id))
58 {
60 "The component {:d} in the AqueousLiquid phase isn't "
61 "specified.",
62 component_id);
63 }
64 auto const& component = liquid_phase.component(component_id);
65 checkRequiredProperties(component, required_properties_components);
66 }
67 }
68}
#define OGS_FATAL(...)
Definition Error.h:19
void checkRequiredProperties(Component const &c, std::span< PropertyType const > const required_properties)
Definition Component.cpp:51
@ longitudinal_dispersivity
used to compute the hydrodynamic dispersion tensor.
@ transversal_dispersivity
used to compute the hydrodynamic dispersion tensor.
@ retardation_factor
specify retardation factor used in component transport process.
constexpr ranges::views::view_closure ids
For an element of a range view return its id.
Definition Mesh.h:216

References checkMPLProperties(), MaterialPropertyLib::decay_rate, MaterialPropertyLib::density, MeshLib::Mesh::getElements(), MaterialPropertyLib::MaterialSpatialDistributionMap::getMedium(), MeshLib::views::ids, MaterialPropertyLib::longitudinal_dispersivity, OGS_FATAL, MaterialPropertyLib::permeability, MaterialPropertyLib::pore_diffusion, MaterialPropertyLib::porosity, MaterialPropertyLib::relative_permeability, MaterialPropertyLib::retardation_factor, MaterialPropertyLib::saturation, MaterialPropertyLib::storage, MaterialPropertyLib::transversal_dispersivity, and MaterialPropertyLib::viscosity.

Referenced by checkMPLProperties().