resqpy.olio.transmission.half_cell_t_irregular
- resqpy.olio.transmission.half_cell_t_irregular(grid, perm_k=None, perm_j=None, perm_i=None, ntg=None, darcy_constant=None, tolerance=1e-06)[source]
Creates a half cell transmissibilty property array for an IJK grid.
- Parameters:
grid (
grid.Grid) – the grid for which half cell transmissibilities are requiredperm_k (
float arraysofshape (nk,nj,ni),reqwuired) – cell permeability values (for each direction), in mD;j (
float arraysofshape (nk,nj,ni),reqwuired) – cell permeability values (for each direction), in mD;i (
float arraysofshape (nk,nj,ni),reqwuired) – cell permeability values (for each direction), in mD;ntg (
float arrayofshape (nk,nj,ni), orfloat,required) – net to gross values to apply to I & J calculations; if a single float, is treated as a constant;darcy_constant (
float,required) – the value to use for the Darcy constanttolerance (
float, default1.0e-6) – minimum half axis length below which the transmissibility will be deemed uncomputable (for the axis in question); NaN values will be returned (not Inf); units are implicitly those of the grid’s crs length units
- Returns:
- numpy float array of shape (nk, nj, ni, 3, 2) where the 3 covers K,J,I and the 2 covers the
face polarity: - (0) and + (1); units will depend on the length units of the coordinate reference system for the grid (and implicitly on the units of the darcy_constant); if darcy_constant is None, 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 algorithm is equivalent to the half cell transmissibility element of the Nexus NEWTRAN calculation; each resulting value is effectively for the entire face, so area proportional fractions will be needed at faults with throw, or at grid boundaries; 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; if the two cells do not have simple sharing of a common face, first reduce each half cell transmissibility by the proportion of the face that is shared (which may be a different proportion for each of the two juxtaposed cells); returned array will need to be re-ordered and re-shaped before storing as a RESQML property with indexable elements of ‘faces per cell’; the coordinate referemce system for the grid must have the same length units for xy and z