Spatial Integration Help

Building a Model

Note

Coming in Spatial Integration version 3.

Requires the Professional edition. In the Community edition, geological models in a project can be viewed read-only: shown, hidden and faded, but not created or changed.

Building a feature fits its field to its constraints and extracts the surface as a triangle mesh. A fit typically takes from under a second to a minute, depending on the number of constraints.

The Build Tab

Button What it does
Preview selected A quick build of the selected feature on a coarse mesh
Build selected A final build of the selected feature on a finer, refined mesh
Build all A final build of every enabled feature that is not up to date, in dependency order
Stop Cancels the running build. Features queued after it that depend on it are dropped

Builds run one at a time in the background, so you can keep working, and they carry on with the dialog closed. Below the buttons are the progress, any error, and a summary of the selected feature's last build: its mesh, triangle count, mesh spacing, iterations and fit time. The Log keeps a line for every build.

Dependency order

Features depend on each other. A surface cut by a fault is fitted from data moved back across that fault, a truncated surface is cut by its truncator's surface, and a splay borrows points from the fault it branches from. So the fault must be built before the surface, and the truncator before what it truncates.

The modeller follows these relationships. Building one feature first builds anything it depends on that is not up to date. Build all builds everything that needs it, in an order that respects every relationship, and leaves nothing stale. A feature whose build fails stops the features that depend on it, and the log says why.

Building as you edit

With Refit a preview whenever a feature's inputs change ticked on the Model tab, any change to a feature - a constraint row, a sync, a parameter, a relationship - queues a preview of that feature and of everything that depends on it. Turn it off on a large model and build when you are ready.

Mesh Resolution

The mesh spacing is the size of the lattice the surface is traced on. A surface cannot show detail much smaller than its spacing, and a thin body narrower than the spacing may be missed altogether. Halving the spacing roughly quadruples the time a mesh takes.

The spacing is chosen in this order:

  1. The feature's own Preview mesh spacing or Final mesh spacing in its Fit parameters.
  2. The model's Mesh resolution on the Model tab, Preview and Final.
  3. For a grade shell, a spacing worked out from its ore points (see Grade Shells).
  4. The model's extent: its diagonal divided by 40 for a preview and by 150 for a final build. The Model tab shows these values as auto.

Engines

Each feature is fitted by one of two engines, chosen with Engine at the top of its Fit parameters. The change applies straight away and marks the feature stale.

  • RBF (exact, grid-free) - the default. It fits a smooth function through the data with no grid, so the surface is as detailed as the mesh spacing allows. It is the better choice for most faults, surfaces and grade shells, especially on sparse drilling, where its nugget smooths over isolated values.
  • Finite difference (grid) - solves the field on a regular grid covering the model. It is coarser, limited by its cell size, but it combines orientations with inside and outside points in one fit, which the RBF engine cannot, and its cost depends on the grid rather than on the number of constraints. Use it for a body bounded by both orientations and assays, or for very large sets of constraints.

The finite difference engine has its own parameters:

Parameter Meaning
Grid cell (0 = auto) The grid's cell size in model units. Auto fits about 60,000 cells to the model's extent. The surface cannot show detail much smaller than a cell
Smoothing How strongly the field is kept smooth against the constraints. Higher gives a smoother surface that follows the data more loosely
Orientation weight How much orientations count against points
Max grid nodes A cap on the grid's size; the cell grows until the grid fits

It also uses Derive normals from points when there are none, Positive side faces azimuth and the mesh spacings. The RBF settings below do not apply to it, and are hidden while it is chosen.

Tip

On sparse drilling the finite difference engine can leave small separate blobs around isolated ore intervals. Raise its Smoothing, or use the RBF engine with a nugget.

Fit Parameters

Each feature's Fit parameters are at the bottom of the Features tab. The defaults suit most data; click Apply parameters after changing any, or Revert to discard the changes. The table lists the RBF engine's parameters.

Parameter Meaning
Kernel The shape of the interpolating function. Biharmonic (linear) gives the smoothest surface that passes through the data, and is right for almost everything. Triharmonic (cubic) is smoother still. The covariance kernels (Spherical, Exponential, Gaussian, Cubic and the Spheroidal and Cauchy families) behave like kriging with that variogram model; see Run tab
Scale, Smoothing c Shown for the Biharmonic and Triharmonic kernels. The defaults of 1 and 0 suit almost every model
Partial sill, Range Shown for the covariance kernels: the variogram partial sill and range, along the long axis of the anisotropy
Drift A trend fitted underneath the kernel: None, Constant, Linear or Quadratic. Faults and surfaces use Linear, grade shells Constant
Mode How the constraints are used, see below
Derive normals from points when there are none Lets a surface or fault be built from points alone
Positive side faces azimuth Which way a derived orientation points; unset faces up
Offset (0 = auto) In Offset points and Inequality modes, how far either side of the surface orientations are placed
Nugget Smoothing: how far the field may miss each point to stay smooth. 0 passes through every point
Tolerance How closely the fit must honour the points before it stops, in field units
Gradient tolerance The same, for orientations
Max iterations A cap on how long the fit keeps refining before it stops
Preview mesh spacing, Final mesh spacing This feature's mesh spacing; 0 takes the model's
Preview thinning, Final thinning Rows closer together than this many mesh spacings are left out of the fit, since data denser than the mesh can show only slows the build. Hand-placed and pinned rows always stay, and the mesh still snaps to every pick. Previews thin at half a mesh spacing. A final build uses every row (0) unless you set a value, since the result also feeds the block model and the features this one cuts
Azimuth, Plunge, Ratio intermediate, Ratio minor Anisotropy: stretches the field along a direction, so it is smoother along the long axis than across it

Modes

  • Hermite (normals as gradients) - points on the surface, plus orientations as the direction of the field's gradient. The default for faults and surfaces.
  • Offset points - each orientation is turned into a pair of points either side of the surface. Use it when a Hermite fit struggles with conflicting orientations.
  • Inequality - adds inside and outside points as strict bounds. Slow on many points.
  • Indicator (grade shells) - inside and outside points fitted as values, with a nugget to smooth noise. The default for grade shells.

Where the Results Go

Everything a build produces is saved in the model folder, so a model reopened in another session shows its last builds without fitting again. Block models are saved in its grids folder. A feature whose inputs have changed since is marked stale until it is built again.