BACOLI:

Error Control Software for the Numerical Solution of Systems of

One Dimensional Parabolic Partial Differential Equations

 

 

       BACOLI is based on the earlier package, BACOL [1,2,3], for the error controlled numerical solution of 1D Parabolic PDEs. Both BACOL and BACOLI implement B-spline Gaussian collocation for the spatial discretization of a system of PDEs; the resultant ODEs together with the boundary conditions represents a system of differential-algebraic equations (DAEs) that is solved using the DASSL [4] software package.

 

       BACOL and BACOLI feature adaptive control of the temporal and spatial errors.

 

o   Control of an estimate of the temporal error is provided through the DASSL software.

 

o   Control of an estimate of the spatial error is implemented in BACOL through the computation of two separate collocation solutions (one of order p, the other of order p+1). The difference between these two solutions provides the spatial error estimate which is used to adapt the spatial mesh so that the error estimate satisfies a user-provided tolerance on each timestep.

 

o   BACOLI avoids the computation of two collocation solutions by replacing one of them with a low cost interpolant which is then used in the spatial error estimate. BACOLI provides two options: (i) The superconvergent interpolant (SCI) scheme [5] replaces the order p+1 collocation solution; (ii) the low order interpolant (LOI) scheme [6] replaces the order p collocation solution.

 

 

       BACOLI:

 

       The SCI and LOI schemes were developed by Tom Arsenault, Tristan Smith, Jack Pew, Paul Muir, and Pat Keast. [5], [6], Arsenault, Smith, Muir, Keast, 2011.

       The BACOLI software, which is a modification of BACOL to implement these schemes, was developed by Jack Pew, Zhi Li , and Paul Muir.Pew, Li, Muir, 2013.

       A paper on the BACOLI software was published in 2016: ďJ. Pew, Z. Li, P.H. Muir, Algorithm 962: BACOLI: B-spline Adaptive Collocation Software for PDEs with Interpolation-based Spatial Error Control, ACM Trans. on Math. Softw., 42, 3, Article 25, 2016.Ē

       The 2016 BACOLI software is available at http://calgo.acm.org/ as Algorithm 962.

       A Performance Analysis of the BACOL and BACOLI packages is reported in the technical report Pew, Tannahill, Muir 2018. The software employed to conduct the numerical experiments reported in this report are available here.

 

 

       A 2014 release of the BACOLI software, BACOLI95-3 (06-MAR-14) (in Fortran95):

(i) The solver (download all four of these files):

       A Fortran 95 interface: bacoli95.f95,

       BACOLI-3 (Fortran 77) source code:bacoli.f,

       Auxiliary (Fortran 77) source code: bacoli-aux.f

       Auxiliary (Fortran 95) source code: d1mach_i1mach.f95

(ii) Generic driver (main) programs (Fortran 95) (download one of these):

       driver95_simple.f95,

       driver95_curve.f95,

       driver95_trimesh.f95

(iii) Problem based routines (Fortran 77) (download one of these):

       A One Layer Burgerís Equation: burg1.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 139)

       A Two Layer Burgerís Equation: burg2.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 135)

       The Cahn Allen equation: cahn_allen.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 141)

       A Reaction-Convection-Diffusion System: rcdsys.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 144)

       A nonlinear problem with a steady state: steady.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 143)

       Simple Example:sincmads.f (Madsen and Sincovec, ACM Trans. Math. Soft., 1979: Page 340)

†††††††††† Note: Make sure that the number of PDEs (npdes) specified in (ii) and (iii) is the same

 

       A 2014 release of the BACOLI software, BACOLI-3 (03-MAR-14) (in Fortran77):

(i) The solver (download all three of these files):

       BACOLI-3 (Fortran 77) source code:bacoli.f,

       Auxiliary (Fortran 77) source code for BACOLI-3: bacoli-aux.f

       Auxiliary Fortran 77) source code: d1mach_i1mach.f

(ii) Generic driver (main) programs (Fortran 77) (download one of these):

       driver_gridmesh.f,

       driver_curve.f,

       driver_trimesh.f

