24#ifndef DUMUX_HEAVYOIL_HH
25#define DUMUX_HEAVYOIL_HH
43template <
class Scalar>
56 {
return "heavyoil"; }
88 DUNE_THROW(Dune::NotImplemented,
"tripleTemperature for heavyoil");
96 DUNE_THROW(Dune::NotImplemented,
"triplePressure for heavyoil");
103 const Scalar C = 139.6612;
110 return A+(B/mW)-(C/pow((mW+D),E));
115 const Scalar A = -7.4120e-2;
116 const Scalar B = -7.5041e-3;
118 const Scalar D = 9.0180e-2;
126 return A*pow(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*pow(deltaMolecularWeight,2) + D*deltaMolecularWeight
127 + E*deltaSpecificGravity*deltaMolecularWeight;
132 const Scalar A = -6.1294e-2;
133 const Scalar B = -7.0862e-2;
134 const Scalar C = 6.1976e-1;
135 const Scalar D = -5.7090e-2;
136 const Scalar E = -8.4583e-2;
143 return A*pow(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*pow(deltaMolecularWeight,2) + D*deltaMolecularWeight
144 + E*deltaSpecificGravity*deltaMolecularWeight;
149 const Scalar A = 1.8270e-1;
150 const Scalar B = -2.4864e-1;
152 const Scalar D = -2.2389e-1;
160 return A*pow(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*pow(deltaMolecularWeight,2) + D*deltaMolecularWeight
161 + E*deltaSpecificGravity*deltaMolecularWeight;
189 const Scalar B = 45.66e-2;
190 const Scalar C = 16.59e-3;
232 const Scalar B = 2830.065;
233 const Scalar C = 42.95101;
235 Scalar T = temperature - 273.15;
238 return 100*1.334*pow(10.0, (A - (B/(T + C))));
244 const Scalar B = 2830.065;
245 const Scalar C = 42.95101;
247 const Scalar P = pressure;
250 return Scalar ((B/(A-log10(P/100*1.334)))-C);
275 const Scalar sqrt1over3 = sqrt(1./3.);
276 const Scalar TEval1 = 0.5*(temperature-273.15)* sqrt1over3 + 0.5*(273.15+temperature) ;
277 const Scalar TEval2 = 0.5*(temperature-273.15)* (-1)* sqrt1over3 + 0.5*(273.15+temperature) ;
298 temperature = max(temperature, 0.0);
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 Scalar rhoReference = 906.;
366 Scalar compressCoeff = 1.e-8;
367 Scalar expansCoeff = 1.e-7;
368 Scalar rho = rhoReference * (1. + (pressure - 1.e5)*compressCoeff) * (1. - (temperature - 293.)*expansCoeff);
412 temperature = min(temperature, 500.0);
413 temperature = max(temperature, 250.0);
423 Fp0*(0.807*pow(Tr,0.618)
424 - 0.357*exp(-0.449*Tr)
425 + 0.34*exp(-4.058*Tr)
428 return eta_xi/xi/1e7;
449 Scalar temperatureFahrenheit = (9/5)*(temperature-273.15)+32;
453 return ((pow(10,0.10231*pow(API,2)-3.9464*API+46.5037))*(pow(temperatureFahrenheit,-0.04542*pow(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.
Base class for all components Components provide the thermodynamic relations for the liquid,...
Definition components/base.hh:59
Scalar Scalar
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:48
static Scalar liquidViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity of pure heavyoil.
Definition heavyoil.hh:439
static constexpr Scalar molarMass()
The molar mass in of heavyoil.
Definition heavyoil.hh:61
static Scalar vaporPressure(Scalar temperature)
The saturation vapor pressure in of.
Definition heavyoil.hh:229
static constexpr Scalar refComponentMolecularWeight()
The MolecularWeight in of refComponent.
Definition heavyoil.hh:67
static Scalar perbutationFactorCriticalTemperature()
Definition heavyoil.hh:130
static Scalar liquidHeatCapacity(const Scalar temperature, const Scalar pressure)
Specific heat cap of liquid heavyoil .
Definition heavyoil.hh:465
static constexpr Scalar molecularWeight()
The molar mass in of heavyoil.
Definition heavyoil.hh:74
static Scalar refComponentCriticalPressure()
Definition heavyoil.hh:186
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition heavyoil.hh:392
static Scalar liquidMolarDensity(Scalar temperature, Scalar pressure)
The molar density of pure heavyoil in at a given pressure and temperature.
Definition heavyoil.hh:380
static Scalar perbutationFactorBoilingTemperature()
Definition heavyoil.hh:113
static Scalar tripleTemperature()
Returns the temperature at heavyoil's triple point.
Definition heavyoil.hh:86
static Scalar criticalPressure()
Returns the critical pressure of heavyoil.
Definition heavyoil.hh:218
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:241
static constexpr bool gasIsCompressible()
Returns true if the gas phase is assumed to be compressible.
Definition heavyoil.hh:386
static Scalar liquidThermalConductivity(Scalar temperature, Scalar pressure)
Thermal conductivity of heavy oil.
Definition heavyoil.hh:479
static constexpr Scalar specificGravity()
The Specific Gravity of heavyoil.
Definition heavyoil.hh:80
static Scalar gasViscosity(Scalar temperature, Scalar pressure, bool regularize=true)
The dynamic viscosity of heavyoil vapor.
Definition heavyoil.hh:408
static Scalar criticalTemperature()
Returns the critical temperature of heavyoil.
Definition heavyoil.hh:209
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:94
static Scalar refComponentCriticalTemperature()
Definition heavyoil.hh:175
static constexpr bool liquidIsCompressible()
Returns true if the liquid phase is assumed to be compressible.
Definition heavyoil.hh:398
static Scalar liquidEnthalpy(const Scalar temperature, const Scalar pressure)
Specific enthalpy of liquid heavyoil .
Definition heavyoil.hh:259
static Scalar refComponentBoilingTemperature()
Definition heavyoil.hh:164
static std::string name()
A human readable name for heavyoil.
Definition heavyoil.hh:55
static Scalar perbutationFactorCriticalPressure()
Definition heavyoil.hh:147
static Scalar refComponentSpecificGravity()
Definition heavyoil.hh:99
static Scalar heatVap(Scalar temperature, const Scalar pressure)
Latent heat of vaporization for heavyoil .
Definition heavyoil.hh:292
static Scalar boilingTemperature()
Returns the temperature at heavyoil's boiling point (1 atm).
Definition heavyoil.hh:200
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,...