FD modelling (distributed, 2D)

<< Click to Display Table of Contents >>

Navigation:  Modeling >

FD modelling (distributed, 2D)

 

Description

FD Modelling (distributed, 2D) performs acoustic finite-difference (FD) forward modelling of seismic wave propagation through a 2D depth velocity model. Starting from a user-defined source wavelet, the module numerically solves the acoustic wave equation at each source position and records the resulting synthetic seismograms at a set of receiver positions. The output is a pre-stack synthetic dataset in the internal .gsd format, containing one shot gather per source location.

The module is designed for distributed execution: sources are divided into independent chunks and processed in parallel across multiple CPU threads, GPU devices, or remote compute nodes. This makes it practical for generating large synthetic datasets over extended 2D profiles. The resulting synthetic data can be used for velocity model validation, wave-equation migration testing, or full-waveform inversion (FWI) starting models.

Source and receiver positions are derived automatically from the extent of the input depth velocity model, using the specified source and receiver spacing. The model is internally resampled to a uniform grid at the specified model resolution before wave propagation begins. Absorbing boundary conditions are applied at the model edges to suppress artificial reflections; optionally, a free-surface reflection condition can be enabled at the top of the model.

 

Input data

Input depth velocity

Connect a depth-domain interval velocity gather (VistaGatherSettingsVelocity). This is the 2D velocity model through which the acoustic wave equation is solved. The model must be in depth and should cover the full area of interest, as source and receiver positions are placed within its lateral and depth extent. Before modelling begins, the model is resampled onto a uniform grid with the spacing defined by the Model resolution parameter. Topography at the surface can optionally be detected from the model or from trace headers.

Output file name

Specify the path and name of the output .gsd file where the synthetic shot gathers will be written. The file will be created if it does not exist. If the file already exists, a prompt will ask whether to overwrite it (when using Direct writing mode) or append to it. The .gsd format is the g-Platform internal seismic file format and can be used as input to any downstream processing module.

Writing mode

Controls how results are written to the output file. The default is Direct, which writes each shot gather to a fixed pre-allocated position in the output file. This mode supports automatic restart: if a job is interrupted and re-run, already-calculated shots are detected and skipped, so only the remaining shots are computed. Use Append to add new shots to an existing file sequentially, for example when combining results from separate model runs.

Parameters

Detect topography

Specifies how the module determines the surface topography (elevation profile) of the model. Three options are available:

No topography (default) — the surface is assumed to be flat at the top of the model. All sources and receivers are placed at the same depth level.

By air velocity — the module detects the surface by identifying where the velocity in the model rises above a threshold corresponding to rock or soil. The Air velocity parameter becomes active and should be set to the P-wave velocity of air (typically 340 m/s) or to a value that separates the near-surface low-velocity zone from the subsurface model. This option is useful when the velocity model already encodes topography as a low-velocity layer at the top.

By trace headers — the surface elevation at each grid node is read from the trace headers of the input depth velocity gather. Use this option when accurate elevation information is stored in the header data.

WaveParams

This group controls the source wavelet used in the modelling. The wavelet is convolved with a spike at the specified spike time to produce the time-domain source function injected at each source location. The sub-parameters below define the shape, frequency content, duration, and amplitude of the wavelet.

Frequency

The dominant (peak) frequency of the source wavelet, in Hz. This parameter directly controls the frequency content of the modelled seismic data. Higher frequencies produce sharper, more detailed synthetic records but require a finer model grid (smaller Model resolution) to avoid numerical dispersion. As a rule of thumb, at least 5 to 10 grid points per minimum wavelength are needed. For example, modelling at 30 Hz with a minimum velocity of 1500 m/s requires a grid spacing no larger than 10 m.

WaveLen

The total time duration of the source wavelet window, in seconds. This value defines how many samples are used to represent the wavelet before it is injected at the source. It should be long enough to contain the full wavelet shape for the chosen wavelet type and frequency, but setting it unnecessarily long wastes computation. A typical value is two to four times the dominant period (1 / Frequency).

ImpulseType

The mathematical shape of the source wavelet. Available options are: Ricker1, Ricker2, AKB, Berlage, Gaussian, GaussianDeriv, MinPhase, Klauder, Ormsby, Spike, Zero, and Unit. The Ricker1 wavelet (the second derivative of a Gaussian) is the most commonly used choice for synthetic modelling because it is zero-phase, band-limited, and has a clean frequency spectrum centred on the dominant frequency. Ricker2 is a higher-order variant. For vibroseis simulation, the Klauder or Ormsby wavelets may be more appropriate. Use Spike for ideal impulse response modelling.

Spike Time

The time position (in seconds) within the modelling time window at which the source spike is placed before being convolved with the wavelet. Default is 1.0 s. This effectively sets the time delay before the source is fired. Set this value to at least the half-length of the wavelet to ensure the wavelet begins cleanly from zero and does not get clipped at the start of the time window. For shorter models or early arrivals, reduce this value accordingly.

Spike Amplitude

