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{
107};
108
109static const std::array<std::string, PropertyType::number_of_properties>
110 property_enum_to_string{{"acentric_factor",
111 "binary_interaction_coefficient",
112 "biot_coefficient",
113 "bishops_effective_stress",
114 "brooks_corey_exponent",
115 "bulk_modulus",
116 "capillary_pressure",
117 "critical_density",
118 "critical_pressure",
119 "critical_temperature",
120 "compressibility",
121 "concentration",
122 "decay_rate",
123 "density",
124 "diffusion",
125 "drhodT",
126 "effective_stress",
127 "enthalpy",
128 "entry_pressure",
129 "evaporation_enthalpy",
130 "fredlund_parameters",
131 "heat_capacity",
132 "henry_coefficient",
133 "longitudinal_dispersivity",
134 "molality",
135 "molar_mass",
136 "molar_volume",
137 "mole_fraction",
138 "molecular_diffusion",
139 "name",
140 "permeability",
141 "phase_change_expansivity",
142 "phase_velocity",
143 "pore_diffusion",
144 "poissons_ratio",
145 "porosity",
146 "reference_density",
147 "reference_temperature",
148 "reference_pressure",
149 "relative_permeability",
150 "relative_permeability_nonwetting_phase",
151 "residual_gas_saturation",
152 "residual_liquid_saturation",
153 "retardation_factor",
154 "saturation",
155 "saturation_density",
156 "saturation_enthalpy",
157 "saturation_micro",
158 "saturation_temperature",
159 "specific_heat_capacity",
160 "specific_latent_heat",
161 "storage",
162 "storage_contribution",
163 "swelling_stress_rate",
164 "temperature",
165 "thermal_conductivity",
166 "thermal_diffusion_enhancement_factor",
167 "thermal_expansivity",
168 "thermal_expansivity_contribution",
169 "thermal_longitudinal_dispersivity",
170 "thermal_osmosis_coefficient",
171 "thermal_transversal_dispersivity",
172 "tortuosity",
173 "transport_porosity",
174 "transversal_dispersivity",
175 "vapour_pressure",
176 "viscosity",
177 "volume_fraction",
178 "youngs_modulus"}};
179
182PropertyType convertStringToProperty(std::string const& string);
183
187using PropertyArray =
188 std::array<std::unique_ptr<Property>, PropertyType::number_of_properties>;
189
190} // 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.