Tutorial 01: Geostatistical Simulation

Tutorial 01: Geostatistical Simulation#

Note

This tutorial is available as a Python script examples/01_geomodel_sim.py and an interactive Jupyter notebook examples/notebooks/01_geomodel_sim.ipynb.

This tutorial demonstrates how to generate 3D geological property fields using the FFT-based Moving Average (FFT-MA) method.

What You Will Learn#

  • Create simulation configurations with SimulationConfig

  • Generate Gaussian random fields using Simulator.create("fft_ma")

  • Transform Gaussian fields to physical property ranges (e.g., porosity)

  • Generate multiple realizations for uncertainty quantification

  • Compare correlation models (spherical, exponential, Gaussian)

Key Concepts#

FFT-MA is a spectral-domain simulation method that generates spatially correlated random fields efficiently using Fast Fourier Transforms. It is orders of magnitude faster than sequential methods for large grids.

Code#

from geobrain.geomodel import Simulator, SimulationConfig

config = SimulationConfig(
    shape=(64, 64, 64),
    lh=20.0,
    lv=5.0,
    mean=0.0,
    std=1.0,
    seed=42,
)

sim = Simulator.create("fft_ma")
field = sim.simulate(config)

Results#

../_images/01_gaussian_field.png

Fig. 27 Gaussian random field (Z-slice at z=32).#

../_images/01_porosity_field.png

Fig. 28 Porosity field mapped to physical range [0.05, 0.40].#

../_images/01_realizations.png

Fig. 29 Multiple realizations for uncertainty quantification.#

../_images/01_correlation_comparison.png

Fig. 30 Correlation model comparison: spherical, exponential, Gaussian.#

Full Example#

See examples/01_geomodel_sim.py.