Synthetic Seismic Modelling from Classified Meshes
Scope. This page is the methodological companion to the Seismic Modelling user guide. It documents the physics, the numerical scheme, and the software architecture in enough detail to reproduce or extend the method. The user guide covers the workflow and the dialog; here we explain why the result looks the way it does.
Abstract
We describe a forward operator that turns a classified triangulated surface mesh — an outcrop or interpreted surface model carrying per-vertex facies and acoustic impedance — into a band-limited synthetic seismic section. Contacts between facies are treated as reflecting elements; their reflectivity follows from the impedance contrast across the contact, and their orientation follows from the in-plane impedance gradient under an explicit two-dimensional extrusion assumption. A Kirchhoff diffraction stack sums the contribution of every reflecting element into each trace using straight-ray traveltimes in a constant background velocity, geometric spreading, and an obliquity weight; each trace is then convolved with a chosen wavelet. The same traversal records, co-located with the modelled reflections, the facies and impedance that produced them, which are exposed as filterable attribute layers on the resulting section. We close with the data model, the colour-mapped panel renderer, and the assumptions and limitations of the approach.
1. Introduction
Tying outcrop interpretation to the seismic scale is a recurring problem in reservoir geology: a contact that is obvious on a cliff face may image strongly, weakly, or only as a diffraction once it is band-limited and viewed under a particular acquisition geometry. Rather than exporting to an external modelling package, VRGS computes a synthetic section in situ from the same classified mesh the interpreter is already working with. The method is deliberately lightweight — a single-scattering (Born/Kirchhoff) approximation with straight rays — so that it runs interactively on a background worker and answers the qualitative question "how would this geometry image?" rather than producing a calibrated amplitude prediction.
2. Method
2.1 Inputs
The operator consumes a triangulated mesh with two per-vertex scalar layers:
| Symbol | Quantity | Role |
|---|---|---|
| facies / class id at vertex | identifies contacts (where differs across a facet) | |
| acoustic impedance at vertex | drives reflectivity and reflector orientation |
Impedance is the product of bulk density and P-wave velocity, . The layers are produced upstream (classification, painting, or the Add Test Facies + Impedance helper) and are read by name; the operator does not classify.
2.2 Reflector extraction
The mesh is traversed facet by facet. For a facet with vertices we group the vertices by facies id. A facet whose three vertices share a single facies is interior to a unit and contributes nothing. Otherwise the facet straddles a contact and becomes a reflecting element with:
- a centroid in true world coordinates;
- a true 3-D area ;
- a reflection coefficient and a normal (below).
2.3 Reflectivity
Each facies group has a mean impedance. For a facet touching two facies the contact is unambiguous; for a facet touching three, the pair with the largest impedance contrast is selected (a deterministic, vertex-order tie-break). With and the mean impedances on the two sides, the normal-incidence reflection coefficient is
This is the standard acoustic, normal-incidence form; angle-dependent (AVO) effects are not modelled.
2.4 The two-dimensional extrusion assumption
The reflecting orientation is not taken from the cliff-face (mesh) normal. Instead it is the impedance gradient across the facet, projected into the acquisition plane and normalised:
where is the constant gradient of the linearly-interpolated impedance over the triangle, is the horizontal normal of the vertical acquisition plane, and removes the out-of-plane component. The gradient is undefined (returns ) for a degenerate triangle or vanishing contrast.
Geologically this asserts that each contact extends perpendicular to the section — a 2-D structure swept along strike. It is what makes a horizontal bed reflect strongly to a source directly above it (its normal points up, into the plane), while a vertical fault is weak at zero offset (its normal is near- horizontal) yet still diffracts off its truncated tips. Where measured per-vertex dip vectors are available they can be substituted for the computed gradient, turning the assumption into data.
2.5 The Kirchhoff diffraction stack
Every reflecting element is treated as a Huygens secondary source. For a source–receiver pair defining trace , and an element at with reflectivity , area , and unit normal , let
The element deposits an impulse of amplitude