Graduate Starting BDF iterations - suggestions?

  • Thread starter Thread starter maistral
  • Start date Start date
  • Tags Tags
    Suggestions
Click For Summary
SUMMARY

The discussion focuses on generating initial values for backward differentiation formulas (BDF) when transitioning to second-order methods for ordinary differential equations (ODEs). Participants suggest using the backward Euler method with small step sizes to ensure accuracy before switching to higher-order BDF methods. They also recommend consulting resources like "Lambert Computational Methods in Ordinary Differential Equations" and online lecture notes for further guidance. Additionally, automatic implicit integration packages such as the Gear package and Dassl are highlighted for their ability to manage step size and accuracy effectively.

PREREQUISITES
  • Understanding of backward differentiation formulas (BDF) for ODEs
  • Familiarity with implicit methods and their advantages over explicit methods
  • Knowledge of numerical integration techniques, specifically the backward Euler method
  • Experience with automatic implicit integration packages like Gear and Dassl
NEXT STEPS
  • Research the implementation of the backward Euler method for initial value problems
  • Explore the capabilities of the Gear package for automatic integration
  • Study the lecture notes on numerical solutions of ODEs available from Oxford University
  • Learn about the transition from first-order to second-order methods in implicit integration
USEFUL FOR

Mathematicians, numerical analysts, and engineers working with ordinary differential equations who seek to enhance their understanding of implicit integration methods and improve solution accuracy.

maistral
Messages
235
Reaction score
17
TL;DR
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?
 
Physics news on Phys.org
maistral said:
Use a standard Runge-Kutta to generate the second point
This is the usual approach.

maistral said:
, 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.

maistral said:
I'm very open to suggestions as I have no idea how to proceed. Any suggestions?
These issues are considered in any good textbook 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
Oh! Thank you very much.
 
If you are calculating ##y_{n+2}##, you already know ##y_{n+1}##.
 
Chestermiller said:
If you are calculating ##y_{n+2}##, you already know ##y_{n+1}##.
How?
 
pbuk said:
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/
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 65 ·
3
Replies
65
Views
8K
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
7
Views
3K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K