Implicit modelling explained: from drillhole logs to 3D domains
Implicit modelling builds a geological boundary by fitting a function to your data and taking the surface where that function equals zero, rather than drawing each surface by hand.
For logged categories such as lithology or zones, the data are first converted to numbers: points inside the unit are positive, points on its boundary are zero and points outside are negative. GEOREKA also estimates the distance to the boundary, so each value says how far from the boundary the point lies. Fitting a function through those values works much like Kriging, which is why the same ideas carry over to grade estimates.
Step 1: turn categories into numbers
Drillhole logs record categories: lithology code A from 0 to 10m, code B from 10m to 15m, etc. A smooth function cannot be fitted to a category, so the first step is to convert the intervals into points with numeric values, one unit at a time.
| Where the point lies | Indicator value | What it means |
|---|---|---|
| Inside the unit | Positive | The sample is logged as the unit you are modelling |
| On the boundary | 0 | The contact where a drillhole passes from the unit into something else |
| Outside the unit | Negative | The sample is logged as any other unit |
The boundary points are the most informative: the contact is exactly where the model surface has to pass. Points inside and outside tell the function which side is which.
Step 2: add the distance to the nearest boundary
A plain indicator, +1 inside and −1 outside, throws information away. A sample just inside a contact and a sample deep in the unit would both be +1. GEOREKA therefore also estimates the distance from each point to the nearest boundary and uses that signed distance as the value: again with positive inside, negative outside and zero on the boundary.
An implicit function fitted to the distances returning the estimated distance to a boundary, positive on one side and negative on the other, is a signed distance function (SDF). So the numbers in Step 2 are samples of an SDF, and the model you fit next is an estimate of that SDF everywhere else. The signed distance functions guide explains why this makes implicit models flexible and fast.
Step 3: fit one implicit function through all the points
The function is fitted so that it passes through the values at the data points and varies smoothly between them. Radial basis functions (RBFs) are the usual choice, and the fitted function has the form:
f(x) = Σ aᵢ · φ(|x − xᵢ|)
Each data point contributes a bump φ centred on it, and the weights aᵢ come from solving a linear system so that f reproduces the data. The choice of φ, and its range, controls how smooth the surface is and how far each point’s influence reaches. See the covariance function guide for how that choice behaves.
Step 4: the boundary is where the function equals zero
Once fitted, the function can be evaluated at any location, on a grid or in a section. Because the boundary is defined by a threshold on a function and not by a mesh, you can change it by changing function values. Adjust the threshold to move the surface, or add points to correct it locally, without redrawing anything.
For how this applies to real drillhole data, with several units and hard or soft contacts, see domains from drillholes and soft and hard domain boundaries.
How it relates to Kriging of Grades
Fitting an RBF, ML regression and Kriging are close relatives. Kriging estimates a value at a location as a weighted sum of nearby data, with weights from a covariance model. Written in its dual form, Kriging is also a sum of one function per data point with weights from a linear system, which is the RBF form above. With a suitable covariance function the two give a similar estimate. The kriging, RBF and ML guide shows the mathematics.
| Implicit modelling of a boundary | Kriging a grade | |
|---|---|---|
| What is estimated | Signed distance to a boundary | Grade or another numeric attribute |
| Input values | Indicator points and distances, built from categories | Assays and other measurements |
| Treatment of data | Usually honoured exactly, because contacts are logged positions | Often smoothed with a nugget effect, because assays are noisy |
| Result used as | The zero level is the domain boundary | Estimated grade in each block |
| Shared machinery | Covariance or kernel, range, anisotropy, linear system | The same |
How it ties in with grade estimates
- Domains control where grade is estimated. The implicit model gives true 3D domain volumes, and grade is then estimated inside each one, so high grades are not smeared across a geological contact. Whether samples from the neighbouring domain are used depends on whether the boundary is hard or soft (see soft and hard boundaries).
- Grade shells use the same trick. Apply a cut-off to a numeric attribute: values above it become positive, values below it negative, and the zero level is the shell at that cut-off. Change the cut-off and the shell changes with it.
- Anisotropy applies to both. Direction of continuity that follows the structure improves the domain surface and the grade estimate alike (see local varying anisotropy).
- One engine. In GEOREKA the same interpolation methods are used for boundaries and for grades, so the domain model and the resource estimate come from one project.
What to check in your own model
- Contacts are logged and imported at the right depths, because boundary points drive the surface.
- Enough points on both sides of the unit, so the function knows which side is which.
- The range is large enough to bridge drillhole spacing but not so large that it connects separate bodies.
- The surfaces look geologically reasonable in sections, and match drillholes you left out of the fit.
Further reading
Apply it
Build domains the implicit way in GEOREKA
GEOREKA builds domains from implicit models with explicit control where your judgement should lead, and carries them through to estimation. Geological modelling in GEOREKA → Resource estimation →
Common questions
Implicit modelling FAQ
What is implicit modelling?
Implicit modelling defines a geological boundary as the place where a function, fitted to your data, equals a threshold, usually zero. The function is then a signed distance function: positive inside the unit, negative outside and zero on the boundary.
How is categorical data used in implicit modelling?
Logged categories such as lithology are converted to indicator points: positive inside the unit, zero where a drillhole crosses its boundary, and negative outside. GEOREKA also estimates the distance from each point to the nearest boundary, so the values carry how far from the boundary each point lies.
What is a signed distance function?
A function that returns the distance from any location to a boundary, with the sign showing which side it is on. Implicit modelling is a way of estimating one from your data.
Is implicit modelling the same as Kriging?
No, but they are closely related. Implicit modelling is a generic term that describes estimation of values between data points with weights from a linear system. Kriging usually refers to estimates of a grade, while implicit modelling estimates a signed distance and takes its zero level as the boundary.
How does implicit modelling relate to grade estimation?
The implicit model defines the domains, and grade is estimated inside them. The same approach also makes grade shells, by applying a cut-off so that values above it are positive and values below it negative.
Is RBF interpolation the same as implicit modelling?
Not exactly. RBFs are just one class of function used to fit a model. Implicit modelling is the broader idea of defining a boundary as the zero level of a fitted function. The fitted function can be Dual Kriging, RBF or ML Regression.
Try it
Try it on your own data.
The 14-day trial includes every feature.
