24#ifndef DUMUX_HEAVYOIL_HH
25#define DUMUX_HEAVYOIL_HH
29#include <dune/common/math.hh>
45template <
class Scalar>
58 {
return "heavyoil"; }
90 DUNE_THROW(Dune::NotImplemented,
"tripleTemperature for heavyoil");
98 DUNE_THROW(Dune::NotImplemented,
"triplePressure for heavyoil");
103 constexpr Scalar A = 0.83;
104 constexpr Scalar B = 89.9513;
105 constexpr Scalar C = 139.6612;
106 constexpr Scalar D = 3.2033;
107 constexpr Scalar E = 1.0564;
112 return A+(B/mW)-(C/pow((mW+D),E));
117 constexpr Scalar A = -7.4120e-2;
118 constexpr Scalar B = -7.5041e-3;
119 constexpr Scalar C = -2.6031;
120 constexpr Scalar D = 9.0180e-2;
121 constexpr Scalar E = -1.0482;
128 return A*power(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*power(deltaMolecularWeight,2) + D*deltaMolecularWeight
129 + E*deltaSpecificGravity*deltaMolecularWeight;
134 constexpr Scalar A = -6.1294e-2;
135 constexpr Scalar B = -7.0862e-2;
136 constexpr Scalar C = 6.1976e-1;
137 constexpr Scalar D = -5.7090e-2;
138 constexpr Scalar E = -8.4583e-2;
145 return A*power(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*power(deltaMolecularWeight,2) + D*deltaMolecularWeight
146 + E*deltaSpecificGravity*deltaMolecularWeight;
151 constexpr Scalar A = 1.8270e-1;
152 constexpr Scalar B = -2.4864e-1;
153 constexpr Scalar C = 8.3611;
154 constexpr Scalar D = -2.2389e-1;
155 constexpr Scalar E = 2.6984;
162 return A*power(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*power(deltaMolecularWeight,2) + D*deltaMolecularWeight
163 + E*deltaSpecificGravity*deltaMolecularWeight;
168 constexpr Scalar A = 477.63;
169 constexpr Scalar B = 88.51;
170 constexpr Scalar C = 1007;
171 constexpr Scalar D = 1214.40;
179 constexpr Scalar A = 226.50;
180 constexpr Scalar B = 6.78;
181 constexpr Scalar C = 1.282e6;
182 constexpr Scalar D = 2668;
190 constexpr Scalar A = 141.20;
191 constexpr Scalar B = 45.66e-2;
192 constexpr Scalar C = 16.59e-3;
193 constexpr Scalar D = 2.19;
233 constexpr Scalar A = 8.25990;
234 constexpr Scalar B = 2830.065;
235 constexpr Scalar C = 42.95101;
240 return 100*1.334*pow(10.0, (A - (B/(T + C))));
245 constexpr Scalar A = 8.25990;
246 constexpr Scalar B = 2830.065;
247 constexpr Scalar C = 42.95101;
252 return Scalar ((B/(A-log10(P/100*1.334)))-C);
277 const Scalar sqrt1over3 = sqrt(1./3.);
307 * (3.978 * Tr1 - 3.958 + 1.555*log(p_crit * 1e-5 ) )
314 const Scalar DH_vap = DH_v_boil * pow(((1.0 - Tr2)/(1.0 - Tr1)), n);
365 constexpr Scalar rhoReference = 906.;
366 constexpr Scalar compressCoeff = 1.e-8;
367 constexpr Scalar expansCoeff = 1.e-7;
368 return rhoReference * (1. + (
pressure - 1.e5)*compressCoeff) * (1. - (
temperature - 293.)*expansCoeff);
416 constexpr Scalar Fp0 = 1.0;
417 constexpr Scalar xi = 0.00474;
419 Fp0*(0.807*pow(Tr,0.618)
420 - 0.357*exp(-0.449*Tr)
421 + 0.34*exp(-4.058*Tr)
424 return eta_xi/xi/1e7;
450 return ((pow(10,0.10231*power(API,2)-3.9464*API+46.5037))*(pow(temperatureFahrenheit,-0.04542*power(API,2)+1.70405*API-19.18)))*0.001;
Interface for components that have a gas state.
Interface for components that have a liquid state.
A central place for various physical constants occuring in some equations.
Relations valid for an ideal gas.
std::string temperature() noexcept
I/O name of temperature for equilibrium models.
Definition: name.hh:51
std::string pressure(int phaseIdx) noexcept
I/O name of pressure for multiphase systems.
Definition: name.hh:34
Base class for all components Components provide the thermodynamic relations for the liquid,...
Definition: components/base.hh:59
Scalar Scalar
export the scalar type used by the component
Definition: components/base.hh:63
Interface for components that have a gas state.
Definition: gas.hh:41
Properties of the component heavyoil.
Definition: heavyoil.hh:50
static Scalar liquidViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity of pure heavyoil.
Definition: heavyoil.hh:435
static constexpr Scalar molarMass()
The molar mass in of heavyoil.
Definition: heavyoil.hh:63
static Scalar vaporPressure(Scalar temperature)
The saturation vapor pressure in of.
Definition: heavyoil.hh:231
static constexpr Scalar refComponentMolecularWeight()
The MolecularWeight in of refComponent.
Definition: heavyoil.hh:69
static Scalar perbutationFactorCriticalTemperature()
Definition: heavyoil.hh:132
static Scalar liquidHeatCapacity(const Scalar temperature, const Scalar pressure)
Specific heat cap of liquid heavyoil .
Definition: heavyoil.hh:462
static constexpr Scalar molecularWeight()
The molar mass in of heavyoil.
Definition: heavyoil.hh:76
static Scalar refComponentCriticalPressure()
Definition: heavyoil.hh:188
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition: heavyoil.hh:390
static Scalar liquidMolarDensity(Scalar temperature, Scalar pressure)
The molar density of pure heavyoil in at a given pressure and temperature.
Definition: heavyoil.hh:378
static Scalar perbutationFactorBoilingTemperature()
Definition: heavyoil.hh:115
static Scalar tripleTemperature()
Returns the temperature at heavyoil's triple point.
Definition: heavyoil.hh:88
static Scalar criticalPressure()
Returns the critical pressure of heavyoil.
Definition: heavyoil.hh:220
static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
The molar density of pure heavyoil in , depending on pressure and temperature.
Definition: heavyoil.hh:351
static Scalar vaporTemperature(Scalar pressure)
Definition: heavyoil.hh:243
static constexpr bool gasIsCompressible()
Returns true if the gas phase is assumed to be compressible.
Definition: heavyoil.hh:384
static Scalar liquidThermalConductivity(Scalar temperature, Scalar pressure)
Thermal conductivity of heavy oil.
Definition: heavyoil.hh:476
static constexpr Scalar specificGravity()
The Specific Gravity of heavyoil.
Definition: heavyoil.hh:82
static Scalar gasViscosity(Scalar temperature, Scalar pressure, bool regularize=true)
The dynamic viscosity of heavyoil vapor.
Definition: heavyoil.hh:406
static Scalar criticalTemperature()
Returns the critical temperature of heavyoil.
Definition: heavyoil.hh:211
static Scalar gasDensity(Scalar temperature, Scalar pressure)
The (ideal) gas density of heavyoil vapor at a given temperature and pressure .
Definition: heavyoil.hh:340
static Scalar triplePressure()
Returns the pressure at heavyoil's triple point.
Definition: heavyoil.hh:96
static Scalar refComponentCriticalTemperature()
Definition: heavyoil.hh:177
static constexpr bool liquidIsCompressible()
Returns true if the liquid phase is assumed to be compressible.
Definition: heavyoil.hh:396
static Scalar liquidEnthalpy(const Scalar temperature, const Scalar pressure)
Specific enthalpy of liquid heavyoil .
Definition: heavyoil.hh:261
static Scalar refComponentBoilingTemperature()
Definition: heavyoil.hh:166
static std::string name()
A human readable name for heavyoil.
Definition: heavyoil.hh:57
static Scalar perbutationFactorCriticalPressure()
Definition: heavyoil.hh:149
static Scalar refComponentSpecificGravity()
Definition: heavyoil.hh:101
static Scalar heatVap(Scalar temperature, const Scalar pressure)
Latent heat of vaporization for heavyoil .
Definition: heavyoil.hh:294
static Scalar boilingTemperature()
Returns the temperature at heavyoil's boiling point (1 atm)
Definition: heavyoil.hh:202
static Scalar gasEnthalpy(Scalar temperature, Scalar pressure)
Specific enthalpy of heavyoil vapor .
Definition: heavyoil.hh:329
static Scalar liquidDensity(Scalar temperature, Scalar pressure)
The density of pure heavyoil at a given pressure and temperature .
Definition: heavyoil.hh:360
Interface for components that have a liquid state.
Definition: liquid.hh:41
A central place for various physical constants occuring in some equations.
Definition: constants.hh:39
static constexpr Scalar R
The ideal gas constant .
Definition: constants.hh:44
Relations valid for an ideal gas.
Definition: idealgas.hh:37
static constexpr Scalar density(Scalar avgMolarMass, Scalar temperature, Scalar pressure)
The density of the gas in , depending on pressure, temperature and average molar mass of the gas.
Definition: idealgas.hh:49
static constexpr Scalar molarDensity(Scalar temperature, Scalar pressure)
The molar density of the gas , depending on pressure and temperature.
Definition: idealgas.hh:70
Base class for all components Components provide the thermodynamic relations for the liquid,...