12#ifndef DUMUX_HEAVYOIL_HH 
   13#define DUMUX_HEAVYOIL_HH 
   17#include <dune/common/math.hh> 
   33template <
class Scalar>
 
   46    { 
return "heavyoil"; }
 
 
   78        DUNE_THROW(Dune::NotImplemented, 
"tripleTemperature for heavyoil");
 
 
   86        DUNE_THROW(Dune::NotImplemented, 
"triplePressure for heavyoil");
 
 
   92        constexpr Scalar B = 89.9513;
 
   93        constexpr Scalar C = 139.6612;
 
   94        constexpr Scalar D = 3.2033;
 
   95        constexpr Scalar E = 1.0564;
 
  100        return A+(B/mW)-(C/pow((mW+D),E));
 
 
  105        constexpr Scalar A = -7.4120e-2;    
 
  106        constexpr Scalar B = -7.5041e-3;
 
  107        constexpr Scalar C = -2.6031;
 
  108        constexpr Scalar D = 9.0180e-2;
 
  109        constexpr Scalar E = -1.0482;
 
  116        return A*power(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*power(deltaMolecularWeight,2) + D*deltaMolecularWeight
 
  117                + E*deltaSpecificGravity*deltaMolecularWeight;
 
 
  122        constexpr Scalar A = -6.1294e-2;
 
  123        constexpr Scalar B = -7.0862e-2;
 
  124        constexpr Scalar C = 6.1976e-1;
 
  125        constexpr Scalar D = -5.7090e-2;
 
  126        constexpr Scalar E = -8.4583e-2;
 
  133        return A*power(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*power(deltaMolecularWeight,2) + D*deltaMolecularWeight
 
  134                + E*deltaSpecificGravity*deltaMolecularWeight;
 
 
  139        constexpr Scalar A = 1.8270e-1;
 
  140        constexpr Scalar B = -2.4864e-1;
 
  141        constexpr Scalar C = 8.3611;
 
  142        constexpr Scalar D = -2.2389e-1;
 
  143        constexpr Scalar E = 2.6984;
 
  150        return A*power(deltaSpecificGravity,2) + B*deltaSpecificGravity + C*power(deltaMolecularWeight,2) + D*deltaMolecularWeight
 
  151                + E*deltaSpecificGravity*deltaMolecularWeight;
 
 
  156        constexpr Scalar A = 477.63;    
 
  157        constexpr Scalar B = 88.51;
 
  158        constexpr Scalar C = 1007;
 
  159        constexpr Scalar D = 1214.40;
 
 
  167        constexpr Scalar A = 226.50;
 
  168        constexpr Scalar B = 6.78;
 
  169        constexpr Scalar C = 1.282e6;
 
  170        constexpr Scalar D = 2668;
 
 
  178        constexpr Scalar A = 141.20;
 
  179        constexpr Scalar B = 45.66e-2;
 
  180        constexpr Scalar C = 16.59e-3;
 
  181        constexpr Scalar D = 2.19;
 
 
  221        constexpr Scalar A = 8.25990;
 
  222        constexpr Scalar B = 2830.065;
 
  223        constexpr Scalar C = 42.95101;
 
  225        const Scalar T = temperature - 273.15;
 
  228        return 100*1.334*pow(10.0, (A - (B/(T + C))));  
 
 
  233        constexpr Scalar A = 8.25990;
 
  234        constexpr Scalar B = 2830.065;
 
  235        constexpr Scalar C = 42.95101;
 
  237        const Scalar P = pressure;
 
  240        return  Scalar ((B/(A-log10(P/100*1.334)))-C);
 
 
  265        const Scalar sqrt1over3 = sqrt(1./3.);
 
  266        const Scalar TEval1 = 0.5*(temperature-273.15)*        sqrt1over3 + 0.5*(273.15+temperature)  ; 
 
  267        const Scalar TEval2 = 0.5*(temperature-273.15)* (-1)*  sqrt1over3 + 0.5*(273.15+temperature)  ; 
 
 
  295                                        * (3.978 * Tr1 - 3.958 + 1.555*log(p_crit * 1e-5  ) )
 
  302        const Scalar DH_vap = DH_v_boil * pow(((1.0 - Tr2)/(1.0 - Tr1)), n);
 
 
  353        constexpr Scalar rhoReference = 906.; 
 
  354        constexpr Scalar compressCoeff = 1.e-8; 
 
  355        constexpr Scalar expansCoeff = 1.e-7; 
 
  356        return rhoReference * (1. + (pressure - 1.e5)*compressCoeff) * (1. - (temperature - 293.)*expansCoeff);
 
 
  396        temperature = clamp(temperature, 250.0, 500.0); 
 
  403        constexpr Scalar Fp0 = 1.0;
 
  404        constexpr Scalar xi = 0.00474;
 
  406            Fp0*(0.807*pow(Tr,0.618)
 
  407                 - 0.357*exp(-0.449*Tr)
 
  408                 + 0.34*exp(-4.058*Tr)
 
  411        return eta_xi/xi/1e7; 
 
 
  432        const Scalar temperatureFahrenheit = (9/5)*(temperature-273.15)+32;
 
  437        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;
 
 
 
Base class for all components Components provide the thermodynamic relations for the liquid,...
Definition components/base.hh:46
Scalar Scalar
Definition components/base.hh:50
Interface for components that have a gas state.
Definition gas.hh:28
Properties of the component heavyoil.
Definition heavyoil.hh:38
static Scalar liquidViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity  of pure heavyoil.
Definition heavyoil.hh:422
static constexpr Scalar molarMass()
The molar mass in  of heavyoil.
Definition heavyoil.hh:51
static Scalar vaporPressure(Scalar temperature)
The saturation vapor pressure in  of.
Definition heavyoil.hh:219
static constexpr Scalar refComponentMolecularWeight()
The MolecularWeight in  of refComponent.
Definition heavyoil.hh:57
static Scalar perbutationFactorCriticalTemperature()
Definition heavyoil.hh:120
static Scalar liquidHeatCapacity(const Scalar temperature, const Scalar pressure)
Specific heat cap of liquid heavyoil .
Definition heavyoil.hh:449
static constexpr Scalar molecularWeight()
The molar mass in  of heavyoil.
Definition heavyoil.hh:64
static Scalar refComponentCriticalPressure()
Definition heavyoil.hh:176
static constexpr bool gasIsIdeal()
Returns true if the gas phase is assumed to be ideal.
Definition heavyoil.hh:378
static Scalar liquidMolarDensity(Scalar temperature, Scalar pressure)
The molar density of pure heavyoil in  at a given pressure and temperature.
Definition heavyoil.hh:366
static Scalar perbutationFactorBoilingTemperature()
Definition heavyoil.hh:103
static Scalar tripleTemperature()
Returns the temperature  at heavyoil's triple point.
Definition heavyoil.hh:76
static Scalar criticalPressure()
Returns the critical pressure  of heavyoil.
Definition heavyoil.hh:208
static Scalar gasMolarDensity(Scalar temperature, Scalar pressure)
The molar density of pure heavyoil in , depending on pressure and temperature.
Definition heavyoil.hh:339
static Scalar gasViscosity(Scalar temperature, Scalar pressure)
The dynamic viscosity  of heavyoil vapor.
Definition heavyoil.hh:393
static Scalar vaporTemperature(Scalar pressure)
Definition heavyoil.hh:231
static constexpr bool gasIsCompressible()
Returns true if the gas phase is assumed to be compressible.
Definition heavyoil.hh:372
static Scalar liquidThermalConductivity(Scalar temperature, Scalar pressure)
Thermal conductivity  of heavy oil.
Definition heavyoil.hh:463
static constexpr Scalar specificGravity()
The Specific Gravity  of heavyoil.
Definition heavyoil.hh:70
static Scalar criticalTemperature()
Returns the critical temperature  of heavyoil.
Definition heavyoil.hh:199
static Scalar gasDensity(Scalar temperature, Scalar pressure)
The (ideal) gas density of heavyoil vapor at a given temperature and pressure .
Definition heavyoil.hh:328
static Scalar triplePressure()
Returns the pressure  at heavyoil's triple point.
Definition heavyoil.hh:84
static Scalar refComponentCriticalTemperature()
Definition heavyoil.hh:165
static constexpr bool liquidIsCompressible()
Returns true if the liquid phase is assumed to be compressible.
Definition heavyoil.hh:384
static Scalar liquidEnthalpy(const Scalar temperature, const Scalar pressure)
Specific enthalpy of liquid heavyoil .
Definition heavyoil.hh:249
static Scalar refComponentBoilingTemperature()
Definition heavyoil.hh:154
static std::string name()
A human readable name for heavyoil.
Definition heavyoil.hh:45
static Scalar perbutationFactorCriticalPressure()
Definition heavyoil.hh:137
static Scalar refComponentSpecificGravity()
Definition heavyoil.hh:89
static Scalar heatVap(Scalar temperature, const Scalar pressure)
Latent heat of vaporization for heavyoil .
Definition heavyoil.hh:282
static Scalar boilingTemperature()
Returns the temperature  at heavyoil's boiling point (1 atm)
Definition heavyoil.hh:190
static Scalar gasEnthalpy(Scalar temperature, Scalar pressure)
Specific enthalpy of heavyoil vapor .
Definition heavyoil.hh:317
static Scalar liquidDensity(Scalar temperature, Scalar pressure)
The density of pure heavyoil at a given pressure and temperature .
Definition heavyoil.hh:348
Interface for components that have a liquid state.
Definition liquid.hh:28
A central place for various physical constants occurring in some equations.
Definition constants.hh:27
static constexpr Scalar R
The ideal gas constant .
Definition constants.hh:32
Relations valid for an ideal gas.
Definition idealgas.hh:25
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:37
static constexpr Scalar molarDensity(Scalar temperature, Scalar pressure)
The molar density of the gas , depending on pressure and temperature.
Definition idealgas.hh:58
Base class for all components Components provide the thermodynamic relations for the liquid,...
A central place for various physical constants occurring in some equations.
Interface for components that have a gas state.
Relations valid for an ideal gas.
Interface for components that have a liquid state.