resqpy.olio.transmission.half_cell_t_regular

resqpy.olio.transmission.half_cell_t_regular(grid, perm_k=None, perm_j=None, perm_i=None, ntg=None, darcy_constant=None)[source]

Creates a half cell transmissibilty property array for a RegularGrid.

Parameters
  • grid (grid.RegularGrid) – the grid for which half cell transmissibilities are required

  • perm_k (float arrays of shape (nk, nj, ni), required) – cell permeability values (for each direction), in mD;

  • j (float arrays of shape (nk, nj, ni), required) – cell permeability values (for each direction), in mD;

  • i (float arrays of shape (nk, nj, ni), required) – cell permeability values (for each direction), in mD;

  • ntg (float array of shape (nk, nj, ni), or float, optional) – net to gross values to apply to I & J calculations; if a single float, is treated as a constant; if None, a value of 1.0 is used

  • darcy_constant (float, required) – the value to use for the Darcy constant

Returns

numpy float array of shape (nk, nj, ni, 3) where the 3 covers K,J,I;

units will depend on the length units of the coordinate reference system for the grid (and implicitly on the units of the darcy_constant); the units will typically be m3.cP/(kPa.d) or bbl.cP/(psi.d) for grid length units of m and ft respectively, depending on the correct darcy_constant being passed

Notes

the same half cell transmissibility value is applicable to both - and + polarity faces; the axes of the regular grid are assumed to be orthogonal; the net to gross factor is only applied to I & J transmissibilities, not K; the results include the Darcy Constant factor but not any transmissibility multiplier applied at the face; to compute the transmissibilty between neighbouring cells, take the harmonic mean of the two half cell transmissibilities and multiply by any transmissibility multiplier; returned array will need to be re-shaped before storing as a RESQML property with indexable elements of ‘faces’; the coordinate referemce system for the grid must have the same length units for xy and z; this function is vastly more computationally efficient than the general (irregular grid) function