20 #ifndef OPM_COMPOSITIONALCONFIG_HPP 21 #define OPM_COMPOSITIONALCONFIG_HPP 23 #include <opm/input/eclipse/Units/Units.hpp> 45 static EOSType eosTypeFromString(
const std::string& str);
47 static std::string eosTypeToString(EOSType eos);
50 static std::array<double, 5> defaultLBCCoefficients();
56 EOSType eos_type = EOSType::PR;
57 std::vector<double> molecular_weights;
58 std::vector<double> acentric_factors;
59 std::vector<double> critical_pressure;
60 std::vector<double> critical_temperature;
61 std::vector<double> boiling_temperature;
62 std::vector<double> critical_volume;
63 std::vector<double> volume_shifts;
64 std::vector<double> critical_z_factor;
65 std::vector<double> binary_interaction_coefficient;
66 std::vector<double> omega_a;
67 std::vector<double> omega_b;
69 bool operator==(
const EOSProps& other)
const;
71 template<
class Serializer>
75 serializer(molecular_weights);
76 serializer(acentric_factors);
77 serializer(critical_pressure);
78 serializer(critical_temperature);
79 serializer(boiling_temperature);
80 serializer(critical_volume);
81 serializer(volume_shifts);
82 serializer(critical_z_factor);
83 serializer(binary_interaction_coefficient);
98 double standardTemperature()
const;
99 double standardPressure()
const;
100 const std::vector<std::string>& compName()
const;
103 const EOSProps& eosProps(std::size_t eos_region)
const;
104 const EOSProps& eosPropsSurf(std::size_t eos_region)
const;
106 EOSType eosType(std::size_t eos_region)
const;
107 const std::vector<double>& molecularWeights(std::size_t eos_region)
const;
108 const std::vector<double>& acentricFactors(std::size_t eos_region)
const;
109 const std::vector<double>& criticalPressure(std::size_t eos_region)
const;
110 const std::vector<double>& criticalTemperature(std::size_t eos_region)
const;
111 const std::vector<double>& boilingTemperature(std::size_t eos_region)
const;
112 const std::vector<double>& criticalVolume(std::size_t eos_region)
const;
113 const std::vector<double>& volumeShifts(std::size_t eos_region)
const;
114 const std::vector<double>& binaryInteractionCoefficient(std::size_t eos_region)
const;
115 const std::vector<double>& criticalZFactor(std::size_t eos_region)
const;
116 const std::vector<double>& omegaA(std::size_t eos_region)
const;
117 const std::vector<double>& omegaB(std::size_t eos_region)
const;
118 const std::array<double, 5>& lbcCoefficients()
const;
121 EOSType eosTypeSurf(std::size_t eos_region)
const;
122 const std::vector<double>& molecularWeightsSurf(std::size_t eos_region)
const;
123 const std::vector<double>& acentricFactorsSurf(std::size_t eos_region)
const;
124 const std::vector<double>& criticalPressureSurf(std::size_t eos_region)
const;
125 const std::vector<double>& criticalTemperatureSurf(std::size_t eos_region)
const;
126 const std::vector<double>& boilingTemperatureSurf(std::size_t eos_region)
const;
127 const std::vector<double>& criticalVolumeSurf(std::size_t eos_region)
const;
128 const std::vector<double>& criticalZFactorSurf(std::size_t eos_region)
const;
129 const std::vector<double>& volumeShiftsSurf(std::size_t eos_region)
const;
130 const std::vector<double>& binaryInteractionCoefficientSurf(std::size_t eos_region)
const;
131 const std::vector<double>& omegaASurf(std::size_t eos_region)
const;
132 const std::vector<double>& omegaBSurf(std::size_t eos_region)
const;
134 std::size_t numComps()
const;
136 template<
class Serializer>
139 serializer(num_comps);
140 serializer(standard_temperature);
141 serializer(standard_pressure);
142 serializer(comp_names);
143 serializer(reservoir_props);
144 serializer(surface_props);
145 serializer(lbc_coefficients);
151 std::size_t num_comps = 0;
152 double standard_temperature = 288.71;
153 double standard_pressure = 1.0 * unit::atm;
154 std::vector<std::string> comp_names;
158 std::array<double, 5> lbc_coefficients = defaultLBCCoefficients();
161 std::vector<EOSProps> reservoir_props;
164 std::vector<EOSProps> surface_props;
168 #endif // OPM_COMPOSITIONALCONFIG_HPP Definition: CompositionalConfig.hpp:35
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
Definition: Runspec.hpp:608
Definition: CompositionalConfig.hpp:55
Class for (de-)serializing.
Definition: Serializer.hpp:95