SMART: Spatial Modeling Algorithms for Reaction and Transport