OGS
PropertyType.h
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include <array>
16 #include <memory>
17 #include <string>
18 
19 namespace MaterialPropertyLib
20 {
21 class Property;
22 }
23 
24 namespace MaterialPropertyLib
25 {
32 enum PropertyType : int
33 {
111 };
112 
113 static const std::array<std::string, PropertyType::number_of_properties>
114  property_enum_to_string{{"acentric_factor",
115  "binary_interaction_coefficient",
116  "biot_coefficient",
117  "bishops_effective_stress",
118  "brooks_corey_exponent",
119  "bulk_modulus",
120  "capillary_pressure",
121  "critical_density",
122  "critical_pressure",
123  "critical_temperature",
124  "compressibility",
125  "concentration",
126  "decay_rate",
127  "density",
128  "diffusion",
129  "drhodT",
130  "effective_stress",
131  "entry_pressure",
132  "evaporation_enthalpy",
133  "fredlund_parameters",
134  "heat_capacity",
135  "latent_heat",
136  "longitudinal_dispersivity",
137  "molality",
138  "molar_mass",
139  "molar_volume",
140  "mole_fraction",
141  "molecular_diffusion",
142  "name",
143  "permeability",
144  "phase_velocity",
145  "pore_diffusion",
146  "poissons_ratio",
147  "porosity",
148  "reference_density",
149  "reference_temperature",
150  "reference_pressure",
151  "relative_permeability",
152  "relative_permeability_nonwetting_phase",
153  "residual_gas_saturation",
154  "residual_liquid_saturation",
155  "retardation_factor",
156  "saturation",
157  "saturation_micro",
158  "specific_heat_capacity",
159  "specific_latent_heat",
160  "storage",
161  "storage_contribution",
162  "swelling_stress_rate",
163  "thermal_conductivity",
164  "thermal_diffusion_enhancement_factor",
165  "thermal_expansivity",
166  "thermal_expansivity_contribution",
167  "thermal_longitudinal_dispersivity",
168  "thermal_osmosis_coefficient",
169  "thermal_transversal_dispersivity",
170  "transport_porosity",
171  "transversal_dispersivity",
172  "vapour_pressure",
173  "vapour_density",
174  "vapour_diffusion",
175  "viscosity",
176  "volume_fraction",
177  "youngs_modulus"}};
178 
181 PropertyType convertStringToProperty(std::string const& string);
182 
186 using PropertyArray =
187  std::array<std::unique_ptr<Property>, PropertyType::number_of_properties>;
188 
189 } // namespace MaterialPropertyLib
std::array< std::unique_ptr< Property >, PropertyType::number_of_properties > PropertyArray
PropertyType convertStringToProperty(std::string const &string)
static const std::array< std::string, PropertyType::number_of_properties > property_enum_to_string
Definition: PropertyType.h:114
@ molecular_diffusion
ion diffusivity in free water.
Definition: PropertyType.h:64
@ thermal_diffusion_enhancement_factor
Thermal diffusion enhancement factor for water vapor flow.
Definition: PropertyType.h:92
@ saturation_micro
capillary pressure saturation relationship for microstructure.
Definition: PropertyType.h:84
@ relative_permeability_nonwetting_phase
Definition: PropertyType.h:77
@ longitudinal_dispersivity
used to compute the hydrodynamic dispersion tensor.
Definition: PropertyType.h:58
@ concentration
used to specify decay rate of a substance.
Definition: PropertyType.h:46
@ transversal_dispersivity
used to compute the hydrodynamic dispersion tensor.
Definition: PropertyType.h:103
@ retardation_factor
specify retardation factor used in component transport process.
Definition: PropertyType.h:81