Solving differential equations using implicit methods

Click For Summary

Discussion Overview

The discussion revolves around solving ordinary differential equations (ODEs) using implicit methods, specifically focusing on the Backward Euler method. Participants explore the application of Newton's method for solving the resulting equations and discuss alternative approaches such as fixed-point iteration.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Exploratory

Main Points Raised

  • One participant describes their implementation of explicit integrators and their transition to implicit methods for stiff equations, highlighting the Backward Euler method.
  • Another participant provides a formulation for applying Newton's method to solve for \( y_{n+1} \) in the Backward Euler equation.
  • A participant expresses uncertainty about the application of Newton's method, questioning the validity of substituting the derivative of \( f \) with \( f(t, f(t, z_i)) \).
  • There is a discussion about the relationship between time increments and the function \( f \) in the context of a specific ODE.
  • One participant suggests that using fixed-point iteration may simplify the process by eliminating the need to compute the derivative of \( f \).

Areas of Agreement / Disagreement

Participants express varying levels of understanding and approaches to applying Newton's method, with some uncertainty about the substitution of derivatives. The discussion remains unresolved regarding the best method to use, as multiple approaches are proposed.

Contextual Notes

Participants discuss the implications of using different methods for solving ODEs, including the potential need for numerical approximation of derivatives when not substituting them directly. The effectiveness of fixed-point iteration versus Newton's method is also considered, but no consensus is reached.

Sagekilla
Messages
18
Reaction score
0
Hi all, I'm writing myself a ordinary differential equation solver and I've already implemented several explicit integrators, which were pretty easy for me to do. Now I've decided to work on some implicit methods (for any stiff equations) and I've run into some issues.

The most basic one is the Backward Euler:
y_{n+1} = y_{n} + hf(t_{n+1}, y_{n+1})

And as I understand, to solve this you need to use some iteration to get the value of y_{n+1} to solve that equation for the next time step.

The problem I have is: How can I solve this? I thought I could use something like Newton's method, but I don't know how to properly apply it.

Any help, even a push in the right direction would be appreciated. Thanks!
 
Last edited:
Physics news on Phys.org
The backward method
y_{n+1} = y_{n} + hf(t_{n+1}, y_{n+1})

need to solve for yn+1 via NR method.

y_{n+1} - y_{n} - hf(t_{n+1}, y_{n+1})=0

Let g(z) = z - y_{n} - hf(t_{n+1}, z)

The iteration
z_{i+1} = z_i - \frac{g(z_i)}{g'(z_i)}
should converges to yn+1 using the initial estimation z0=yn.
 
Thanks for your help! I never understood how to properly apply Newton's method before. I implemented it as you had shown, with:

z_{i+1} = z_{i} - \frac{z_{i} - y_{n} - hf(t_{n+1}, z_{i})}{1 - hf'(t_{n+1}, z_{i})}

Is it safe to assume that I can say that: f'(t_{n+1}, z_{i}) = f(t_{n+1}, f(t_{n+1}, z_{i}))

I thought it out for a few minutes, and it seemed reasonable in the context of a few examples I put together:

If we let \frac{dy}{dt} = -ky then f(t, y) = -ky and f'(t, y) = -kf(t, y) = f(t, f(t, y))
 
I thought that we have this relation: tn+1=t n + h
where h is the step size increment.
In the case of \frac{dy}{dt} = -ky , f(tn+1, z) = -kz
 
Yes, there is. But what I was asking was if I could replace the derivative of f inside of Newton's method by f(t, f(t, y)), since for first order ODEs it would be equivalent to differentiating (at least I think it is) all the y components of differential equation.

Because otherwise if I couldn't do that, then I know I'd have to numerically approximate the derivative as well.
 
On a second thought, I think it is easier to use the fixed-point interation
zn+1=g(zn)
to approximates yn+1.

This eliminate the requirement to compute the derivative of f.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
6K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 65 ·
3
Replies
65
Views
8K
  • · Replies 7 ·
Replies
7
Views
5K
  • · Replies 2 ·
Replies
2
Views
4K