We describe the recent development of lattice-Boltzmann (LB) and particle tracing computer simulations to study flow and reactive transport in porous media. First, we have extended our codes to measure both flow and solute transport from LB calculations directly on pore space images obtained from micro-CT scanning. We consider rocks with increasing degree of heterogeneity: a bead pack, Bentheimer sandstone and Portland carbonate. A novel scheme is proposed to predict probability distributions for molecular displacements using the LB method to calculate both the flow field and solute dispersion. We find excellent agreement with PFG-NMR experiments and quantify the degree of heterogeneity by integrating over the stagnant peaks in the propagator distributions. Second, we validate our LB model for multi-phase flow by calculating capillary filling and capillary pressure in model porous media. Then we extend our models to realistic 3D pore space images and observe the calculated capillary pressure curve in Bentheimer sandstone to be in agreement with experiment. A new process based algorithm is introduced to determine the distribution of wetting and non-wetting phases in the pore space, as a starting point for relative permeability calculations. The Bentheimer relative permeability curves for both drainage and imbibtion are found to be in good agreement with experimental data. These LB simulations can be used for the prediction of multi-phase flow properties in pore space images; as potential element of Special Core AnaLysis (SCAL); and for Enhanced Oil Recovery (EOR) operations. Third, we introduce a GPU algorithm for large scale LB calculations, offering greatly enhanced computing performance in comparison with CPU calculations. Finally, we propose a new hybrid method to calculate reactive transport on pore space images. First, we calculate the flow field using LB and initialise tracer particles in the porous medium. Then we carry out particle advection using a 2nd order predictor-corrector scheme, particle diffusion using a random walk followed by reaction. We simulate the dissolution of a sphere under quiescent conditions in good agreement with the analytical solution. Then we calculate the dissolution of a cylinder in channel flow and observe preliminary agreement with experimental observations. This opens the way to calculating the dissolution of pore space images in direct comparison with micro-CT imaging experiments, for matrix acidizing and CCS operations. It is concluded that the LB method is a powerful tool for calculating flow and reactive transport directly on rock pore space images.