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