BACOL

BACOL is a new, high quality, robust software package in Fortran 77 for solving one-dimensional parabolic PDEs, which has been shown to be significantly more efficient than any other widely available software package of the same class (to our knowledge), especially for problems with solutions exhibiting rapid spatial variation. A novel feature of this package is that it employs high order, adaptive methods in both time and space, controlling and balancing both spatial and temporal error estimates. The software implements a spline collocation method at Gaussian points, with a B-spline basis, for the spatial discretization. The time integration is performed using a modification of the popular DAE solver, DASSL. Based on the computation of a second, higher order, global solution, a high quality a posteriori spatial error estimate is obtained after each successful time step. The spatial error is controlled by a sophisticated new mesh selection algorithm based on an equidistribution principle. In this article we describe the overall structure of the BACOL package, and in particular the modifications to the DASSL package that improve its performance within BACOL. An example is provided in the online Appendix to illustrate the use of the package.

This software is also peer reviewed by journal TOMS.