OGS
PropertyType.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <array>
7#include <memory>
8#include <string>
9
10namespace MaterialPropertyLib
11{
12class Property;
13}
14
15namespace MaterialPropertyLib
16{
23enum PropertyType : int
24{
117};
118
119static const std::array<std::string, PropertyType::number_of_properties>
120 property_enum_to_string{{"acentric_factor",
121 "binary_interaction_coefficient",
122 "biot_coefficient",
123 "bishops_effective_stress",
124 "brooks_corey_exponent",
125 "bulk_modulus",
126 "capillary_pressure",
127 "compressibility",
128 "concentration",
129 "critical_density",
130 "critical_pressure",
131 "critical_temperature",
132 "decay_rate",
133 "density",
134 "diffusion",
135 "drhodT",
136 "effective_stress",
137 "enthalpy",
138 "entry_pressure",
139 "evaporation_enthalpy",
140 "fredlund_parameters",
141 "frozen_liquid_saturation",
142 "heat_capacity",
143 "henry_coefficient",
144 "longitudinal_dispersivity",
145 "molality",
146 "molar_mass",
147 "molar_volume",
148 "mole_fraction",
149 "molecular_diffusion",
150 "name",
151 "permeability",
152 "phase_change_expansivity",
153 "phase_velocity",
154 "poissons_ratio",
155 "pore_diffusion",
156 "porosity",
157 "reference_density",
158 "reference_pressure",
159 "reference_temperature",
160 "relative_permeability",
161 "relative_permeability_nonwetting_phase",
162 "residual_gas_saturation",
163 "residual_liquid_saturation",
164 "retardation_factor",
165 "saturation",
166 "saturation_density",
167 "saturation_enthalpy",
168 "saturation_micro",
169 "saturation_temperature",
170 "specific_heat_capacity",
171 "specific_latent_heat",
172 "storage",
173 "storage_contribution",
174 "swelling_stress_rate",
175 "temperature",
176 "thermal_conductivity",
177 "thermal_diffusion_enhancement_factor",
178 "thermal_expansivity",
179 "thermal_expansivity_contribution",
180 "thermal_longitudinal_dispersivity",
181 "thermal_osmosis_coefficient",
182 "thermal_osmosis_permeability",
183 "thermal_transversal_dispersivity",
184 "tortuosity",
185 "transport_porosity",
186 "transversal_dispersivity",
187 "vapour_pressure",
188 "viscosity",
189 "volume_fraction",
190 "youngs_modulus"}};
191
194PropertyType convertStringToProperty(std::string const& string);
195
199using PropertyArray =
200 std::array<std::unique_ptr<Property>, PropertyType::number_of_properties>;
201
202} // namespace MaterialPropertyLib
PropertyType convertStringToProperty(std::string const &string)
std::array< std::unique_ptr< Property >, PropertyType::number_of_properties > PropertyArray
static const std::array< std::string, PropertyType::number_of_properties > property_enum_to_string
@ molecular_diffusion
ion diffusivity in free water.
@ thermal_diffusion_enhancement_factor
Thermal diffusion enhancement factor for water vapor flow.
@ saturation_micro
capillary pressure saturation relationship for microstructure.
@ relative_permeability_nonwetting_phase
@ longitudinal_dispersivity
used to compute the hydrodynamic dispersion tensor.
@ concentration
used to specify decay rate of a substance.
@ transversal_dispersivity
used to compute the hydrodynamic dispersion tensor.
@ retardation_factor
specify retardation factor used in component transport process.