4.66667

4.7 | 6 ratings Rate this file 38 downloads (last 30 days) File Size: 652.9 KB File ID: #11315

bvp6c

by Nick Hale

 

05 Jun 2006 (Updated 14 Nov 2008)

No BSD License  

BVP ODE Solver

Download Now | Watch this File

File Information
Description

Kierzenka and Shampine present both theory and implementation of a residual control based BVP solver, commonly known as bvp4c. Presented here is a direct extension to this work, namely development and justification of a sixth-order accurate solver which we have named bvp6c.

Usage should correspond directly with that of bvp4c. Included are examples to both aid this and compare the accuracy of the solvers.

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
Tutorial on solving BVPs with BVP4C

MATLAB release MATLAB 7 (R14)
Zip File Content  
Other Files
bvp6c/,
bvp6c/bvp6c.m,
bvp6c/bvp6c.m~,
bvp6c/bvp6c_technical_report.pdf,
bvp6c/bvpget.m,
bvp6c/bvpinit.m,
bvp6c/bvpset.m,
bvp6c/CW32/,
bvp6c/CW32/blackbox32.m,
bvp6c/CW32/CW32.m,
bvp6c/CW32/CW32problems.ps,
bvp6c/CW32/CWBVP_data.txt,
bvp6c/CW32/epslist.m,
bvp6c/CW32/make_plots.m,
bvp6c/CW32/problemlist.m,
bvp6c/CW32/results/,
bvp6c/CW32/results/bvp4c.solve.errors0.001.txt,
bvp6c/CW32/results/bvp4c.solve.errors1e-006.txt,
bvp6c/CW32/results/bvp4c.solve.errors1e-009.txt,
bvp6c/CW32/results/bvp4c.solve.errors1e-012.txt,
bvp6c/CW32/results/bvp4c.solve.errors21e-012.txt,
bvp6c/CW32/results/bvp4c_extra.txt,
bvp6c/CW32/results/bvp5c.solve.errors0.001.txt,
bvp6c/CW32/results/bvp5c.solve.errors1e-006.txt,
bvp6c/CW32/results/bvp5c.solve.errors1e-009.txt,
bvp6c/CW32/results/bvp5c.solve.errors1e-012.txt,
bvp6c/CW32/results/bvp6c.solve.errors0.001.txt,
bvp6c/CW32/results/bvp6c.solve.errors1e-006.txt,
bvp6c/CW32/results/bvp6c.solve.errors1e-009.txt,
bvp6c/CW32/results/bvp6c.solve.errors1e-012.txt,
bvp6c/CW32/results/make_plots.m,
bvp6c/CW32/run_CW32.m,
bvp6c/CW32/xlist.m,
bvp6c/deval.m,
bvp6c/examples/,
bvp6c/examples/injection.m,
bvp6c/examples/measles.m,
bvp6c/examples/shockbvp6.m,
bvp6c/ntrp3h.m,
bvp6c/ntrp6c.m,
bvp6c/ntrp6h.m,
bvp6c/odenumjac.m,
bvp6c/readme.txt
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (10)
23 Oct 2006 GOUSKOV Alexandre  
21 Feb 2007 Maged Ismail

Hi,
Great work.
However the file odenumjac.m is missing from this final version. Could you please upload it?

22 Feb 2007 Nick Hale

Hi, odenumjac.m is actually part of the MATLAB ode suite, so you should be able to run a search and copy it into the bvp6c folder. However, you're right and this is something that needs fixing, I'll try to do so soon. Thanks for the comment.

22 Feb 2007 Paul Holland

Hi

I also think this is an excellent piece of software, so thanks. Just as a note, I needed to copy over ntrp3h.m as well as odenumjac.m to run the examples.

14 Aug 2007 Nick Hale

If when using analytic Jacobians you get an error message involving Jip05Jip025 and Jip05Jip075, then copy the following code into lines 1249-1250;

        Jip05Jip025 = Jip05*Jip025;
        Jip05Jip075 = Jip05*Jip075;

Thanks to Maciek for pointing this out

10 Apr 2008 Artem Korzhenevych

Hello,
I am sure that there is a typo on the line 486 of bvp6c. This part should read:

if ~isempty(knownPar)
    sol.knownpars = [{knownPar(:)}];
end

Otherwise, Matlab in unable to combine a vector and a structure if these appear to be elements of knownPar.

21 May 2008 Joey Liu

This package is really good, thanks alot.
However, I do not know that why I encountered with problems when I was using this package.
I did copy m-files to the MATLAB path.
following are messages which MATLAB showed me.
If you can help me, please contact me by the e-mail. I appreciate your kindness very much.

??? Undefined function or method 'odenumjac' for input arguments of type 'function_handle'.

Error in ==> bvp6c>BCnumjac at 1321
[dBCdya,ignored,ignored1,nbc] = odenumjac(@bcaux,bcArgs,bcVal,dBCoptions);

Error in ==> bvp6c>colloc_Jac at 966
    [dGdya,dGdyb,nbc] = BCnumjac(bc,ya,yb,n,npar,nExtraArgs,ExtraArgs);

Error in ==> bvp6c at 346
      [dPHIdy,NF,NBC] = colloc_Jac(n,x,Xmid,Y,Ymid,yp,Fmid,ode,bc,Fjac,BCjac,npar,...

Error in ==> FD_solve at 4
sol2 = bvp6c('ode_file_FD','bc_file_FD',solinit)

04 Aug 2008 Nick Hale

Sorry for the confusion. You should save the bvp6c folder somewhere on your system, then in MATLAB select File> Set Path> Add Folder> and then navigate to where you saved bvp6c.

01 Dec 2008 Qun HAN

Numerical calculation of the Jacobian consumes must of the computing time. If mex this section, the efficiency can be dramatically improved further.

08 Jul 2009 Artem Korzhenevych

Hello,
I wonder if it is possible to use bvp6c with non-autonomous systems, namely in cases where the odefun is changing, depending on the time period. More specifically, I want to solve a two-point BVP, where one of exogenous parameters in ODEFUN changes at a certain time point. Does anyone have experience with this?

Please login to add a comment or rating.
Updates
12 Jun 2006

Code is under review following results of MATLAB code metrics.

20 Jun 2006

Final release

02 Feb 2007

bug fixes

22 Feb 2007

More bug fixes.
Now contains all necessary files.

14 Apr 2008

update of software and documentation

14 Nov 2008

Bug fix

Tag Activity for this File
Tag Applied By Date/Time
differential equations Nick Hale 22 Oct 2008 08:28:01
bvp Nick Hale 22 Oct 2008 08:28:01
ode Nick Hale 22 Oct 2008 08:28:01
bvp4c Nick Hale 22 Oct 2008 08:28:01
collocation Nick Hale 22 Oct 2008 08:28:01
mathematics Nick Hale 22 Oct 2008 08:28:01
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com