CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Time levels & averaging question (

Frank June 5, 2007 12:16

Time levels & averaging question
Hello Folks, I was wondering if someone could please shed some light on this matter for me:

If I have a differential equation say:


and I wish to solve this equation using finite difference equations then what benefit is gained by averaging the u_t term spatially and u_x temporally?

In other words, I have seen the equation in finite difference form as:

0.5*[ (u(I,N+1)-u(I,N)) + (u(I-1,N+1)-u(I-1,N))]/dt = 0.5*[ (u(I,N)-u(I-1,N)) +(u(I,N+1)-u(I-1,N+1)) ]/dx

where 'I' denotes the spatial dimension and 'N' the time-level. I was wondering what benefit is gained through averaging one term spatially and the other temporally. I have been told it ensures that both sides of the equation are relating to the point (I+1/2, N+1/2) but I'm not sure what this actually achieves.

If someone could shed some light on this matter I'd be very grateful. Many thanks, F

Ananda Himansu June 5, 2007 18:30

Re: Time levels & averaging question
It gives you a scheme (which I remember as the Keller box scheme, though I could be wrong; check some text) which is second-order accurate in both space and time and yet has a very compact stencil. The order of accuracy of the discretization (and its consistency with the given differential eqn) can be checked by Taylor series expansion of the discretized eqn, term by term, about ANY point in space-time, though the point labeled (I-1/2,N+1/2) is most elegant for the discretization you show, as the cancellation of Taylor series terms is most obvious in that case. You could say that the discretization is "centered" about (I-1/2,N+1/2). The compactness of the stencil brings with it the not inconsiderable advantage that the number of boundary and initial conditions needed (just one of each) matches the natural number of bcs and ics required by the diff eqn, thus obviating the need for artificial boundary conditions.

All times are GMT -4. The time now is 23:58.