# Thread: finite difference method, coupled wave equations, chickens & eggs

1. ## finite difference method, coupled wave equations, chickens & eggs

I'm reading a book (Numerical Techniques in Electromagnetics by Sadiku) & just finished the section on finite difference methods. As what I thought would be an easy exercise, I tried to apply what I'd learned to the telegraphers equations that describe the voltage, V(x, t), and current, I(x, t), on a transmission line with some realistic (meaning ugly) boundary conditions:

The equations are 2 coupled (by the boundary conditions) wave equations:

$
\frac{\partial^2 V}{\partial t^2} = u^2 \frac{\partial^2 V}{\partial x^2}
$

$
\frac{\partial^2 I}{\partial t^2} = u^2 \frac{\partial^2 I}{\partial x^2}
$

Where u is the velocity of propagation and 0 < x < L, t > 0
The boundary & initial conditions are
$
V(0, 0) = V_g(0) \frac{Z_0}{Z_0 + R_g}
$

$
I(0, 0) = V_g(0) \frac{1}{Z_0 + R_g}
$

$
V(0, t) = V_g(t) - R_g I(0, t)
$

$
V(L, t) = R_L I(L, t)
$

V(x, 0) = I(x, 0) = 0 for x>0 & everything(t<0) = 0
RL, Rg, & Z0 are real positive constants. Vg(t) is a known function of time only.

So I turn each into a difference equations using the centralized 2nd order approximation

$
\frac{V(i, j+1) - 2 V(i, j) + V(i, j-1)}{\Delta t^2} = u^2 \frac{V(i+1, j) - 2 V(i, j) + V(i-1, j)}{\Delta x^2}
$

same for I. I solve for V(i, j+1) & I(i, j+1). With j (time) in my outer loop & i (x) in my inner loop I start stepping across x for each time t. Everything is fine until I reach that last boundary condition. I have a chicken & egg problem. First impulse is to step V forward and calculate I or vice versa. But neither will give me the right answer. I'm going to have the same problem at x=0 after that first step.
The problem is easy if RL = Rg = 0. I can just solve the equation for V since V(L, t) = 0.

But, for RL & Rg > 0, how do I handle those two boundary conditions that relate V & I at x=0 and x=L?

I know there are other (& probably better) ways to solve this, even analytically or just intuitively. But I need the practice with FD.

Thanks,
Apchar

2. I'm no expert on FD, but it seems to me that your stepping approach is the problem. Typically, FD methods can handle boundary-value problems in a very straight-forward manner: use the discretized derivatives you have there to set up a large system of simultaneous equations. That's the key word: simultaneous. With your method, you're bootstrapping yourself up to get more and more values as you go along. Then, when you get to the end, you have a hard time matching up the final boundary conditions (although, if you have a fast enough computer, you could iterate through your scheme using a shooting method.) Think of a grid, x in one direction, and t in the other. The functions V and I are going to need to satisfy a certain system. You'll need to set up that system (the hard part), and then hand it over to a computer to solve.

Like I said, I'm no expert, and we will very quickly exhaust my expertise in the subject. But maybe this will give you some ideas.

3. The aforementioned text describes 2 FD methods. The implicit method as you described where, for each slice of time, you solve N simultaneous equations (where N is the number of spatial points) and the explicit method which is as I described. I was hoping to use the explicit method since it's so much simpler.
What irks me most is that it works with RL = Rg = 0, RL = Rg = infinity, and RL = Rg = Z0. It just work in any other value of RL (& Rg.) The fact that it works for those conditions leads me to believe it can work for any RL (& Rg) but I can't for the life of me see how.

4. The explicit method may be simpler, but it's not suited to BVP's unless you couple it with a shooting method. That is, you end up having to solve an awful lot of IVP's to solve your BVP.