fmu.tools.properties package
Submodules
fmu.tools.properties.swfunction module
Sw J or BVW or Brooks-Corey general functions, by direct or integration.
Solve a system on form:
sw = a(m + x*h)^b
The “x” can e.g. be the J term in the Leverett equation, but without the height term.
In many cases m is zero.
Note: The public library xtgeo must be available.
- class fmu.tools.properties.swfunction.SwFunction(grid, x=0.0, a=1.0, b=-1.0, ffl=999.0, m=0.0, swira=0.0, swmax=1.0, method='cell_center_above_ffl', gridname='', project=None, invert=False, hcenter=None, htop=None, hbot=None, debug=False, tag='')[source]
Bases:
object
Generic Sw calc for formulation Sw = a * (m + x * h)^b.
Some theory for this is shown here:
pdf
.- Parameters:
grid (xtgeo.Grid) – The xtgeo grid object
x (float | xtgeo.GridProperty) – The
x
term in the generic saturation. For a simplified J function, this will be sqrt(perm/poro).a (float | xtgeo.GridProperty) – The
a
term in the generic saturation.b (float | xtgeo.GridProperty) – The
b
term in the generic saturation.ffl (float | xtgeo.GridProperty) – The free fluid level, either as a number or a 3D xtgeo gridproperty object.
m (float | xtgeo.GridProperty) – The
m
term in the equation above, either as a number or a 3D xtgeo gridproperty object. Defaults to zero.swira (float | xtgeo.GridProperty) – The absolute irreducable satuation applied as asymptote in the equation. Defaults to zero.
swmax (float | xtgeo.GridProperty) – The maximum applied as asymptote in the equation. Defaults to 1.
method (str) – How to look at cell geometry. There are three options: ‘cell_center’, ‘cell_center-above_ffl’ and ‘cell_corners_above_ffl’.
gridname (str) – Optional - only needed when debug keyword is True.
project (Any | None) – Optional. Must be included when working in RMS.
invert (bool) – Optional, will in case invert
a
andb
in case the J function (or similar) is formulated as Sw = (J/A)^(1/B). This is the case in e.g. RMSzdepth – Optional. May speed up computation if provided, in case the function is called several time for the same grid.
hcenter (xtgeo.GridProperty) – Optional. May speed up computation if provided, in case the function is called several time for the same grid, or hcenter is pre-computed in a special way. The hcenter will work with direct method only, not integration.
htop (xtgeo.GridProperty) – Optional. May speed up computation if provided, in case the function is called several time for the same grid.
hbot (xtgeo.GridProperty) – Optional. May speed up computation if provided, in case the function is called several time for the same grid.
debug (bool) – If True, several “check parameters” will we given, either as grid properties (if working in RMS) or as ROFF files (if working outside RMS).
tag (str) – Optional string to identify debug parameters.
- grid: xtgeo.Grid
- x: float | xtgeo.GridProperty = 0.0
- a: float | xtgeo.GridProperty = 1.0
- b: float | xtgeo.GridProperty = -1.0
- ffl: float | xtgeo.GridProperty = 999.0
- m: float | xtgeo.GridProperty = 0.0
- swira: float | xtgeo.GridProperty = 0.0
- swmax: float | xtgeo.GridProperty = 1.0
- method: str = 'cell_center_above_ffl'
- gridname: str = ''
- project: Any | None = None
- invert: bool = False
- hcenter: xtgeo.GridProperty = None
- htop: xtgeo.GridProperty = None
- hbot: xtgeo.GridProperty = None
- debug: bool = False
- tag: str = ''
Module contents
- class fmu.tools.properties.SwFunction(grid, x=0.0, a=1.0, b=-1.0, ffl=999.0, m=0.0, swira=0.0, swmax=1.0, method='cell_center_above_ffl', gridname='', project=None, invert=False, hcenter=None, htop=None, hbot=None, debug=False, tag='')[source]
Bases:
object
Generic Sw calc for formulation Sw = a * (m + x * h)^b.
Some theory for this is shown here:
pdf
.- Parameters:
grid (xtgeo.Grid) – The xtgeo grid object
x (float | xtgeo.GridProperty) – The
x
term in the generic saturation. For a simplified J function, this will be sqrt(perm/poro).a (float | xtgeo.GridProperty) – The
a
term in the generic saturation.b (float | xtgeo.GridProperty) – The
b
term in the generic saturation.ffl (float | xtgeo.GridProperty) – The free fluid level, either as a number or a 3D xtgeo gridproperty object.
m (float | xtgeo.GridProperty) – The
m
term in the equation above, either as a number or a 3D xtgeo gridproperty object. Defaults to zero.swira (float | xtgeo.GridProperty) – The absolute irreducable satuation applied as asymptote in the equation. Defaults to zero.
swmax (float | xtgeo.GridProperty) – The maximum applied as asymptote in the equation. Defaults to 1.
method (str) – How to look at cell geometry. There are three options: ‘cell_center’, ‘cell_center-above_ffl’ and ‘cell_corners_above_ffl’.
gridname (str) – Optional - only needed when debug keyword is True.
project (Any | None) – Optional. Must be included when working in RMS.
invert (bool) – Optional, will in case invert
a
andb
in case the J function (or similar) is formulated as Sw = (J/A)^(1/B). This is the case in e.g. RMSzdepth – Optional. May speed up computation if provided, in case the function is called several time for the same grid.
hcenter (xtgeo.GridProperty) – Optional. May speed up computation if provided, in case the function is called several time for the same grid, or hcenter is pre-computed in a special way. The hcenter will work with direct method only, not integration.
htop (xtgeo.GridProperty) – Optional. May speed up computation if provided, in case the function is called several time for the same grid.
hbot (xtgeo.GridProperty) – Optional. May speed up computation if provided, in case the function is called several time for the same grid.
debug (bool) – If True, several “check parameters” will we given, either as grid properties (if working in RMS) or as ROFF files (if working outside RMS).
tag (str) – Optional string to identify debug parameters.
- grid: xtgeo.Grid
- x: float | xtgeo.GridProperty = 0.0
- a: float | xtgeo.GridProperty = 1.0
- b: float | xtgeo.GridProperty = -1.0
- ffl: float | xtgeo.GridProperty = 999.0
- m: float | xtgeo.GridProperty = 0.0
- swira: float | xtgeo.GridProperty = 0.0
- swmax: float | xtgeo.GridProperty = 1.0
- method: str = 'cell_center_above_ffl'
- gridname: str = ''
- project: Any | None = None
- invert: bool = False
- hcenter: xtgeo.GridProperty = None
- htop: xtgeo.GridProperty = None
- hbot: xtgeo.GridProperty = None
- debug: bool = False
- tag: str = ''