CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Convergence in sonicFoamforwardStep (https://www.cfd-online.com/Forums/openfoam-solving/59538-convergence-sonicfoamforwardstep.html)

lasb July 26, 2007 08:03

Hi, I tried to run the forw
 
Hi,

I tried to run the forwardStep tutorial, but the Courant number is getting very big fast. So I tried to decrease the timestep. This resulted in bigger Courant numbers faster than before. How can that be?

Co = (\delta(t)*U)/(\delta(x))

What can you do in order to run it properly? Initial conditions are those set by the tutorial.

All hints and help will be much appreciated.

-- Lasse

stephan July 26, 2007 09:12

hi, i am not in expert in t
 
hi,

i am not in expert in this area -had only some lessons on gasdynamics - but what exactly happend?
if i run the case (foam 1.3) the max. co keeps constant and the mean co increases first fast and than slower and slower.
what did you expect? i thought the shock-wave runs in the area and therefore the mean co should become higher in the beginning. but if the flow becomes steady the mean co becomes steady too.

greetings
stephan

stephan July 26, 2007 09:24

hi, i checked me setup agai
 
hi,

i checked me setup again - and there are some changes to the tut-case:
i use backward instead of euler for the time in system/fvScheme and changed the tolerances to 1e-10 in system/fvSolution.
with these changes it workes on my pc.
greetings
stephan

lasb July 26, 2007 10:40

Hi Stephan, I expected a de
 
Hi Stephan,

I expected a decrease in \delta(t) would result in a decrease in the Courant number (a slower divergence, (I found the opposite)).

Backward is ofcourse more stable. But the Courant number still diverges after 0.5 sec. Both the mean and max increases, so after 0.57 sec they are ~e30.
It still crashes. Any good ideas?

Thanks,
Lasse

stephan July 26, 2007 11:08

hi, i run the calculation w
 
hi,

i run the calculation with the settings i posted to you up to the endTime(10) and had no problems...
btw i used 4 piso loops but even if i use euler with 2 piso loops (standard) i have no such problems.
did you change any setting for the case?
are you using foam 1.4 or 1.3?

the problem with higher co together with lower dt is still strange.
did you try recompiling the solver and building the mesh again?
maybe you could post the bc-files and the last timesteps which were showed up by the solver ...


greetings
stephan

lasb July 26, 2007 11:54

Hi, I'm using foam 1.4. And
 
Hi,

I'm using foam 1.4. And I ran it with the settings you told me. I'm pretty sure I didn't change any of the default settings, but I'll have to dobbelcheck that one.

I'll let you know if I succed.
Greetings
Lasse

stephan July 26, 2007 12:43

hi, actually why do you thi
 
hi,

actually why do you think backward is more stable than implicit euler?
greetings
stephan

lasb July 27, 2007 05:29

Hi, I just thought that Eul
 
Hi,

I just thought that Euler automatically meant forward (explicit) Euler. And you made it backward Euler (implicit) by typing backward instead of euler. Therefore it would be more stable.
Greetings
Lasse

stephan July 27, 2007 06:59

hi, if you look at the user
 
hi,

if you look at the user/programmers guide fvm:ddt with "euler" in the fvScheme should be the implicit one - fvc:ddt should be the explicit one.(both first order in time).
i dont know the word in english - but "backward" should be something like a multistep-discr. which uses not only u_i to solve for u_(i+1) but u_(i-1) too. (it is second order in time)
in cases of solving ode -both implicit euler and backward should be absolutly stable ( in sense of a-stable) - there are other stability criteria too.
if you plot the stability region of both (implicit euler and backward) both should be in the upper right quadrant of the complex gauss diagramm (plots Re(z) over Im(z)) which says that they are both stable in case the timestep is positive.
its is just my oppinion so please corect me if i am wrong!!!
it is some time ago that i was working with stability...

greetings
stephan

lasb July 27, 2007 09:16

Hi, You're right about fvm
 
Hi,

You're right about fvm is implicit and fvc is explicit. But where do you see that Euler is fvm?

I can only see the sonicFoam.C file where all the ddt are fvm. Maybe that's the place to see it.

Implicit Euler and backward Euler is (as far as I know) the same.

Forward Euler uses u_i and u'_i to calculate u_(i+1) where backward uses u_i and u'_(i+1).
You're right about the stability wrt implicit euler and backward.

Cheers
Lasse

stephan July 27, 2007 09:58

hi, in my opinion you can s
 
hi,

in my opinion you can see it only in the solver equations - correct me if i am wrong.
but still "backward" is not simply implicit euler - it has second order time errors since it uses more than one value from the past.
just do a taylor expansion for u_(i-1) and u_(i-2) (in case you want to solve for u_i) and try to eliminate first order terms while solving for first deriv..


greetings
stephan

lasb July 30, 2007 05:02

Hi, I think you're right. I
 
Hi,

I think you're right. I just don't know where the solver equations are. If I look in the fvSolution it says PBiCG and PBC under solvers for p, U, etc.

Is PBiCG and PBC another way to see if it's implicit?

Greetings
Lasse
Btw. Thanks for your answers so far. It helps me a lot

stephan July 30, 2007 09:47

hi, as you mentioned, you c
 
hi,

as you mentioned, you can see it in sonicFoam.C.
in fvsolution you can find the name and parameters for the solvers of the linear equation system - in foam 1.3 sonicfoam uses versions of the cg-solver.
i dont think you can see if its explicit or implicit in fvsolution although an explicit problem wont need a linear system at all....
regards
stephan

lasb July 30, 2007 10:49

Hi, Thanks. This may not be
 
Hi,

Thanks. This may not be the correct place to pose this question, but I'm very curious:

Are you just very helpful or do you work for openFoam?

Either way, I appreciate your help.

This question is also a little out of context.
In the turbFoam.C file (and other turbulent source codes) they calculate U under the momentum predictor. In the equation there is a line:
+ turbulence->divR(U)
What does that mean? Or where can I read about it?

Thanks,
Lasse


All times are GMT -4. The time now is 04:39.