The amplitude scaling factor applied to the source wavelet. Default is 1.0 (dimensionless). Increase this value to boost the overall amplitude of the synthetic data, or reduce it to scale the output down. For most applications the default value of 1.0 is appropriate since relative amplitudes are controlled by the velocity model contrasts and geometry.

Geometry params

This group defines the synthetic acquisition geometry: the spacing and count of sources and receivers placed within the model. Sources and receivers are automatically distributed across the full lateral extent of the input velocity model according to the settings below.

Source step

The interval between consecutive source positions, expressed as a number of model grid nodes. Default is 5 nodes (minimum 1). The physical spacing in metres equals this value multiplied by the Model resolution. For example, with a 5 m grid and a source step of 5, sources are placed every 25 m along the profile. Reducing the source step increases the number of shots and the total computation time proportionally. Set this based on the desired CMP fold and offset coverage requirements.

Receiver step

The interval between consecutive receiver positions per shot, expressed as a number of model grid nodes. Default is 1 node (minimum 1), which places receivers at every grid point within the maximum offset range. The physical spacing in metres equals this value multiplied by the Model resolution. Increasing this value reduces the number of receivers per shot and the size of the output dataset. Note that the Receiver count parameter provides an independent upper limit on the number of receivers.

Receiver count

The maximum number of active receivers per shot gather. Default is 100 (minimum 1). Receivers are placed symmetrically around each source up to the Max offset distance. If the number of positions within the offset range exceeds this count, only this many receivers are used. Adjust this in combination with the receiver step to control the trace density and the output data volume.

Max offset

The maximum source-to-receiver offset, in metres. Default is 3000 m (minimum 0). Receivers at distances greater than this value from the source are not recorded. The circular offset limit is applied in 2D model space, so receivers must lie within a radius of this distance from the source. Set this value to match the maximum offset required for the intended processing (for example, the maximum offset needed for NMO velocity analysis or pre-stack migration).

Modelling params

This group controls the numerical parameters of the finite-difference wave equation solver: the spatial and temporal grid resolution, boundary conditions, and the output sample rate. These parameters directly affect both the accuracy of the simulation and the computation time. Stability and accuracy constraints link the spatial grid size, the time step, and the maximum velocity in the model.

Model resolution

The uniform spatial grid spacing used for the finite-difference simulation, in metres. Default is 5 m (minimum 1 m). The same spacing is applied in all three spatial directions. The input velocity model is resampled to this grid before the simulation starts. To avoid numerical dispersion, this value must be small enough to resolve the shortest wavelength in the model: at least 5 grid points per minimum wavelength are required (i.e., DeltaX <= V_min / (5 * f_max)). Finer grids improve accuracy but increase memory and computation time as the cube of the grid refinement factor.

Boundary extrapolation range

The width of the absorbing boundary layer added around the model edges to suppress artificial reflections from the numerical boundary. Default is 400 m (minimum 0). Internally, this distance is converted to a number of grid nodes by dividing by the Model resolution. A wider boundary layer reduces edge reflections more effectively. If you observe wrap-around or edge-reflection artefacts in the synthetic data, increase this value. Setting it to zero disables absorbing boundaries entirely, which is only appropriate for very specific test cases.

Free surface

When enabled, a free-surface boundary condition is applied at the top of the model, allowing the surface to reflect energy downward as it would at the true Earth surface. Default is disabled. Enable this option when you want to model surface-related multiples, ghost reflections, or other free-surface effects in the synthetic data, for example when testing multiple attenuation algorithms. Leave it disabled when modelling primary reflections only (e.g., for migration testing or velocity model validation), since free-surface multiples may complicate the interpretation of the output.

Modelling step

The internal time step of the finite-difference solver, in seconds. Default is 0.001 s (1 ms), with a valid range of 0.0001 to 0.1 s. This is the fundamental time increment at which the wave equation is solved at every grid point. It must satisfy the Courant-Friedrichs-Lewy (CFL) stability condition: dt <= DeltaX / (V_max * sqrt(d)), where d is the number of spatial dimensions. Smaller time steps increase accuracy and stability but proportionally increase computation time. The modelling step is typically much smaller than the Output sample rate — the solver subsamples internally and decimates before writing.

Number of modelling steps

The total number of time steps computed by the finite-difference solver for each shot. Default is 4001 (minimum 1). The total modelled time equals this value multiplied by the Modelling step. With default settings (4001 steps at 1 ms each), the total modelled time window is 4.001 s. This must be long enough to capture all arrivals of interest, including reflections from the deepest target and, if the free surface is enabled, surface-related multiples. The number of output samples in the recorded traces equals (NumSamples * ModellingStep) / OutputSampleRate.

Output sample ratio

The sample interval of the recorded output traces, in seconds. Default is 0.004 s (4 ms), with a valid range of 0.0001 to 0.1 s. The finite-difference solver runs at the finer Modelling step internally and decimates the wavefield at each receiver position to this coarser output rate before writing to disk. This value must be a multiple of the modelling step. The output sample rate should satisfy the Nyquist criterion for the maximum frequency content of the data (i.e., it must be less than 1 / (2 * f_max)). A 4 ms output sample rate is standard for most reflection seismic applications and limits the recoverable frequency to 125 Hz.