# Reducing oscillations a 3D Alternating direction explicit scheme for the diffusion equation?

Hi I have made a 3D alternating direction explicit scheme for solving the diffusion equation, which will eventually replace a FTCS scheme in model of bubble dynamics in tissue. I have been testing it and have realized that despite the unconditional stability I get oscillations in the system if the Courant number is greater than ~4. Is there a way round this other than reducing the Courant number?

Here are some more details: The scheme I am using alternating direction explicit ADE is an explicit method which does two sweeps (one upwind and one downwind). In 1D this looks like:

Upwind:

C1_new[i]-C_old[i] = (dt/h^2)(C_old[i+1]-C_old[i]-C1_new[i]+C1_new[i-1])


Downwind:

C2_new[i]-C_old[i] = (dt/h^2)(C_old[i-1]-C_old[i]-C2_new[i]+C2_new[i+1])


Final Average:

C_new[i] = C1_new[i]+C2_new[i]/2


Full details can be found at http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1552926

However, when I implement a 3D version and play around with time and space steps I see oscillations occurring from (dt/h^2) values of about 4.5 upwards.

This is a plot of the pt (5,5,5) from my $10\times10\times10$ grid for various Courant numbers. As you can see, there are oscillations for the higher numbers.

]

• Please add some description of the scheme you're using. – uranix Aug 4 '15 at 11:15
• Instead of CD2 you can try higher order CD schemes, that may increase the stability and accuracy. Please note Its my guess, I didn't do any analysis. Because for advection equations this process works pretty well! – AGN Aug 6 '15 at 12:43
• Are there meant to be two dt/h^2 in the second equation, or just one? – Kirill Aug 6 '15 at 21:32
• just one, sorry it was a typo; corrected now – Claire Aug 10 '15 at 13:04
• The oscillations that you're describing sound more like a violation of the maximum principle (c.f. Crank-Nicolson, scicomp.stackexchange.com/q/7150/713), in which case unconditional stability is not really relevant here. I haven't checked if your scheme satisfies the maximum principle, and the paper you linked to doesn't seem to check either. Perhaps it just doesn't and that's what you're observing. – Kirill Aug 10 '15 at 16:07