(iv) The drivers can be run with any of the following problem based routines (Fortran 77):

       A One Layer Burgerís Equation: burg1.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 139)

       A Two Layer Burgerís Equation: burg2.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 135)

       The Cahn Allen equation: cahn_allen.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 141)

       A Reaction-Convection-Diffusion System: rcdsys.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 144)

       A nonlinear problem with a steady state: steady.f (Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 143)

       Simple Example:sincmads.f (Madsen and Sincovec, ACM Trans. Math. Soft., 1979: Page 340)

††††† Note: Make sure that the number of PDEs (npdes) specified in (ii) and (iii) is the same

 

 

       An 2013 release of the BACOLI software, BACOLI-2 (17-JUL-13) (in Fortran 77):

(i) The BACOLI-2 source code:bacoli.f

(ii) Auxiliary source code for BACOLI-2: bacoli-aux.f

(iii) Generic driver (main) programs: driver_curve.f, driver_gridmesh.f, driver_trimesh.f

(iv) The drivers can be run with any of the following problem based routines:

o   A One Layer Burgerís Equation: burg1.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 139)

o   A Two Layer Burgerís Equation: burg2.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 135)

o   The Cahn Allen equation: Cahn_Allen.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 141)

o   A Reaction-Convection-Diffusion System: RCDsys.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 144)

o   A nonlinear problem with a steady state: steady.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 143)

o   Simple Example:sincmads.f(Madsen and Sincovec, ACM Trans. Math. Soft., 1979: Page 340)

 

       The original 2011 release of the BACOLI software (03-NOV-11) (in Fortran 77):

(i) The BACOLI source code:bacoli.f

(ii) A generic driver (main) program: driver_curve.for†† driver_mesh.f

(iii) A collection of (specific) problem based subroutines:

o   Burgerís Equation #1: burg1.f

o   Burgerís Equation #2: burg2.f

o   The Cahn Allen equation: Cahn_Allen.f

o   A Reaction-Convection-Diffusion System: RCDsys.f

o   Simple Example:sincmads.f(Madsen and Sincovec, ACM Trans. Math. Soft., 1979: Page 340)

 

 

       BACOL:

 

       A new release of the BACOL software, BACOL-2 (17-Jul-13), is now available (in Fortran 77):

(i) The BACOL source code:bacol.f

(ii) Generic driver (main) programs: driver_curve-bac.f, driver_gridmesh-bac.f, driver_trimesh-bac.f

(iii) The drivers can be run with any of the following problem based routines:

o   A One Layer Burgerís Equation: burg1.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 139)

o   A Two Layer Burgerís Equation: burg2.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 135)

o   The Cahn Allen equation: Cahn_Allen.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 141)

o   A Reaction-Convection-Diffusion System: RCDsys.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 144)

o   A nonlinear problem with a steady state: steady.f(Wang, Keast, Muir, J. Comp. Appl. Math., 2004: Page 143)

o   Simple Example:sincmads.f(Madsen and Sincovec, ACM Trans. Math. Soft., 1979: Page 340)

 

       The original BACOL software (in Fortran 77) was developed by Rong Wang, Pat Keast, and Paul Muir [1]

 

 

[1] R. Wang, P. Keast, and P.H. Muir. BACOL: B-spline Adaptive COL-location software for 1-D parabolic PDEs. ACM Trans. Math. Software, 30(4):454Ė470, 2004.

 

[2] R. Wang, P. Keast, and P.H. Muir. A comparison of adaptive software for 1D parabolic PDEs. J. Comput. Appl. Math., 169(1):127Ė150, 2004.

 

[3] R. Wang, P. Keast, and P.H. Muir. A high-order global spatially adaptive collocation method for 1-D parabolic PDEs. Appl. Numer. Math., 50(2):239Ė260, 2004.

 

[4] K.E. Brenan, S.L. Campbell, and L.R. Petzold. Numerical solution of initial-value problems in differential-algebraic equations, volume 14 of Classics in Applied Mathematics. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 1996.

 

[5] T. Arsenault, T. Smith, and P.H. Muir. Superconvergent interpolants for efficient spatial error estimation in 1D PDE collocation solvers. Can. Appl. Math. Q., 17(3):409Ė431, 2009.

 

[6] T. Arsenault, T. Smith, P.H. Muir, J. Pew, Asymptotically Correct Interpolation-based Spatial Error Estimation for 1D PDE Solvers, Can. Appl. Math. Q., 20(3):307Ė328, 2012.