SMART: Spatial Modeling Algorithms for Reactions and Transport