CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Main CFD Forum

Problem with SOR

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   October 1, 2005, 03:26
Default Problem with SOR
  #1
Davoche
Guest
 
Posts: n/a
hi everybody, I have a big problem with a SOR method applied to an elliptic equation.

In regular mesh, it works very well ( convergence and results ok ) , but as soon as I use an irregular mesh ( even if it is very smooth ), my convergence rate stops at a value and stay constant.

Is it a normal behaviour for a finite difference scheme ? I precise that I use periodic Boundary conditions in 2 directions and Neumann in another ( So I'm 3D )

Thanks
  Reply With Quote

Old   October 1, 2005, 21:35
Default Re: Problem with SOR
  #2
agg
Guest
 
Posts: n/a
It is possible that convergence rate drops. There are solutions however to that for example, preconditioning. There are several fast packages available for elliptic equations like FISHPACK and MUDPACK, if you do not have to stick to SOR methods
  Reply With Quote

Old   October 2, 2005, 03:33
Default Re: Problem with SOR
  #3
Davoche
Guest
 
Posts: n/a
Thanks but I want to use this SOR as the core of my Multigrid.

If it doesn't work ( not converge precisely )only with Sor, it shouldn't with Multigrid, isn't it ?

The result of SOR for irregular mesh is not wrong, but not enough accurate.I need a precision of 1.E-13 ( divergence free ) an I obtain only 10E-2
  Reply With Quote

Old   October 3, 2005, 10:23
Default Re: Problem with SOR
  #4
Davoche
Guest
 
Posts: n/a
Hi,

With Dirichlet Boundary Conditions, all is Ok ( on regular and irregular mesh ). But for Neumann, the result is not accurate especially where the mesh is the finest. ( I precise it is the same mesh than for Dirichlet test ).

So, I don't understand why the result is such affected with Neumann BC ?
  Reply With Quote

Old   October 3, 2005, 11:01
Default Re: Problem with SOR
  #5
agg
Guest
 
Posts: n/a
How did you implement Neumann BC in your code? Do you use a central differencing method or something else?
  Reply With Quote

Old   October 3, 2005, 11:50
Default Re: Problem with SOR
  #6
Davoche
Guest
 
Posts: n/a
Hi Agg, My Neumann is implemented with second order difference scheme with quantities at the cell center, for exemple in 1D regular mesh:

On boundary, T_{i=wall-1/2}=T_{i=wall+1/2} ( with T_{i=wall-1/2} is a ghost symetrical node ), with this I have a zero gradient on the wall.

In SOR : I replace it directly so

Sourceterm_{i=wall+1/2}=1/(dx^2).(T_{i=wall+3/2}-2.T_{i=wall+1/2}+T_{i=wall-1/2}) becomes

Sourceterm_{i=wall+1/2}=1/(dx^2).(T_{i=wall+3/2}-T_{i=wall+1/2}) only for the point near the boundary.

  Reply With Quote

Old   October 3, 2005, 14:02
Default Re: Problem with SOR
  #7
agg
Guest
 
Posts: n/a
Your implementation seems to be correct. So, here is another theory.

1) When you use a Neumann bc (at all boundaries), infinite solutions exist for the dependent variable. For example, a solution T1=10; T2=10; T3=10 will satisfy dt/dx=0 at node 2. Similarly T1=11; T2=11; T3=11 will also satisfy your bc. It is possoble that your SOR solver keeps bouncing between these infinite solutions.

However, when you have a dirichlet bc, the solution has to relax to the prescribed value at the boundary (say T=0) and the SOR solver behaves nicely, since only ONE solution will satisfy the bc.

What you can try is: Try a combination of Neumann and dirichlet bc and see how your solution behaves. If it behaves nicely, just like when you have dirichlet bc's at all boundaries, then the problem that i illustrated above might be the one holding up your SOR solver.

Just a theory! and i hope i haven't caused any confusion.
  Reply With Quote

Old   October 4, 2005, 03:18
Default Re: Problem with SOR
  #8
Davoche
Guest
 
Posts: n/a
Thanks for your suggestion Agg,

I've try it and it converge very very slowly now ( but the result is still the same ).

In fact, as my code works well in regular mesh ( even for different size of channel ) , I don't think it is due to a problem of bouncing between solutions.

It is clearly due to the staggered mesh... In fact, as soon as I use a staggered mesh, I see that the solution of my elliptic equation is the most diverging from the theoritical result at the location of the finest mesh of my grid ( I precise I am in Double precision ) .

But I don't know why...
  Reply With Quote

Old   October 4, 2005, 10:33
Default Re: Problem with SOR
  #9
agg
Guest
 
Posts: n/a
ok. Do you use under/over relaxation? Maybe you should play around with those parameters and see if that helps.
  Reply With Quote

Old   October 4, 2005, 11:59
Default Re: Problem with SOR
  #10
Davoche
Guest
 
Posts: n/a
Thank one more time, but I have already checked it.
  Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
UDF compiling problem Wouter Fluent UDF and Scheme Programming 6 June 6, 2012 04:43
engineFoam new mesh problem ayhan515 OpenFOAM 2 May 1, 2012 04:29
Gambit - meshing over airfoil wrapping (?) problem JFDC FLUENT 1 July 11, 2011 05:59
Adiabatic and Rotating wall (Convection problem) ParodDav CFX 5 April 29, 2007 19:13
Is this problem well posed? Thomas P. Abraham Main CFD Forum 5 September 8, 1999 14:52


All times are GMT -4. The time now is 07:09.