CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Sudden jump in Courant number

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

Reply
 
LinkBack Thread Tools Display Modes
Old   March 28, 2013, 12:22
Default Sudden jump in Courant number
  #1
NJG
Member
 
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 5
NJG is on a distinguished road
Hello Community,

I was just performing a run based on setting a max courant # and then allowing delta-t to be thus determined. It was running fine for a good long while with a pretty much constant delta-t, then suddenly my Courant number jumped driving my time step to a tiny number. I am not sure why this happened or what could be the cause. Following is my error out put preceded by a few ok steps:

Time = 977.071

Courant Number mean: 0.00467519 max: 0.999885
deltaT = 0.0270118
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 7.59256e-07, No Iterations 60
DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 9.43605e-07, No Iterations 59
DICPCG: Solving for p_rgh, Initial residual = 0.0870639, Final residual = 0.000865217, No Iterations 52
time step continuity errors : sum local = 7.40233e-08, global = -8.48412e-11, cumulative = 7.71956e-08
DICPCG: Solving for p_rgh, Initial residual = 3.82801e-08, Final residual = 7.92509e-09, No Iterations 3
time step continuity errors : sum local = 5.85675e-07, global = -1.05916e-10, cumulative = 7.70897e-08
DILUPBiCG: Solving for epsilon, Initial residual = 0.996153, Final residual = 9.64634e-07, No Iterations 122
bounding epsilon, min: 9.50694e-16 max: 0.155945 average: 3.60892e-05
DILUPBiCG: Solving for k, Initial residual = 0.999998, Final residual = 8.72572e-07, No Iterations 134
bounding k, min: 9.67714e-16 max: 87344.6 average: 2451.87
ExecutionTime = 254059 s ClockTime = 254375 s

Time = 977.098

Courant Number mean: 0.00468953 max: 0.99971
deltaT = 0.0270118
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 9.17066e-07, No Iterations 84
DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 9.71196e-07, No Iterations 84
DICPCG: Solving for p_rgh, Initial residual = 1.31788e-05, Final residual = 1.1828e-07, No Iterations 55
time step continuity errors : sum local = 4.93554e-07, global = -2.26352e-10, cumulative = 7.68634e-08
DICPCG: Solving for p_rgh, Initial residual = 4.57708e-12, Final residual = 4.57708e-12, No Iterations 0
time step continuity errors : sum local = 2.05612e-05, global = -2.5084e-10, cumulative = 7.66125e-08
DILUPBiCG: Solving for epsilon, Initial residual = 0.00235085, Final residual = 7.90941e-07, No Iterations 76
bounding epsilon, min: 9.50694e-16 max: 2.13945e+08 average: 3.22189e+06
DILUPBiCG: Solving for k, Initial residual = 0.999299, Final residual = 7.18042e-07, No Iterations 86
bounding k, min: 3.55202e-23 max: 82597.7 average: 3430.49
ExecutionTime = 254076 s ClockTime = 254392 s

Time = 977.125

Courant Number mean: 0.00472292 max: 0.999479
deltaT = 0.0270118
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 8.45779e-07, No Iterations 105
DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 9.52527e-07, No Iterations 103
DICPCG: Solving for p_rgh, Initial residual = 0.997841, Final residual = 0.00916657, No Iterations 8
time step continuity errors : sum local = 1.90696e+07, global = 3.26638e-06, cumulative = 3.343e-06
DICPCG: Solving for p_rgh, Initial residual = 0.883009, Final residual = 9.12281e-09, No Iterations 388
time step continuity errors : sum local = 0.298708, global = -5.86849e-05, cumulative = -5.53419e-05
DILUPBiCG: Solving for epsilon, Initial residual = 0.99113, Final residual = 9.38871e-07, No Iterations 25
DILUPBiCG: Solving for k, Initial residual = 0.960113, Final residual = 5.47515e-07, No Iterations 269
bounding k, min: -3.68163e+10 max: 3.4845e+12 average: 1.53007e+09
ExecutionTime = 254106 s ClockTime = 254422 s

Time = 977.153

Courant Number mean: 1.2938e+07 max: 4.73466e+10
deltaT = 5.70512e-13
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 7.2289e-07, No Iterations 273
DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 8.32674e-07, No Iterations 272
DICPCG: Solving for p_rgh, Initial residual = 0.999999, Final residual = 0.00923768, No Iterations 31
time step continuity errors : sum local = 1.23449e-06, global = 5.51295e-13, cumulative = -5.53419e-05
DICPCG: Solving for p_rgh, Initial residual = 1.15602e-05, Final residual = 9.96864e-09, No Iterations 99
time step continuity errors : sum local = 2.37025e-08, global = -1.14165e-09, cumulative = -5.5343e-05
DILUPBiCG: Solving for epsilon, Initial residual = 5.36065e-05, Final residual = 4.28421e-07, No Iterations 1
bounding epsilon, min: -7.54892e+13 max: 2.02045e+24 average: 8.54127e+19
DILUPBiCG: Solving for k, Initial residual = 0.880602, Final residual = 8.68728e-07, No Iterations 603
bounding k, min: 2.87618e-25 max: 7.62765e+18 average: 2.37075e+15
ExecutionTime = 254159 s ClockTime = 254475 s

