Starting BDF iterations - suggestions?

  • A
  • Thread starter maistral
  • Start date
  • Tags
    Suggestions
In summary, when starting BDF iterations, it is important to consider a few key suggestions. These include choosing an appropriate initial guess, adjusting the time step size, and using a stable numerical method. It is also helpful to monitor convergence and adjust the number of iterations as needed. By following these suggestions, the BDF iterations can be effectively initiated and lead to accurate solutions.
  • #1
maistral
240
17
TL;DR 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?
 
  • Like
Likes Delta2
Physics news on Phys.org
  • #2
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
  • #3
Oh! Thank you very much.
 
  • Like
Likes Delta2
  • #4
If you are calculating ##y_{n+2}##, you already know ##y_{n+1}##.
 
  • #5
Chestermiller said:
If you are calculating ##y_{n+2}##, you already know ##y_{n+1}##.
How?
 
  • #6
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/
 

Related to Starting BDF iterations - suggestions?

1. What is the purpose of starting BDF iterations?

The purpose of starting BDF iterations is to solve a system of nonlinear equations by using the backward differentiation formula (BDF) method. This method is often used in scientific computing to approximate the solution of differential equations.

2. How do I choose the initial guess for BDF iterations?

The initial guess for BDF iterations can be chosen based on the known behavior of the system or by using previous solutions as a starting point. It is important to choose a reasonable initial guess to ensure convergence of the algorithm.

3. What are some suggestions for improving the convergence of BDF iterations?

Some suggestions for improving the convergence of BDF iterations include using a smaller time step, adjusting the tolerances for the solution, and using a higher order BDF method. It is also helpful to analyze the system and make any necessary simplifications to reduce the complexity of the equations.

4. How do I know if BDF iterations have converged?

BDF iterations have converged when the solution no longer changes significantly with each iteration and the residual (difference between the calculated solution and the actual solution) is below a specified tolerance. It is important to monitor the convergence of the algorithm and adjust parameters if necessary.

5. Are there any common pitfalls or challenges when using BDF iterations?

One common challenge when using BDF iterations is choosing appropriate time step sizes. If the time step is too large, the solution may not converge. Additionally, the system of equations being solved should be well-behaved and not have any singularities or discontinuities, as this can also cause convergence issues.

Similar threads

  • Differential Equations
Replies
7
Views
2K
Replies
61
Views
1K
  • Differential Equations
Replies
1
Views
977
  • Differential Equations
Replies
1
Views
1K
Replies
3
Views
1K
Replies
4
Views
2K
  • Differential Equations
Replies
1
Views
2K
  • Differential Equations
Replies
1
Views
2K
Replies
2
Views
1K
  • Programming and Computer Science
Replies
15
Views
2K
Back
Top