Friday, 24 April, 2026
Engine Principles
This page describes the equations solved by the IsoFind simulation engine, the numerical scheme used, and the conditions under which results are reliable. It is intended for users who want to understand "under the hood" to better interpret outputs and recognize situations where the engine reaches its limits.
Solved Equation
At the core of the engine is a simplified 3D ADE (Advection-Dispersion-Reaction) model that solves the following equation at every grid point:
∂C∂t
=
−v · ∇C
+
D · ∇2C
−
R(C, conditions)
Where C is the concentration, v is the effective velocity field (Darcy / porosity), D is the dispersion tensor, and R is the reaction term depending on local conditions interpolated from samples. The engine explicitly distinguishes between two modes based on the nature of the simulated contaminant.
| Mode | Contaminants | Reaction Term R |
|---|---|---|
| Element | Cr, Fe, Pb, Sb, As, U, Se... | ML speciation, Rayleigh fractionation, solid-phase adsorption |
| Molecule | Pesticides, PFAS, PAH, chlorinated solvents, pharmaceuticals | First-order degradation + linear sorption Kd = Koc × foc |
These two modes share the same numerical scheme but mobilize distinct Nexus bridges: the geochemical bridge for elements (redox speciation, fractionation) and the CSIA bridge for molecules (dominant degradation pathway, epsilon, half-life). Parent-metabolite chains are managed in molecule mode via automatic cascading when the molecular database defines the metabolites.
Spatial and Temporal Discretization
The engine uses a finite difference scheme on the regular grid defined in the scene configuration. Advection and dispersion operators are discretized using second-order centered differences, with upwind processing for advection-dominant cases to limit numerical oscillations.
Time stepping is explicit by default, which imposes a stability condition linking the time step and grid size (Courant and Péclet numbers). An implicit mode is available for very slow simulations where the explicit step becomes prohibitive.
| Criterion | Expression | Stability Threshold |
|---|---|---|
| Courant (advection) | Co = v · ΔtΔx | < 1 for explicit scheme |
| Péclet (dispersion vs advection) | Pe = v · ΔxD | < 2 for accuracy |
| Concentration curvature | Neumann : D · ΔtΔx2 | < 0.5 for explicit scheme |
The engine automatically calculates these criteria before launching the simulation and suggests a compatible time step. The user may override this but will receive a warning if stability criteria are not met.
Adsorption and Retardation
Adsorption is modeled by a retardation factor R applied to the effective velocity: the compound's migration velocity becomes v / R instead of v. The factor R is calculated from local Kd, dry density, and porosity.
R = 1 +
(ρdryθ)
· Kd
For organic compounds, Kd is derived from the Koc tabulated in the reference database and the local organic matter content foc: Kd = Koc · foc. This derivation is automatic if the database contains Koc for the compound and if the layers have a specified organic matter content.
Degradation and Parent-Metabolite Chains
Degradation follows first-order kinetics by default: dC / dt = −k · C. When a parent-metabolite chain is declared, the metabolite concentration increases by the parent's degradation rate, weighted by a stoichiometric coefficient. Cascaded chains (parent → metabolite → secondary metabolite) are solved simultaneously.
Isotopic Signature Calculation
The engine propagates the compound's isotopic signature in parallel with the concentration, using the Rayleigh equation. At each time step and in every cell where degradation is active, the residual signature evolves according to the fractionation associated with the dominant pathway.
δ(t + Δt)
=
δ(t)
+ ε · ln
(C(t + Δt)C(t))
This joint concentration + signature propagation is what makes IsoFind simulations particularly useful compared to a classic transport model: the final result contains a spatial map of expected isotopic signatures, directly comparable to CSIA field measurements.
Boundary Conditions
The edges of the simulation domain can be configured with three types of conditions:
| Type | Description | Typical usage |
|---|---|---|
| Dirichlet | Specified concentration | Known upstream aquifer inflow, water body boundary |
| Neumann | Specified flux (sometimes zero) | Impermeable boundary, watershed divide |
| Cauchy (mixed) | Combined flux-concentration | Permeable boundary with a gradient |
Learn More
- Hydrogeological Parameters: how flow conditions are defined.
- Speciation and Propagation: reactive and kinetic coupling.
- Isotopic Fractionations: the Nexus engine providing the epsilons.