CrunchFlow

CrunchFlow Summary

CrunchFlow solves the governing set of coupled partial differential equations that link flow, solute transport, and multicomponent equilibrium and kinetic reactions in porous and/or fluid media using numerical methods.  Since there is no exact analytical solution to the nonlinear set of governing equations coupling flow, transport, and reactions, the domain is discretized (gridded) in both space (Δx) and time (Δt). The CrunchFlow software makes use of an approach to chemical reaction networks, in which a set of aqueous chemical complexes assumed to be at chemical equilibrium are defined in terms of primary species that constitute the actual unknowns in the system.  These equilibrium chemical complexes or species are then eliminated algebraically, thus substantially reducing the number of governing equations and unknowns that need to be solved for. This reduction in equations and unknowns accounts for part of the increased computational efficiency in CrunchFlow. 

Aqueous complexes can also be treated as kinetically controlled, in which case they are retained as primary species.  Mineral reactions are treated in every case as rate controlled (no a priori assumption of equilibrium), although local equilibrium behavior can be simulated by choosing suitably large reaction rate constants. Since the mineral reactions are not included as “equilibrium species” and are updated only at the end of a time step, they are not included in the set of primary unknowns, thus providing additional computational efficiency. Adsorption reactions, extremely important in considering the migration of contaminants in the subsurface, may occur on multiple sites on mineral surfaces, and CrunchFlow allows for consideration of competitive effects from other chemical species in solution (referred to as surface complexation).  CrunchFlow also accounts for another important class of adsorption reactions referred to as ion exchange (as in a water purification system).  Gas-water reactions, important in particular for the reactive gases O2, CO2, N2, and H2S, are currently treated as equilibrium processes.  Microbially-mediated processes using classical Monod and inhibition terms, with or without an explicit thermodynamic term, can be simulated with the option of including a treatment of dynamic microbial populations (Steefel et al., 2015). Stable isotope fractionation may be implemented through a variety of equilibrium and kinetic reactive pathways.  

Schematic of processes in CrunchFlow (Steefel et al., 2015)

Unique Features of CrunchFlow

Global Implicit Solve

The global implicit (one-step) solution of the reactive transport equations is shown in Figure 1 above (Steefel and Lasaga, 1994).  It offers the advantage to the user of being able to use larger time steps without the introduction of the error associated with splitting these processes.  Larger time steps means longer periods of time can be simulated (even geological, with the example in Maher et al., 2009 extending out to 240,000 years)—in this regard, the CrunchFlow software far outperforms other codes relying on operator splitting of reactions and transport (Steefel and MacQuarrie, 1996). 

Nernst-Planck Equation

The Nernst-Planck equation provides a more rigorous description of ionic diffusion than is available with Fick’s Law, where the flux is treated as linearly proportional to the concentration gradient (Steefel et al., 2015).  In the Nernst-Planck equation, additional electrochemical migration terms associated with diffusion of ions (charged species) at different rates change the fluxes of the additional chemical components while ensuring that the aqueous solution remains electrically neutral. In the case of simple binary solution (e.g., HCl or NaCl), the diffusion rate of the faster ion is decreased while the diffusion rate of the slower ion is increased an equivalent amount as a result of the electrochemical migration terms. 

Mineral Nucleation

Remarkably, few reactive transport codes include the ability to simulate mineral nucleation (Steefel and Yang, 2021).  Most handle the initial creation of reactive surface area with the ad hoc addition of mineral seeds, a far from satisfactory treatment of what is arguably an important phenomenon in the Earth and environmental sciences.  The approach taken in CrunchFlow is based on classical nucleation theory, with a tradeoff between the thermodynamic driving force (the supersaturation of the solution with respect to the nucleating phase) and the energy barrier to nucleation associated with the mineral’s interfacial free energy. 

Isotopic Fractionation

Many of reactive transport codes claim that they can handle both kinetic and equilibrium isotopic fractionation (see Steefel et al., 2015), but this is true only if one focuses on isotopic fractionation taking place in the aqueous phase subject to simple irreversible rate laws.  It is far rarer to find an adequate treatment of isotopic fractionation arising from biologically–mediated reactive pathways or mineral precipitation, since these processes require modification of the governing rate expressions, such as through the use of a solid-solution model.

Porosity-Permeability Change

A number of the “state of the art” reactive transport codes can now handle reaction-induced porosity-permeability change, but this capability is not available in simpler environmental codes since it requires a coupled approach.  CrunchFlow is noteworthy for its computational efficiency, as shown by the CPU times given for a range of 1-D to 2-D benchmarks presented by Xie et al (2015). 

Continuum (left) versus pore scale depiction of reaction rates.  From Steefel, 2019