Implicit iterative methods oscillating?

In summary: I'm glad you were able to understand the issue and find a better approach. In summary, the conversation discusses the use of implicit methods for numerically solving ODEs and the issue of stability and accuracy. The specific example of solving a differential equation is given and it is noted that the Implicit Midpoint method is causing oscillations. It is then suggested to try other methods, such as Gauss-Legendre RK or BDF, for better stability. The conversation also mentions the importance of checking derivative values and references the topic of stiff ODEs. It is concluded that an oscillating solution does not necessarily mean instability, but rather a poor approximation.
  • #1
maistral
240
17
I'm under the impression that any implicit method for numerically solving ODE should be providing high stability in exchange for accuracy.

I'm trying to solve the differential equation:
dy/dx = -1000y + 3000 - 2000exp(-x) with intial conditions (0,0).

I still can't understand how come the numerical solution using the Implicit Midpoint is oscillating if it is supposed to be a stable method. Judging from the values, they oscillate between ~0 and~2.
t989rt.png


Am I missing something here?
 
Physics news on Phys.org
  • #2
Seems to me your initial step is relatively big: dy/dx (0) = 1000 so 0.05 makes y shoot off.
You sure there aren't any conditions at all for the stability ?

[edit] perhaps this helps -- but your midpoint is left as an exercise (nr 3 on p. 64...)
 
  • Like
Likes maistral
  • #3
I see. The implicit midpoint requiring an initial evaluation at dy/dx(0) at the evaluation (y0 + y1)/2 makes it shoot off. Thanks. Is it safe for me to say that implicit methods do strengthen stability, but not guarantee stability? (unless its backward Euler.. that thing is a tank)

I guess I'm really better off with the Gauss-Legendre RK or that BDF thing. Thanks!
 
  • #4
I think I can agree with your statement. I think that's exactly the subject of the link I gave you.

I don't know what line of work/study you are in, but I find it very useful to check derivative absolute values, no matter which integrator is at work in the program I'm using.
Big values means you want to try small step sizes, but once the values are comparable and relatively smaller you want bigger steps to make reasonable progress.
For your expression I would say that's a 'stiff' ODE and the Gear method comes to mind. Sometimes you have a choice and you simply try one or two.

There's a truckload of litterature on this subject to be found on the internet nowadays, so: happy hunting !
 
  • #5
The solution oscillating between 0 and 2 does not mean that it is unstable. It's just not a good approximation. An unstable solution grows without bound.

Chet
 
  • Like
Likes BvU

1. What is the purpose of using implicit iterative methods for oscillating systems?

Implicit iterative methods are used to solve differential equations for oscillating systems. These methods are more stable and accurate than explicit methods, and are better suited for systems with rapidly changing solutions.

2. How do implicit iterative methods differ from explicit methods?

Explicit methods use the current values of variables to calculate the next value, while implicit methods use a combination of current and previous values. This allows implicit methods to handle systems with more complex and rapidly changing solutions.

3. What are the advantages of using implicit iterative methods for oscillating systems?

Implicit iterative methods have several advantages, including greater stability, accuracy, and the ability to handle non-linear systems. They also require fewer time steps, which can save computational time and resources.

4. What are some common examples of oscillating systems that use implicit iterative methods?

Some common examples of oscillating systems that use implicit iterative methods include chemical reactions, population dynamics, and mechanical vibrations. These systems often have non-linear behavior and require more precise solutions.

5. How do we determine the convergence of implicit iterative methods for oscillating systems?

Convergence of implicit iterative methods can be determined by checking the change in solution values between iterations. If the values are approaching a steady state, the method is considered to be converging. Additionally, there are specific convergence criteria for different types of implicit iterative methods.

Similar threads

Replies
2
Views
1K
  • Differential Equations
Replies
1
Views
1K
  • Differential Equations
Replies
1
Views
1K
Replies
6
Views
2K
Replies
2
Views
2K
  • Differential Equations
Replies
1
Views
1K
Replies
5
Views
2K
  • Differential Equations
Replies
2
Views
2K
  • Differential Equations
Replies
1
Views
2K
  • Differential Equations
Replies
1
Views
2K
Back
Top