Implicit Euler method with adaptive time step and step doubling

In summary, the Implicit Euler method with adaptive time step and step doubling is a numerical integration technique that uses smaller time steps for more accurate solutions and automatically adjusts the time step according to the error. Step doubling is also employed to increase the accuracy of the method. This approach is particularly useful for solving stiff differential equations, where the traditional fixed time step methods may result in large errors or require a significant amount of computational time. By adjusting the time step and utilizing step doubling, the Implicit Euler method with adaptive time step can provide more precise and efficient solutions for a variety of problems.
  • #1
the_dane
30
0
For Initial Value problems I want to implement an ODE solver for implicit Euler method with adaptive time step and use step doubling to estimate error. I have found some reading stuff about adaptive time step and error estimation using step doubling but those are mostly related to RK methods. I can't find how the error estimating formulas look like for the implicit (Backward Euler) method.

Have any of you worked with this topic and can help me find the right formulas to implement? I am mostly confused about how to update the size timestep each at each step.

( I have looked at this article but it does not really help me find what I am looking for https://www.newcastle.edu.au/__data...rical-modelling-of-unsatuarted-fluid-flow.pdf )
 
Last edited:
Physics news on Phys.org
  • #2
the_dane said:
For Initial Value problems I want to implement an ODE solver for implicit Euler method with adaptive time step and use step doubling to estimate error. I have found some reading stuff about adaptive time step and error estimation using step doubling but those are mostly related to RK methods. I can't find how the error estimating formulas look like for the implicit (Backward Euler) method.
The error estimate is simply the absolute value of the difference in the dependent variable(s) when advancing using a given step ##h## and half that step, ##h/2##.

To figure out how to modify the step if the error estimate is outside an acceptable range, you can take inspiration from how it is implemented in GSL:

https://www.gnu.org/software/gsl/doc/html/ode-initval.html#adaptive-step-size-control
 
  • #3
You could try to test it first for some relatively simple example, such as the equation of motion of a classical mechanical particle that hits a very hard wall from the left side. The "wall" could be modeled with a (dimensionless) potential energy like

##V(x) = \left\{\begin{array}{c} 0,\hspace{20pt}x<0 \\ 10^4 x,\hspace{20pt}x>0\end{array}\right.##

or

##V(x) = \left\{\begin{array}{c} 0,\hspace{20pt}x<0 \\(x+1)^{20} \hspace{20pt}x>0\end{array}\right.##

If the timestep is too long, the particle will bounce back with a speed that clearly breaks conservation of energy.
 

1. What is the Implicit Euler method with adaptive time step and step doubling?

The Implicit Euler method with adaptive time step and step doubling is a numerical method used for solving ordinary differential equations (ODEs). It is an extension of the standard Implicit Euler method, which uses a fixed time step, and allows for a more accurate and efficient solution by adjusting the time step size and doubling it when necessary.

2. How does the Implicit Euler method with adaptive time step and step doubling work?

The method works by first taking a small initial time step and using the Implicit Euler method to approximate the solution. Then, the error of this approximation is estimated and compared to a desired tolerance. If the error is within the tolerance, the time step is kept the same. If the error is too large, the time step is halved and the process is repeated until the error is within the tolerance. In cases where the error is too small, the time step is doubled to save computational time.

3. What are the advantages of using the Implicit Euler method with adaptive time step and step doubling?

The main advantage of this method is that it can provide a more accurate solution compared to the standard Implicit Euler method. It also saves computational time by adjusting the time step size, rather than using a fixed time step for the entire solution. Additionally, it can handle stiff ODEs, which are difficult to solve using traditional methods.

4. What types of problems is the Implicit Euler method with adaptive time step and step doubling suitable for?

This method is suitable for solving a wide range of ODEs, including stiff ODEs, where the solution changes rapidly over a small time interval. It is also useful for problems with varying time scales, where a fixed time step may not be efficient.

5. Are there any limitations to using the Implicit Euler method with adaptive time step and step doubling?

One limitation of this method is that it may not be suitable for problems with discontinuities or singularities in the solution. It also requires the user to specify a desired tolerance, which may not always be easy to determine. In some cases, it may also be less efficient than other adaptive methods, such as the Runge-Kutta methods.

Similar threads

  • Differential Equations
Replies
1
Views
770
  • Differential Equations
Replies
1
Views
1K
Replies
14
Views
2K
Replies
2
Views
2K
  • Calculus and Beyond Homework Help
Replies
1
Views
2K
Replies
2
Views
3K
  • Differential Equations
Replies
15
Views
31K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Programming and Computer Science
Replies
1
Views
7K
  • Other Physics Topics
Replies
4
Views
2K
Back
Top