pyscal.wateroilgas
Container object for one WaterOil and one GasOil object
- class pyscal.wateroilgas.WaterOilGas(swirr=0.0, swl=0.0, swcr=0.0, sorw=0.0, sorg=0.0, sgcr=0.0, h=None, tag='', fast=False)[source]
A representation of three-phase properties for oil-water-gas
Use one object for each satnum.
One WaterOil and one GasOil object will be created, with compatible saturation ranges. Access the class members ‘wateroil’ and ‘gasoil’ directly to add curves.
All arguments to the initializer can be defaulted, and all are zero except h.
Either the gasoil or the wateroil member is allowed to be None in case of only two phases present. It is allowed for functions to set these members to None after initialization, as done in SCALrecommendation.interpolate()
- Parameters:
swirr (
float
) – Irreducible water saturation for capillary pressureswl (
float
) – First water saturation point in outputted tables.swcr (
float
) – Critical water saturation, water is immobile below thissorw (
float
) – Residual oil saturationsgcr (
float
) – Critical gas saturation, gas is immobile below thish (
Optional
[float
]) – Saturation intervals in generated tables.tag (
str
) – Optional text that will be included as comments.fast (
bool
) – Set to True if you prefer speed over robustness. Not recommended, pyscal will not guarantee valid output in this mode.
- SGFN(header=True, dataincommentrow=True)[source]
Return a SGFN string. Delegated to the gasoil object.
- Return type:
str
- SGOF(header=True, dataincommentrow=True)[source]
Return a SGOF string. Delegated to the gasoil object.
- Return type:
str
- SLGOF(header=True, dataincommentrow=True)[source]
Return a SLGOF string. Delegated to the gasoil object.
- Return type:
str
- SOF3(header=True, dataincommentrow=True)[source]
Return a SOF3 string, combining data from the wateroil and gasoil objects.
So - the oil saturation ranges from 0 to 1-swl. The saturation points from the WaterOil object is used to generate these
- Return type:
str
- SWFN(header=True, dataincommentrow=True)[source]
Return a SWFN string. Delegated to the wateroil object.
- Return type:
str
- SWOF(header=True, dataincommentrow=True)[source]
Return a SWOF string. Delegated to the wateroil object
- Return type:
str
- selfcheck()[source]
Run selfcheck on both wateroil and gasoil.
Returns true only if both passes if both are present.
If only wateroil or gasoil is present (the other being None, only the relevant is checked.
- Return type:
bool
- property sorg: float
Get the sorg used in the GasOil object
- property sorw: float
Get the sorw used for the WaterOil object
- property swirr: float
Get the swirr used for the WaterOil object
- property swl: float
Get the swl used for the WaterOil object
- property tag: str
Get the tag, a combination of the tags in WaterOil and GasOil only if they are different
- threephaseconsistency()[source]
Perform consistency checks on produced curves, similar to what Eclipse does at startup.
If any (likely) errors are found, these are printed as warnings and this function returns False.
“Errors” from this function should be treated as warnings, as false positives from this function should not have breaking consequences.
- Return type:
bool