pyscal.utils.capillarypressure

Support functions for capillary pressure

pyscal.utils.capillarypressure.simple_J(sw, a, b, poro_ref, perm_ref, drho, g=9.81)[source]

Calculate capillary pressure with bar as unit

RMS version:

\[J = a S_w^b\]

J is not dimensionless in this equation.

This is identical to the also seen formula

\[J = 10^{b \log(S_w) + \log(a)}\]
Parameters:
  • sw (float) – float, water saturation value to be used. Normalize when needed.

  • a (float) – a coefficient

  • b (float) – b coefficient

  • poro_ref (float) – Reference porosity for scaling to Pc, between 0 and 1

  • perm_ref (float) – Reference permeability for scaling to Pc, in milliDarcy

  • drho (float) – Density difference between water and oil, in SI units kg/m³. Default value is 300

  • g (float) – Gravitational acceleration, in SI units m/s², default value is 9.81

Return type:

float

Returns:

capillary pressure, same type as swnpc input argument.

pyscal.utils.capillarypressure.swl_from_height_simpleJ(swlheight, swirr, a, b, poro_ref, perm_ref)[source]

Calculate a swl value based on a height parameter.

The height parameter is typically meters above free water level (FWL)

Parameters:
  • swlheight (float) – Height above free water level, in meters, where we want swl to be.

  • swirr (float) – Asymptotic irreducible water saturation. This is used to normalized the outputted swl.

  • a (float) – a coefficient in RMS simplified J function

  • b (float) – b coefficient in RMS simplified J function

  • poro_ref (float) – Reference porosity for scaling to Pc, between 0 and 1

  • perm_ref (float) – Reference permeability for scaling to Pc, in milliDarcy

Return type:

float

Returns:

A value that can be used for swl.