Solving an RC circuit using explicit euler

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
7 replies · 3K views
yugeci
Messages
61
Reaction score
0

Homework Statement



Hi there. I have a simple RC circuit with a battery voltage of 10 V, R = 1 Ω, C = 1 F and a switch. I want to use the Explicit Euler (forward divided difference) to solve the equation and check for stability, rather than using a ODE. I am finding the equation for when the capacitor is fully charged and then the battery removed, standard situation etc.

Homework Equations



C. dv/dt + V(t)/R = 0 (loop equation for the circuit)

The Attempt at a Solution


[/B]
The first thing I attempted to do was rewrite / rearrange the circuit in the form v(tnew) = v(told)(1 + a.Δt)n then check what value of t the equation would be unstable for.

dv/dt + V(t)/RC = 0

Rewriting dv/dt as (Vf - Vi)/Δt,

(Vf - Vi)/t + V(t)/RC = 0
... leads to

Vf = Vi - Δt/RC
Vf = Vi(1 - Δt/RC) ----- equation 1

So a = -1/RC = -1, giving

v(t) = Vi(1 - Δt)
v(t) = 10(1 - Δt)

For v(t) to be unstable, |1 - Δt| > 1 ∴ t should be 2sec or more.

However, logically speaking shouldn't the equation be unstable at values of t > 1 sec. Because if you plug Δt = 1 sec, the final voltage is always 0. Where have I made a mistake?
 
Physics news on Phys.org
You mix up stable and good. Δt = 1 sec gives a stable solution all right !
 
  • Like
Likes   Reactions: yugeci
OK for t = 1 sec, V is constantly zero which is still OK I guess, but for t = 1.1 sec, equation 1 gives -1V. This shouldn't be possible?
 
What you mean is: that isn't good. But it is still stable: V does not exceed any bound for growing t.
[Iedit] I should correct that: the error does not exceed any bound.
 
  • Like
Likes   Reactions: yugeci
So unstable would be if the final voltage kept increasing at some exponential rate, much higher than the original value of 10 V?
 
Yes. Unstable is when the error can exceed any fixed bound. Doesn't have to be exponential.
 
  • Like
Likes   Reactions: yugeci
Alright. Thank you so much for the quick response. :)
 
Note that your differential equation has a very decently behaving analytical solution.Perhaps that's why the gap between a 'good' Δt (*) and the unstability criterion is rather wide.
[edit] I think that I have to withdraw that. No basis for such a statement, I suppose

(*) Just play around with excel and check that a 1 mV upper bound on the error requires Δt < 0.5 msec or thereabouts

PS I suppose with "a ODE" you mean some wrapped integrator that comes with your program ? (Not shrink wrapped, because then you might see that it could well be an explicit Euler too... :smile: )