Abstract
In this article we describe the code bvptwp.m, a MATLAB code for the solution of two point boundary value problems. This code is based on the well-known Fortran codes, twpbvp.f, twpbvpl.f and acdc.f, that employ a mesh selection strategy based on the estimation of the local error, and on revisions of these codes, called twpbvpc.f, twpbvplc.f and acdcc.f, that employ a mesh selection strategy based on the estimation of the local error and the estimation of two parameters which characterize the conditioning of the problem. The codes twpbvp.f/tpbvpc.f use a deferred correction scheme based on Mono-Implicit Runge-Kutta methods (MIRK); the other codes use a deferred correction scheme based on Lobatto formulas. The acdc.f/acdcc.f codes implement an automatic continuation strategy. The performance and features of the new solver are checked by performing some numerical tests to show that the new code is robust and able to solve very difficult singularly perturbed problems. The results obtained show that bvptwp.m is often able to solve problems requiring stringent accuracies and problems with very sharp changes in the solution. This code, coupled with the existing boundary value codes such as bvp4c.m, makes the MATLAB BVP section an extremely powerful one for a very wide range of problems.
Supplemental Material
Available for Download
The proof is given in an electronic appendix, available online in the ACM Digital Library.
Software for The MATLAB Code bvptwp.m for the Numerical Solution of Two Point Boundary Value Problems
- Ascher, U., Christiansen, J., and Russell, R. D. 1981. Collocation software for boundary-value odes. ACM Trans. Math. Softw. 7, 2, 209--222. Google ScholarDigital Library
- Ascher, U. M., Mattheij, R. M. M., and Russell, R. D. 1995. Numerical Solution of Boundary Value Problems for Ordinary Differential Equations. Classics in Applied Mathematics Series, vol. 13, SIAM, Philadelphia, PA. (Corrected reprint of the 1988 original.)Google Scholar
- Bashir-Ali, Z., Cash, J. R., and Silva, H. H. M. 1998. Lobatto deferred correction for stiff two-point boundary value problems. Comput. Math. Appl. 36, 10--12, 59--69.Google ScholarCross Ref
- Brugnano, L., Mazzia, F., and Trigiante, D. 2011. Fifty years of stiffness. In Recent Advances in Computational and Applied Mathematics, Springer, 1--22.Google Scholar
- Cash, J. R. 1988. On the numerical integration of nonlinear two-point boundary value problems using iterated deferred corrections. II. The development and analysis of highly stable deferred correction formulae. SIAM J. Numer. Anal. 25, 4, 862--882.Google ScholarDigital Library
- Cash, J. R. and Mazzia, F. 2005. A new mesh selection algorithm, based on conditioning, for two-point boundary value codes. J. Comput. Appl. Math. 184, 2, 362--381. Google ScholarDigital Library
- Cash, J. R. and Mazzia, F. 2006a. Algorithms for the solution of two-point boundary value problems. http://www.ma.ic.ac.uk/~jcash/BVP_software/twpbvp.php.Google Scholar
- Cash, J. R. and Mazzia, F. 2006b. Hybrid mesh selection algorithms based on conditioning for two-point boundary value problems. J. Numer. Anal. Ind. Appl. Math. 1, 1, 81--90.Google Scholar
- Cash, J. R. and Mazzia, F. 2009. Conditioning and hybrid mesh selection algorithms for two point boundary value problems. Scalable Comput. Pract. Exper. 10, 4, 347--361.Google Scholar
- Cash, J. R. and Wright, M. H. 1990. Implementation issues in solving nonlinear equations for two-point boundary value problems. Computing 45, 1, 17--37. Google ScholarDigital Library
- Cash, J. R. and Wright, M. H. 1991. A deferred correction method for nonlinear two-point boundary value problems: implementation and numerical evaluation. SIAM J. Sci. Statist. Comput. 12, 4, 971--989.Google ScholarDigital Library
- Cash, J. R., Moore, G., and Wright, R. W. 1995. An automatic continuation strategy for the solution of singularly perturbed linear two-point boundary value problems. J. Comput. Phys. 122, 2, 266--279. Google ScholarDigital Library
- Cash, J. R., Moore, G., and Wright, R. 2001. An automatic continuation strategy for the solution of singularly perturbed nonlinear boundary value problems. ACM Trans. Math. Softw. 27, 2, 245--266. Google ScholarDigital Library
- Cash, J. R., Moore, D. R., Sumarti, N., and Daele, M. V. 2003. A highly stable deferred correction scheme with interpolant for systems of nonlinear two-point boundary value problems. J. Comput. Appl. Math. 155, 2, 339--358. Google ScholarDigital Library
- Díaz, J. C., Fairweather, G., and Keast, P. 1983. Algorithm 603. COLROW and ARCECO: Fortran packages for solving certain almost block diagonal linear systems by modified alternate row and column elimination. ACM Trans. Math. Softw. 9, 3, 376--380. Google ScholarDigital Library
- Enright, W. E. and Muir, P. H. 1986. Efficient classes of Runge-Kutta methods for two-point boundary value problems. Computing 37, 4, 315--334. Google ScholarDigital Library
- Enright, W. E. and Muir, P. H. 1996. Runge-Kutta software with defect control for boundary value odes. SIAM J. Sci. Comput. 17, 479--497. Google ScholarDigital Library
- Fox, L. 1957. The Numerical Solution of Two-Point Boundary Problems in Ordinary Differential Equations. Oxford University Press, New York.Google Scholar
- Kierzenka, J. and Shampine, L. F. 2001. A BVP solver based on residual control and the MATLAB pse. ACM Trans. Math. Softw. 27, 3, 299--316. Google ScholarDigital Library
- Kierzenka, J. and Shampine, L. F. 2008. A BVP solver that controls residual and error. J. Numer. Anal. Ind. Appl. Math. 3, 1--2, 27--41.Google Scholar
- Lindberg, B. 1980. Error estimation and iterative improvement for discretization algorithms. BIT 20, 4, 486--500.Google ScholarDigital Library
- Mathworks, T. 2012. Matlab release 2012a. http://www.mathworks.com/.Google Scholar
- Mazzia, F. and Magherini, C. 2008. Test Set for Initial Value Problem Solvers, release 2.4. Department of Mathematics, University of Bari and INdAM, Research Unit of Bari. http://www.dm.uniba.it/~testset.Google Scholar
- Shampine, L. F., Gladwell, I., and Thompson, S. 2003. Solving ODEs with MATLAB. Cambridge University Press, Cambridge, UK. Google ScholarDigital Library
- Shampine, L. F., Muir, P. H., and Xu, H. 2006. A user-friendly Fortran BVP solver. J. Numer. Anal. Ind. Appl. Math. 1, 2, 201--217.Google Scholar
- Skeel, R. D. 1982. A theoretical framework for proving accuracy results for deferred corrections. SIAM J. Numer. Anal. 19, 1, 171--196.Google ScholarDigital Library
- Wright, R., Cash, J. R., and Moore, G. 1994. Mesh selection for stiff two-point boundary value problems. Numer. Algor. 7, 2--4, 205--224.Google ScholarCross Ref
Index Terms
- Algorithm 927: The MATLAB Code bvptwp.m for the Numerical Solution of Two Point Boundary Value Problems
Recommendations
A Runge-Kutta BVODE Solver with Global Error and Defect Control
Boundary value ordinary differential equations (BVODEs) are systems of ODEs with boundary conditions imposed at two or more distinct points. The global error (GE) of a numerical solution to a BVODE is the amount by which the numerical solution differs ...
A new mesh selection algorithm, based on conditioning, for two-point boundary value codes
We present a hybrid mesh selection strategy for use in codes for the numerical solution of two-point boundary value problems. This new mesh strategy is based on the estimation of two parameters which characterise the conditioning of the continuous ...
An automatic continuation strategy for the solution of singularly perturbed nonlinear boundary value problems
In a recent paper, the present authors derived an automatic continuation algorithm for the solution of linear singular perturbation problems. The algorithm was incorporated into two general-purpose codes for solving boundary value problems, and it was ...
Comments