RandomPermeability#

class dageo.reservoir_simulator.RandomPermeability(nx, ny, perm_mean, perm_min, perm_max, length=(10.0, 10.0), theta=45.0, variance=1.0, dtype='float32')[source]#

Bases: object

Return random permeability fields with certain statistical props.

Parameters:
nx, nyint

Dimensions of the grid.

perm_meanfloat

Mean permeability (mD).

perm_min, perm_maxfloat

Minimum and maximum values for permeability (mD).

lengthtuple of two floats, default: (10.0, 10.0)

Length scales for the correlation of permeability (-).

thetafloat, default: 45.0

Rotation angle for the anisotropy in the permeability field (°).

variancefloat, default: 1.0

Variance scale for the permeability.

dtypestr, default: ‘float32’

Data type for computations, for precision and performance tuning.

Attributes Summary

cov

Covariance matrix

lcho

Lower Cholesky decomposition

Methods Summary

__call__(n[, perm_mean, perm_min, perm_max, ...])

Generate n random permeability fields

Attributes Documentation

cov#

Covariance matrix

Lazy-loaded covariance matrix, calculated based on anisotropy and statistical parameters.

lcho#

Lower Cholesky decomposition

Lower Cholesky decomposition of the covariance matrix, used for generating random fields.

Methods Documentation

__call__(n, perm_mean=None, perm_min=None, perm_max=None, random=None)[source]#

Generate n random permeability fields

Generate n random permeability fields using the specified statistical parameters and random seed.

Parameters:
nint

Number of fields to generate

perm_mean{float, None}, default: None

Mean permeability to override the initialized value (mD).

perm_min, perm_max{float, None}, default: None

Min and max permeability values to clip the fields (mD).

random{None, int, np.random.Generator}, default: None

Seed or random generator for reproducibility.

Returns:
perm_fieldsndarray

An array of generated permeability fields.