New Reply

Implicit Euler Integration

 
Share Thread
May25-12, 06:42 AM   #1
 

Implicit Euler Integration


I'm trying to write a code to implement he backwards Euler method to integrate the equation of motion. The sticking point seems to be that the acceleration is due to drag, and thus is dependent on the new position and velocity.

I understand the method to be:

[itex]v_{i+1}=v_{i}+a_{i+1}δ[/itex]
[itex]x_{i+1}=x_{i}+v_{i+1}δ[/itex]

With only the current conditions I can’t evaluate [itex]a_{i+1}[/itex] and am stuck.

Any help on how the implicit methods work would be really appreciated.


I’ve considered using [itex]a_{i+1}= a_{i}+ (a_{i}-a_{i-1}){δ} [/itex] but then that’s not really an implicit method is it? – you’re simply reusing the acceleration from last time around.

Thanks in advance,
PhysOrg.com science news on PhysOrg.com

>> New language discovery reveals linguistic insights
>> US official: Solar plane to help ground energy use (Update)
>> Four microphones, computer algorithm enough to produce 3-D model of simple, convex room
May26-12, 07:17 AM   #2
 
The backwards Euler method is iterative. The first guess is usually the forward Euler method, so the right-hand side is determined using the information at time "i". You now have a first estimate of the properties at time "i+1". You can now use these estimates in the right-hand side to get a better estimate of the properties at time "i+1".

so for your example, first use a and v at time "i", then you have v and x at time "i+1". Now calculate a at "i+1" and recalculate v an x, but using your new estimate of a and v at "i+1":

first iteration:
[itex]v^1_{i+1}=v_{i}+a_{i}\Delta t[/itex]
[itex]x^1_{i+1}=x_{i}+v_{i}\Delta t[/itex]
calculate [itex]a_{i+1}=f(v^1_{x+1})\Delta t[/itex]
second iteration:
[itex]v^2_{i+1}=v_{i}+a^1_{i+1}\Delta t[/itex]
[itex]x^2_{i+1}=x_{i}+v^1_{i+1}\Delta t[/itex]
May26-12, 08:04 AM   #3

Math 2012
 
Recognitions:
Science Advisor Science Advisor
You take a guess at the starting value, and (with luck) the interations will converge to a better value. If they don't converge, try a smaller time step.

Quote by RH10 View Post
I’ve considered using [itex]a_{i+1}= a_{i}+ (a_{i}-a_{i-1}){δ} [/itex]
That's not right, because the "dimensions" don't make sense. Multiplying ##a## by ##\delta## gives you a quantity that is a ##v##, not an ##a##.

You could just start with ##a_{i+1} = a_i##, or if you want to extrapolate, the right fomula is ##a_{i+1} = a_i + (a_i-a_{i-1}) = 2a_i - a_{i-1}##.

Whether it's "better" to extrapolate or not will depend on the problem you are solving and the size of the time steps.
New Reply

Similar discussions for: Implicit Euler Integration
Thread Forum Replies
Implicit (Backwards) Euler's Method Calculus 1
Convergence of implicit Euler method Calculus & Beyond Homework 1
Backward Euler / Implicit Integration Implementation Differential Equations 7
implicit integration in large simulation Differential Equations 0
Integration after implicit differentiation Calculus & Beyond Homework 5