opendrift.models.openoil.adios.computation.estimations

Code for estimating various properties that aren’t in a oil record.

These can be used to generate complete oil specifications for modeling, etc.

Note: there is code in here to make various estimations of

SARA fractionations – be warned, these are of unceratain use, and not very accurate

Module Contents

Functions

pour_point_from_kvis(ref_kvis, ref_temp_k)

Source: Adios2

flash_point_from_bp(temp_k)

Source: Reference: Chang A., K. Pashakanti, and Y. Liu (2012),

flash_point_from_api(api)

Source: Reference: Chang A., K. Pashakanti, and Y. Liu (2012),

cut_temps_from_api(api[, N])

Source: Adios2 & Jones R. (1997),

fmasses_flat_dist([f_res, f_asph, N])

Generate a flat distribution of N distillation cut fractional masses.

fmasses_from_cuts(f_evap_i)

Generate distillation cut fractional masses from the

resin_fraction(density, viscosity[, f_other])

asphaltene_fraction(density, viscosity[, f_other])

saturates_fraction(density, viscosity[, f_other])

aromatics_fraction(f_res, f_asph, f_sat)

_A_coeff(density)

Source: Fingas empirical formulas that are based upon analysis

_B_coeff(density, viscosity)

Source: Fingas empirical formulas that are based upon analysis

saturate_mol_wt(boiling_point)

Source: Dr. M. R. Riazi,

aromatic_mol_wt(boiling_point)

Source: Dr. M. R. Riazi,

resin_mol_wt(boiling_points)

Source: Recommendation from Bill Lehr

asphaltene_mol_wt(boiling_points)

Source: Recommendation from Bill Lehr

trial_densities(boiling_points, watson_factor)

Source: Dr. M. R. Riazi,

saturate_densities(boiling_points)

aromatic_densities(boiling_points)

resin_densities(boiling_points)

asphaltene_densities(boiling_points)

saturate_mass_fraction(fmass_i, temp_k[, total_sat])

Source: Dr. Robert Jones, based on average of 51 Exxon oils

opendrift.models.openoil.adios.computation.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.computation.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.computation.estimations.flash_point_from_api(api)[source]
Source: Reference: Chang A., K. Pashakanti, and Y. Liu (2012),

Integrated Process Modeling and Optimization, Wiley Verlag.

opendrift.models.openoil.adios.computation.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.computation.estimations.fmasses_flat_dist(f_res=0, f_asph=0, N=5)[source]

Generate a flat distribution of N distillation cut fractional masses.

opendrift.models.openoil.adios.computation.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.computation.estimations.resin_fraction(density, viscosity, f_other=0.0)[source]
opendrift.models.openoil.adios.computation.estimations.asphaltene_fraction(density, viscosity, f_other=0.0)[source]
opendrift.models.openoil.adios.computation.estimations.saturates_fraction(density, viscosity, f_other=0.0)[source]
opendrift.models.openoil.adios.computation.estimations.aromatics_fraction(f_res, f_asph, f_sat)[source]
opendrift.models.openoil.adios.computation.estimations._A_coeff(density)[source]
Source: Fingas empirical formulas that are based upon analysis

of ESTS oil properties database.

This is an intermediate calculation for a coefficient to be used to generate the mass fractions of an oil.

opendrift.models.openoil.adios.computation.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 mass fractions of an oil.

opendrift.models.openoil.adios.computation.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.computation.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.computation.estimations.resin_mol_wt(boiling_points)[source]

Source: Recommendation from Bill Lehr

opendrift.models.openoil.adios.computation.estimations.asphaltene_mol_wt(boiling_points)[source]

Source: Recommendation from Bill Lehr

opendrift.models.openoil.adios.computation.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.computation.estimations.saturate_densities(boiling_points)[source]
opendrift.models.openoil.adios.computation.estimations.aromatic_densities(boiling_points)[source]
opendrift.models.openoil.adios.computation.estimations.resin_densities(boiling_points)[source]
opendrift.models.openoil.adios.computation.estimations.asphaltene_densities(boiling_points)[source]
opendrift.models.openoil.adios.computation.estimations.saturate_mass_fraction(fmass_i, temp_k, total_sat=None)[source]

Source: Dr. Robert Jones, based on average of 51 Exxon oils This assumes we do not known the SARA totals for the oil