--> FOAM Warning :
From function Time:: operator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 6 to 7 to distinguish between timeNames at time 977.153
Time = 977.1525

Courant Number mean: 0.00042597 max: 3.14068
deltaT = 1.81652e-13
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 6.74016e-08, No Iterations 8
DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 5.32963e-07, No Iterations 7
DICPCG: Solving for p_rgh, Initial residual = 0.00958667, Final residual = 8.30907e-05, No Iterations 7
time step continuity errors : sum local = 1.14926e-05, global = -4.44635e-10, cumulative = -5.53435e-05
DICPCG: Solving for p_rgh, Initial residual = 8.03935e-24, Final residual = 8.03935e-24, No Iterations 0
time step continuity errors : sum local = 7.61105e-05, global = -4.48859e-10, cumulative = -5.53439e-05
DILUPBiCG: Solving for epsilon, Initial residual = 0.0010099, Final residual = 2.57968e-22, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 9.25828e-07, No Iterations 7
bounding k, min: -2.84558e-18 max: 3.01788e+23 average: 3.81473e+19
ExecutionTime = 254162 s ClockTime = 254478 s

--> FOAM Warning :
From function Time:: operator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 7 to 9 to distinguish between timeNames at time 977.153
Time = 977.152504

Courant Number mean: 0.000329669 max: 2.45201
deltaT = 7.40829e-14
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 8.80591e-07, No Iterations 96
DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 8.49176e-07, No Iterations 95
DICPCG: Solving for p_rgh, Initial residual = 1, Final residual = 0.00866437, No Iterations 9
time step continuity errors : sum local = 4.63765e+21, global = -3.90034e+07, cumulative = -3.90034e+07
DICPCG: Solving for p_rgh, Initial residual = 0.997029, Final residual = 9.81474e-09, No Iterations 407
time step continuity errors : sum local = 4.58984e+13, global = -1.78796e+07, cumulative = -5.6883e+07
DILUPBiCG: Solving for epsilon, Initial residual = 1, Final residual = 9.21145e-07, No Iterations 206
DILUPBiCG: Solving for k, Initial residual = 5.84859e-07, Final residual = 5.84859e-07, No Iterations 0
ExecutionTime = 254189 s ClockTime = 254505 s

--> FOAM Warning :
From function Time:: operator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 9 to 10 to distinguish between timeNames at time 977.153
Time = 977.1525042

Courant Number mean: 4.02526e+20 max: 1.99715e+23
deltaT = 3.70944e-37
DILUPBiCG: Solving for T, Initial residual = 4.90703e-05, Final residual = 4.39301e-08, No Iterations 1
DILUPBiCG: Solving for x, Initial residual = 3.88924e-05, Final residual = 8.27524e-08, No Iterations 1
DICPCG: Solving for p_rgh, Initial residual = 1, Final residual = 0.00973372, No Iterations 21
time step continuity errors : sum local = 4.35008e-07, global = -5.11292e-13, cumulative = -5.6883e+07
DICPCG: Solving for p_rgh, Initial residual = 0.0809365, Final residual = 9.56111e-09, No Iterations 333
time step continuity errors : sum local = 8.18481e-13, global = -1.16131e-16, cumulative = -5.6883e+07
DILUPBiCG: Solving for epsilon, Initial residual = 0.945702, Final residual = 2.34968e-17, No Iterations 1
bounding epsilon, min: -6.64614e+35 max: 1.52246e+54 average: 2.8385e+50
DILUPBiCG: Solving for k, Initial residual = 2.37712e-28, Final residual = 2.37712e-28, No Iterations 0
ExecutionTime = 254198 s ClockTime = 254514 s

--> FOAM Warning :
From function Time:: operator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 10 to 11 to distinguish between timeNames at time 977.153
Time = 977.15250422

