Some of the simplest reactive transport problems can be solved analytically. Where equilibrium sorption is described by a linear distribution coefficient, for example, the sorbing solute's velocity is retarded relative to that of a nonreactive tracer; the relative velocities can be described with a retardation factor. Analytical solutions are exact solutions of the governing equations.
Complex reactive transport problems are more commonly solved numerically. In this case, the governing equations are approximated so that they can be solved by computer algorithms. The governing equations, including both reaction and transport terms, can be solved simultaneously using a one-step or global implicit simulator. This technique is straightforward conceptually, but computationally very difficult.
Instead of solving all the relevant equations together, the transport and chemical reaction equations can be solved separately. Operator splitting, as this technique is known, uses appropriate numerical techniques to solve the reaction and transport equations at each time step. Various methods exist, including the sequential non-iterative approach (SNIA), Strang splitting, and sequential iterative approach (SIA). Since the reaction and transport terms are handled separately, separate programs for batch reaction and transport can be linked together. Cross-linkable re-entrant software objects designed for this purpose readily enable construction of reactive transport models of any flow configuration.