opendrift.models.openoil.adios.util.estimations
Oil Properties Estimations.
These are primitive estimation algorithms to be used primarily for estimating oil properties based on known measured values.
Module Contents
Functions
|
Source: Adios2 |
|
Source: Adios2 |
|
Source: Adios2 |
|
Calculate the volumetric expansion coefficient of a liquid |
|
Specific Gravity of Oil with respect to water at 15C (definition used |
|
Source: Definition of kinematic viscosity. |
|
Source: Adios2 |
|
|
|
|
|
|
|
|
|
Source: Fingas empirical formulas that are based upon analysis |
|
Source: Fingas empirical formulas that are based upon analysis |
|
Source: Adios2 & Jones R. (1997), |
|
Generate distillation cut fractional masses from the |
|
Generate a flat distribution of N distillation cut fractional masses. |
|
Source: Dr. M. R. Riazi, |
|
Source: Dr. M. R. Riazi, |
|
Source: Recommendation from Bill Lehr |
|
Source: Recommendation from Bill Lehr |
|
Source: Dr. M. R. Riazi, |
|
|
|
|
|
Note: We pass in a boiling point to remain consistent with the other |
|
Note: We pass in a boiling point to remain consistent with the other |
|
Source: Dr. M. R. Riazi, |
|
Source: Dr. M. R. Riazi, |
|
Source: Dr. M. R. Riazi, |
|
Source: Dr. M. R. Riazi, |
|
Source: Adios2 |
|
Source: Dr. M. R. Riazi, |
|
Source: Reference: Chang A., K. Pashakanti, and Y. Liu (2012), |
|
Source: Reference: Chang A., K. Pashakanti, and Y. Liu (2012), |
|
Source: Adios2 |
Source: Adios2 |
- opendrift.models.openoil.adios.util.estimations.density_from_api(api)[source]
Source: Adios2
API is a measure of how heavy an oil is compared to water. So it is a different unit for specific gravity
- opendrift.models.openoil.adios.util.estimations.density_at_temp(ref_density, ref_temp_k, temp_k, k_rho_t=0.0008)[source]
Source: Adios2
If we have an oil density at a reference temperature, then we can estimate what its density might be at another temperature.
NOTE: need a reference for the coefficient of expansion
- opendrift.models.openoil.adios.util.estimations.vol_expansion_coeff(rho_0, t_0, rho_1, t_1)[source]
Calculate the volumetric expansion coefficient of a liquid based on a set of two densities and their associated temperatures.
- opendrift.models.openoil.adios.util.estimations.specific_gravity(density)[source]
Specific Gravity of Oil with respect to water at 15C (definition used for API gravity)
- opendrift.models.openoil.adios.util.estimations.dvis_to_kvis(dvis, density)[source]
Source: Definition of kinematic viscosity.
Conversion from dynamic viscosity to kinematic viscosity.
- opendrift.models.openoil.adios.util.estimations.kvis_at_temp(ref_kvis, ref_temp_k, temp_k, k_v2=2416.0)[source]
Source: Adios2
If we have an oil kinematic viscosity at a reference temperature, then we can estimate what its viscosity might be at another temperature.
- Note: Bill’s most recent viscosity document, and an analysis of the
multi-KVis oils in our oil library suggest that a value of 2416.0 (Abu Eishah 1999) would be a good default value for k_v2.
- opendrift.models.openoil.adios.util.estimations.resin_fraction(density, viscosity, f_other=0.0)[source]
- opendrift.models.openoil.adios.util.estimations.asphaltene_fraction(density, viscosity, f_other=0.0)[source]
- opendrift.models.openoil.adios.util.estimations.saturates_fraction(density, viscosity, f_other=0.0)[source]
- opendrift.models.openoil.adios.util.estimations._A_coeff(density)[source]
- Source: Fingas empirical formulas that are based upon analysis
of ESTC oil properties database.
This is an intermediate calculation for a coefficient to be used to generate the inert mass fractions of an oil.
- opendrift.models.openoil.adios.util.estimations._B_coeff(density, viscosity)[source]
- Source: Fingas empirical formulas that are based upon analysis
of ESTC oil properties database.
This is an intermediate calculation for a coefficient to be used to generate the inert mass fractions of an oil.
- opendrift.models.openoil.adios.util.estimations.cut_temps_from_api(api, N=5)[source]
- Source: Adios2 & Jones R. (1997),
A Simplified Pseudo-component Oil Evaporation Model, Proceedings of the 20th Arctic and Marine Oil Spill Program, Vancouver, CA, Vol. 1, pp. 43-62
Generate distillation cut temperatures from the oil’s API.
- opendrift.models.openoil.adios.util.estimations.fmasses_from_cuts(f_evap_i)[source]
Generate distillation cut fractional masses from the cumulative distillation fractions in the cut data.
- opendrift.models.openoil.adios.util.estimations.fmasses_flat_dist(f_res, f_asph, N=5)[source]
Generate a flat distribution of N distillation cut fractional masses.
- opendrift.models.openoil.adios.util.estimations.saturate_mol_wt(boiling_point)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eq. 2.48 and table 2.6
- Note: for this to actually work in every case, we need to limit
our temperature to: - T_i < 1070.0 - T_i > - T_i > 1070.0 - exp(6.98291) (roughly about == -8.06)
- opendrift.models.openoil.adios.util.estimations.aromatic_mol_wt(boiling_point)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eq. 2.48 and table 2.6
- Note: for this to actually work in every case, we need to limit
our temperature to: - T_i < 1015.0 - T_i > 1015.0 - exp(6.911) (roughly about == 11.76)
- opendrift.models.openoil.adios.util.estimations.resin_mol_wt(_boiling_point)[source]
Source: Recommendation from Bill Lehr
- Note: We pass in a boiling point to remain consistent with the other
molecular weight functions, even though it is not used.
- Note: We return a scalar in all cases. This should still work with
numpy array operations, but probably not with regular Python sequence types. We can fix this if the need arises.
- opendrift.models.openoil.adios.util.estimations.asphaltene_mol_wt(_boiling_point)[source]
Source: Recommendation from Bill Lehr
- Note: We pass in a boiling point to remain consistent with the other
molecular weight functions, even though it is not used.
- Note: We return a scalar in all cases. This should still work with
numpy array operations, but probably not with regular Python sequence types. We can fix this if the need arises.
- opendrift.models.openoil.adios.util.estimations.trial_densities(boiling_points, watson_factor)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eq. 2.13 and table 9.6
Generate an initial estimate of volatile oil components based on boiling points and the Watson Characterization Factor. This is only good for estimating Aromatics & Saturates.
- opendrift.models.openoil.adios.util.estimations.resin_densities(_boiling_points)[source]
- Note: We pass in a boiling point to remain consistent with the other
molecular weight functions, even though it is not used.
- Note: We return a scalar in all cases. This should still work with
numpy array operations, but probably not with regular Python sequence types. We can fix this if the need arises.
- opendrift.models.openoil.adios.util.estimations.asphaltene_densities(_boiling_points)[source]
- Note: We pass in a boiling point to remain consistent with the other
molecular weight functions, even though it is not used.
- Note: We return a scalar in all cases. This should still work with
numpy array operations, but probably not with regular Python sequence types. We can fix this if the need arises.
- opendrift.models.openoil.adios.util.estimations._hydrocarbon_characterization_param(specific_gravity, temp_k)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eq. 2.115
- Source: Huang, P. K. (1977),
Characterization and Thermodynamic Correlations for Undefined Hydrocarbon Mixtures, Ph.D. Dissertation Pennsylvania State University, University Park, PA,
This is a characterization parameter, designated as I, that was first used by Huang to correlate hydrocarbon properties
- opendrift.models.openoil.adios.util.estimations.refractive_index(hc_char_param)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eq. 2.114
This is the refractive index of liquid hydrocarbons at 20C, correlated through parameter I
- opendrift.models.openoil.adios.util.estimations._hydrocarbon_grouping_param(mol_wt, specific_gravity, temp_k)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eq. 3.50
This is a hydrocarbon grouping parameter correlated through the molecular weight and the refractive index. Riazi claims that it: - separates paraffins and aromatics - identifies various hydrocarbon types
- opendrift.models.openoil.adios.util.estimations.saturate_mass_fraction(fmass_i, mol_wt, specific_gravity, temp_k)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eqs. 3.77 and 3.78
For a petroleum hydrocarbon fraction in which the molecular weight, specific gravity, and boiling point are known, we can estimate the fraction of that substance which contains saturate compounds. When forming his equations, Riazi deals with the PNA composition, which essentially means Paraffins, Naphthenes, and Aromatics. And for our purposes, the saturates include the paraffins and naphthenes.
- opendrift.models.openoil.adios.util.estimations.pour_point_from_kvis(ref_kvis, ref_temp_k)[source]
Source: Adios2
If we have an oil kinematic viscosity at a reference temperature, then we can estimate what its pour point might be.
- opendrift.models.openoil.adios.util.estimations.pour_point_from_sg_mw_kvis(specific_gravity, mol_wt, kvis)[source]
- Source: Dr. M. R. Riazi,
Characterization and Properties of Petroleum Fractions eq. 3.119
Another way of estimating pour point. These inputs may not be available for most imported oil records.
- opendrift.models.openoil.adios.util.estimations.flash_point_from_bp(temp_k)[source]
- Source: Reference: Chang A., K. Pashakanti, and Y. Liu (2012),
Integrated Process Modeling and Optimization, Wiley Verlag.
- opendrift.models.openoil.adios.util.estimations.flash_point_from_api(api)[source]
- Source: Reference: Chang A., K. Pashakanti, and Y. Liu (2012),
Integrated Process Modeling and Optimization, Wiley Verlag.