Courant Number mean: 0.00200131 max: 0.823054
deltaT = 4.16013e-37
DILUPBiCG: Solving for T, Initial residual = 5.30557e-05, Final residual = 5.04839e-08, No Iterations 1
DILUPBiCG: Solving for x, Initial residual = 4.2115e-05, Final residual = 9.67646e-08, No Iterations 1
DICPCG: Solving for p_rgh, Initial residual = 0.355969, Final residual = 0.00336029, No Iterations 16
time step continuity errors : sum local = 2.68041e-07, global = 6.26921e-13, cumulative = -5.6883e+07
DICPCG: Solving for p_rgh, Initial residual = 0.0759212, Final residual = 9.82876e-09, No Iterations 326
time step continuity errors : sum local = 5.56005e-13, global = -6.32615e-16, cumulative = -5.6883e+07
DILUPBiCG: Solving for epsilon, Initial residual = 0.0511151, Final residual = 9.49615e-19, No Iterations 1
bounding epsilon, min: -1.03846e+34 max: 1.44295e+54 average: 2.32382e+50
DILUPBiCG: Solving for k, Initial residual = 0.000570516, Final residual = 4.39112e-08, No Iterations 1
bounding k, min: -0.00268504 max: 9.82703e+43 average: 1.74739e+39
ExecutionTime = 254207 s ClockTime = 254523 s

--> FOAM Warning :
From function Time:perator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 11 to 12 to distinguish between timeNames at time 977.153
Time = 977.152504221

Courant Number mean: 0.00222505 max: 0.86487
deltaT = 4.64114e-37
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 1.32235e-10, No Iterations 3
DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 3.66992e-13, No Iterations 3
DICPCG: Solving for p_rgh, Initial residual = 0.455152, Final residual = 43.9478, No Iterations 1001
time step continuity errors : sum local = 0.00381397, global = 4.75669e-06, cumulative = -5.6883e+07
DICPCG: Solving for p_rgh, Initial residual = 5.88404e-26, Final residual = 5.88404e-26, No Iterations 0
time step continuity errors : sum local = 0.00383906, global = 4.75692e-06, cumulative = -5.6883e+07
DILUPBiCG: Solving for epsilon, Initial residual = 1, Final residual = 0.102869, No Iterations 1001
bounding epsilon, min: -3.05115e+72 max: 1.48777e+73 average: 1.88875e+68
DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 8240.31, No Iterations 1001
bounding k, min: -4.57565e+84 max: 4.58323e+84 average: 2.52077e+80
ExecutionTime = 254312 s ClockTime = 254629 s

--> FOAM Warning :
From function Time:perator++()
in file db/Time/Time.C at line 1010
Increased the timePrecision from 12 to 13 to distinguish between timeNames at time 977.153
Time = 977.1525042206

Courant Number mean: 0.0221161 max: 9.68442
deltaT = 4.79238e-38
#0 Foam::error:rintStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam:ILUPreconditioner::calcReciprocalD(Foam::Fi eld<double>&, Foam::lduMatrix const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 Foam:ILUPreconditioner:ILUPreconditioner(Foam: :lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5 Foam::lduMatrix:reconditioner::addasymMatrixCons tructorToTable<Foam:ILUPreconditioner>::New(Foam ::lduMatrix::solver const&, Foam::dictionary const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#6 Foam::lduMatrix:reconditioner::New(Foam::lduMatr ix::solver const&, Foam::dictionary const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#7 Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#8 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#9
at buoyantBoussinesqPimpleFoamMF_comb.C:0
#10
in "/home/ng/OpenFOAM/ng-2.1.1/platforms/linux64GccDPOpt/bin/buoyantBoussinesqPimpleFoamMF_comb"
#11 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#12
in "/home/ng/OpenFOAM/ng-2.1.1/platforms/linux64GccDPOpt/bin/buoyantBoussinesqPimpleFoamMF_comb"
Floating point exception (core dumped)

Any insight is appreciated.

Best,
NG
NJG is offline   Reply With Quote

Old   March 28, 2013, 13:31
Default
  #2
ris
Member
 
ri
Join Date: Oct 2012
Posts: 35
Rep Power: 5
ris is on a distinguished road
Hello,
From what I can see your bounding k is very large even in the 1st time step you have posted. You should probably provide more information on what you are trying to solve as it will make it easier for people to assist you.
Back to the problem, you could try modifying your fvschemes/solutions, reducing tolerances etc.

regards,

ris
ris is offline   Reply With Quote

Old   April 5, 2013, 08:49
Default
  #3
NJG
Member
 
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 5
NJG is on a distinguished road
Ris,

Thanks you for your reply. I apologize that it has taken me a while to respond. Another project required my attention and then it has taken me a while to reproduce the problem as you can see that run was a pretty long one in clock time. Unfortunately on my first run I wasn't outputting a log file so I went back and re-ran it doing so. Anyway, let me give you some more info.

