When you create a reactive transport simulator with ChemPlugin, or if you repurpose an existing flow model as an RT model, your software is full-featured from the start.

With no need to laboriously add chemical features, you get a stable and capable software product beginning with release 1.0!

ChemPlugin's broad range of features include:


Create new clients quickly, easily, and reliably
Repurpose existing flow models as RT simulators
Chained, branching, and networked configurations
Continuum models in 1-D, 2-D, and 3-D
Rectilinear, radial, spherical, axisymmetric domains
Regular and adaptive gridding
Uniform or heterogeneous medium

Mass transport

Transport by advection, dispersion, and diffusion
Reactive and bioreactive transport
Dual porosity (stagnant zones)
Colloidal transport
Stable isotope fractionation and transport
Transient medium and fluid properties

Heat transfer

Advective and conductive heat transfer
Account for heat sources and sinks

Speciation in solution

Species’ concentrations and activity coefficients
Redox equilibrium and disequilibrium
Activity coefficients by Debye-Hückel, B-dot, Davies equations
Pitzer equations for activity coefficients in brines
SIT electrolyte activity model
Ideal, site-mixing, and nonideal solid solutions
Temperature dependence of mixing parameters

Chemical state

Redox state
Mineral saturation
Gas fugacity and partial pressure
Redox disequilibrium energies
Compute charge imbalance
Electrical conductivity by USGS and APHA methods
Compute dissolved solids

Surface chemistry

Kd, Freundlich, and Langmuir sorption
Ion exchange
Two-layer and 1-pKa surface complexation
Triple-layer and CD-MUSIC surface chemistry


Mineral buffering
Buffered gas fugacity
Polythermal mixing and sliding temperature
Sliding pH, Eh, pe
Sliding activity and fugacity

Chemical kinetics

Mineral, end member precipitation and dissolution
Aqueous complexation and dissociation kinetics
Sorption and desorption kinetics
Kinetics of redox transformation
Enzymes and catalysts
Gas transfer kinetics
Kinetic exchange reactions
Combine equilibrium and kinetic reactions
Specify form of kinetic rate laws


Microbial catalysis and catabolism
Microbial growth and death
Thermodynamically consistent rate laws
Pure and mixed microbial communities
Evolution of microbial communities


Multithreaded for parallel execution
Call from C++, FORTRAN, Python
Both 32 bit and 64 bit versions included
Report factors limiting time steps
Retrieve any result from any instance
Feedback between client and objects
MPI implementation for cluster computing