Pore water chemistry can dramatically affect the mechanical strength of chalk cores and the recovery of oil from them, but despite a great many core experiments, the mechanisms responsible remain unclear. This is in part because no single model is presently available that can address the changes in surface complexes and potential and mineral dissolution and precipitation that occur when fluids of different chemistry are injected. We report here the construction of a lattice Boltzmann model that includes non-linear dissolution–precipitation kinetics, surface complexation, and ion exchange. A link-based boundary condition which allows mineral boundaries to move and porosity to change is shown to converge to a correct representation of the macroscopic pore surface area. We show the chemical LB model developed predicts mineral dissolution and ion exchange similar to those predicted by PHREEQC for similar parameters, and we show how the methods developed can be applied to chalk core experiments where synthetic seawater is flooded through the core at 130°C.