Background: I am running a modified version of buoyantBoussinesqPimpleFoam that basically has a person-like object in the center of a cubic domain that is "breathing" out slowly hot CO2 rich air. This air rises due to buoyancy, cools along the ceiling somewhere, and then falls (once it cools enough the CO2 makes it negatively buoyant), typically coming down along the walls. I have included a picture of the run some 800 seconds in showing the profile of the person and the CO2 plume created.

You are absolutely right, at around 865 seconds into the run, for some reason I start to get the message:

bounding k, min:# max:# average:#

Initially and for some time the max listed here is quite low, something like 0.033. But then, later on at around 944 seconds, I get a bounding epsilon as well as follows:

bounding epsilon, min:# max:# average:#

bounding k, min:# max:# average:#

The bounding k is still around 0.033 max and the new bounding epsilon is around 0.156 max. This bounding epsilon doesn't appear every time step, but now it appears off and on for the rest of the run.

Finally, around 949.9 seconds, the max bounding k value suddenly begins to rapidly increase, and and the max bounding epsilon with it, and by around 949.95 seconds the whole run has "exploded". This is due in part to the fact that I am using dynamic time stepping based on a max Courant # of 1, so as k and epsilon rapidly grow, so does the Courant # and thus my time step approaches 0.

So, any ideas why my k and epsilon may be behaving like this?

At present, I am running this thing again (I started at around 864 seconds to save time) and writing at a much tighter interval (every 2 seconds not every 50) and my hope is that this will at least give me a sense of where in the domain I am having these high values of k and epsilon, which hopefully will offer hint about what to do.

Thanks for your consideration.

-NG
Attached Images
File Type: jpg mov.0020.jpg (18.5 KB, 45 views)
NJG is offline   Reply With Quote

Old   April 5, 2013, 10:50
Default
  #4
NJG
Member
 
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 5
NJG is on a distinguished road
A further concern:

In my rerun now I have progressed my "bounding k" times but now see no such issue. This makes me worry the way I started at time 846 s as if it were 0 s was wrong (in terms of boundary conditions in particular). For more detail on what I mean, see my other recent post:

Boundary Field and Wall Functions, time 0 & time >0

-NG
NJG is offline   Reply With Quote

Old   April 6, 2013, 06:46
Default
  #5
ris
Member
 
ri
Join Date: Oct 2012
Posts: 35
Rep Power: 5
ris is on a distinguished road
Hello NG,

Have you tried setting the timestep manually? I have had issues in the past using adjustable time stepping. Also what output does checkMesh give you?

regards,

ris,
ris is offline   Reply With Quote

Old   April 6, 2013, 07:31
Default
  #6
NJG
Member
 
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 5
NJG is on a distinguished road
Well, I suppose I could just set my time step to the stable one I had before, but what does it mean that my k and epsilon are blowing up like that? Won't that give me a huge Courant number?

Also, I have been able to isolate the spike in k as being at my "outflow" surfaces. So, as you see in the picture above, I have an "inflow" surface pumping hot CO2 air into the room (for spatial descriptive purposes think of this like a mouth). If we rotate the slice above 90 degrees I have two surfaces on either side of the pictured pillar that are set at a constant gauge pressure of 0, thus making them outflow surfaces (for spatial descriptive purposes think of these as ears to the mouth).

So for the "bounding k, max: 0.33" at least, these seem concentrated in the few cells directly adjacent to the "ears".

Last edited by NJG; April 6, 2013 at 08:17.
NJG is offline   Reply With Quote

Old   April 6, 2013, 21:45
Default
  #7
NJG
Member
 
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 5
NJG is on a distinguished road
I am now running in k-omega. We'll see if that helps.
NJG is offline   Reply With Quote

Old   May 15, 2014, 13:52
Default k, epsilon and their wall functions
  #8
Senior Member
 
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 5
Sherlock_1812 is on a distinguished road
Dear Nick,

This thread is a year old but I need to revive it.

I am facing a problem similar to yours. I fail to understand how the wall function for k epsilon etc are implemented and what initial values are to be given to them. As a result my solver is diverging very early into my simulation (about 7 to 8 time steps, with epsilon starting off the blow up). Were you able to get past this? Can you throw some light on this issue?

Thanks in advance.
__________________
Regards,

Srivaths
Sherlock_1812 is offline   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
Stable boundaries marcoymarc CFX 33 March 13, 2013 07:39
Courant number fireman FLUENT 4 October 4, 2010 12:54
LES near wall model & courant number kasim CFX 5 March 16, 2008 19:23
IcoFoam parallel woes msrinath80 OpenFOAM Running, Solving & CFD 9 July 22, 2007 02:58
Could anybody help me see this error and give help liugx212 OpenFOAM Running, Solving & CFD 3 January 4, 2006 19:07


All times are GMT -4. The time now is 12:18.