Using an Unstructured GridΒΆ

For many applications, the random fields are needed on an unstructured grid. Normally, such a grid would be read in, but we can simply generate one and then create a random field at those coordinates.

import numpy as np
import gstools as gs

Creating our own unstructured grid

seed = gs.random.MasterRNG(19970221)
rng = np.random.RandomState(seed())
x = rng.randint(0, 100, size=10000)
y = rng.randint(0, 100, size=10000)

model = gs.Exponential(dim=2, var=1, len_scale=[12, 3], angles=np.pi / 8)
srf = gs.SRF(model, seed=20170519)
field = srf((x, y))
srf.vtk_export("field")
# Or create a PyVista dataset
# mesh = srf.to_pyvista()
ax = srf.plot()
ax.set_aspect("equal")
../../_images/sphx_glr_03_unstr_srf_export_001.png

Comparing this image to the previous one, you can see that be using the same seed, the same field can be computed on different grids.

Total running time of the script: ( 0 minutes 1.615 seconds)

Gallery generated by Sphinx-Gallery