Starting BDF iterations - suggestions?

  • A
  • Thread starter maistral
  • Start date
  • #1
224
14
Summary:
How do I start BDF iterations? Any suggestions?
As we know, backward differentiation formulas for ODE start off with the backward Euler; which proceeds as:
 y_{n+1} - y_n = h f(t_{n+1}, y_{n+1})


If I wanted to switch to the second order method;
{\displaystyle y_{n+2}-{\tfrac {4}{3}}y_{n+1}+{\tfrac {1}{3}}y_{n}={\tfrac {2}{3}}hf(t_{n+2},y_{n+2})}


Can anyone recommend me ideas as to how to generate the initially required yn+1? The only thing I can think of are as follows:
  • Use a standard Runge-Kutta to generate the second point, but in my opinion this is somehow futile as the reason why we use implicit methods is to avoid the instabilities which will generated via a standard explicit approach (like Runge-Kutta).
  • Use the backward Euler technique with some microscopic (lol) stepsizes to assure that I am accurate, then I switch to a higher BDF method? Say, I want to propagate a second-order solution with a stepsize of 0.1. Maybe I should generate a backward Euler solution of step 0.001? Or something?
I'm very open to suggestions as I have no idea how to proceed. Any suggestions?
 

Answers and Replies

  • #2
pbuk
Science Advisor
Gold Member
2,272
982
Use a standard Runge-Kutta to generate the second point
This is the usual approach.

, but in my opinion this is somehow futile as the reason why we use implicit methods is to avoid the instabilities which will generated via a standard explicit approach (like Runge-Kutta).
Indeed.

I'm very open to suggestions as I have no idea how to proceed. Any suggestions?
These issues are considered in any good text book on ODE methods, the 'gold standard' being Lambert Computational Methods in Ordinary Differential Equations or alternatively these excellent lecture notes available online: https://people.maths.ox.ac.uk/suli/nsodes.pdf (see s3.2 et seq).
 
Last edited:
  • Like
Likes Delta2, jim mcnamara, maistral and 1 other person
  • #3
224
14
Oh! Thank you very much.
 
  • #5
pbuk
Science Advisor
Gold Member
2,272
982
If you are calculating ##y_{n+2}##, you already know ##y_{n+1}##.
How?
 
  • #6
21,158
4,672
How?
Automatic implicit integration packages like the Gear package (available from IMSL)and Dassl (available for free online) feature automatic control over step size, order, and accuracy. These all start out at first order, and switch to higher order according to their accuracy criteria. So, once you get to 2nd order, you already know the solution values from the two previously executed integration steps.

https://www.osti.gov/servlets/purl/5882821/
 

Related Threads on Starting BDF iterations - suggestions?

Replies
1
Views
585
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
5
Views
2K
Replies
0
Views
3K
  • Last Post
Replies
7
Views
4K
  • Last Post
Replies
1
Views
4K
  • Last Post
Replies
5
Views
14K
  • Last Post
Replies
4
Views
16K
Top