
[Sponsors] 
March 28, 2013, 12:22 
Sudden jump in Courant number

#1 
Member
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 6 
Hello Community,
I was just performing a run based on setting a max courant # and then allowing deltat to be thus determined. It was running fine for a good long while with a pretty much constant deltat, 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.59256e07, No Iterations 60 DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 9.43605e07, 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.40233e08, global = 8.48412e11, cumulative = 7.71956e08 DICPCG: Solving for p_rgh, Initial residual = 3.82801e08, Final residual = 7.92509e09, No Iterations 3 time step continuity errors : sum local = 5.85675e07, global = 1.05916e10, cumulative = 7.70897e08 DILUPBiCG: Solving for epsilon, Initial residual = 0.996153, Final residual = 9.64634e07, No Iterations 122 bounding epsilon, min: 9.50694e16 max: 0.155945 average: 3.60892e05 DILUPBiCG: Solving for k, Initial residual = 0.999998, Final residual = 8.72572e07, No Iterations 134 bounding k, min: 9.67714e16 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.17066e07, No Iterations 84 DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 9.71196e07, No Iterations 84 DICPCG: Solving for p_rgh, Initial residual = 1.31788e05, Final residual = 1.1828e07, No Iterations 55 time step continuity errors : sum local = 4.93554e07, global = 2.26352e10, cumulative = 7.68634e08 DICPCG: Solving for p_rgh, Initial residual = 4.57708e12, Final residual = 4.57708e12, No Iterations 0 time step continuity errors : sum local = 2.05612e05, global = 2.5084e10, cumulative = 7.66125e08 DILUPBiCG: Solving for epsilon, Initial residual = 0.00235085, Final residual = 7.90941e07, No Iterations 76 bounding epsilon, min: 9.50694e16 max: 2.13945e+08 average: 3.22189e+06 DILUPBiCG: Solving for k, Initial residual = 0.999299, Final residual = 7.18042e07, No Iterations 86 bounding k, min: 3.55202e23 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.45779e07, No Iterations 105 DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 9.52527e07, 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.26638e06, cumulative = 3.343e06 DICPCG: Solving for p_rgh, Initial residual = 0.883009, Final residual = 9.12281e09, No Iterations 388 time step continuity errors : sum local = 0.298708, global = 5.86849e05, cumulative = 5.53419e05 DILUPBiCG: Solving for epsilon, Initial residual = 0.99113, Final residual = 9.38871e07, No Iterations 25 DILUPBiCG: Solving for k, Initial residual = 0.960113, Final residual = 5.47515e07, 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.70512e13 DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 7.2289e07, No Iterations 273 DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 8.32674e07, 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.23449e06, global = 5.51295e13, cumulative = 5.53419e05 DICPCG: Solving for p_rgh, Initial residual = 1.15602e05, Final residual = 9.96864e09, No Iterations 99 time step continuity errors : sum local = 2.37025e08, global = 1.14165e09, cumulative = 5.5343e05 DILUPBiCG: Solving for epsilon, Initial residual = 5.36065e05, Final residual = 4.28421e07, 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.68728e07, No Iterations 603 bounding k, min: 2.87618e25 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.81652e13 DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 6.74016e08, No Iterations 8 DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 5.32963e07, No Iterations 7 DICPCG: Solving for p_rgh, Initial residual = 0.00958667, Final residual = 8.30907e05, No Iterations 7 time step continuity errors : sum local = 1.14926e05, global = 4.44635e10, cumulative = 5.53435e05 DICPCG: Solving for p_rgh, Initial residual = 8.03935e24, Final residual = 8.03935e24, No Iterations 0 time step continuity errors : sum local = 7.61105e05, global = 4.48859e10, cumulative = 5.53439e05 DILUPBiCG: Solving for epsilon, Initial residual = 0.0010099, Final residual = 2.57968e22, No Iterations 1 DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 9.25828e07, No Iterations 7 bounding k, min: 2.84558e18 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.40829e14 DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 8.80591e07, No Iterations 96 DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 8.49176e07, 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.81474e09, 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.21145e07, No Iterations 206 DILUPBiCG: Solving for k, Initial residual = 5.84859e07, Final residual = 5.84859e07, 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.70944e37 DILUPBiCG: Solving for T, Initial residual = 4.90703e05, Final residual = 4.39301e08, No Iterations 1 DILUPBiCG: Solving for x, Initial residual = 3.88924e05, Final residual = 8.27524e08, 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.35008e07, global = 5.11292e13, cumulative = 5.6883e+07 DICPCG: Solving for p_rgh, Initial residual = 0.0809365, Final residual = 9.56111e09, No Iterations 333 time step continuity errors : sum local = 8.18481e13, global = 1.16131e16, cumulative = 5.6883e+07 DILUPBiCG: Solving for epsilon, Initial residual = 0.945702, Final residual = 2.34968e17, No Iterations 1 bounding epsilon, min: 6.64614e+35 max: 1.52246e+54 average: 2.8385e+50 DILUPBiCG: Solving for k, Initial residual = 2.37712e28, Final residual = 2.37712e28, 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.16013e37 DILUPBiCG: Solving for T, Initial residual = 5.30557e05, Final residual = 5.04839e08, No Iterations 1 DILUPBiCG: Solving for x, Initial residual = 4.2115e05, Final residual = 9.67646e08, 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.68041e07, global = 6.26921e13, cumulative = 5.6883e+07 DICPCG: Solving for p_rgh, Initial residual = 0.0759212, Final residual = 9.82876e09, No Iterations 326 time step continuity errors : sum local = 5.56005e13, global = 6.32615e16, cumulative = 5.6883e+07 DILUPBiCG: Solving for epsilon, Initial residual = 0.0511151, Final residual = 9.49615e19, 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.39112e08, 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.64114e37 DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 1.32235e10, No Iterations 3 DILUPBiCG: Solving for x, Initial residual = 1, Final residual = 3.66992e13, 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.75669e06, cumulative = 5.6883e+07 DICPCG: Solving for p_rgh, Initial residual = 5.88404e26, Final residual = 5.88404e26, No Iterations 0 time step continuity errors : sum local = 0.00383906, global = 4.75692e06, 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.79238e38 #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_64linuxgnu/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/ng2.1.1/platforms/linux64GccDPOpt/bin/buoyantBoussinesqPimpleFoamMF_comb" #11 __libc_start_main in "/lib/x86_64linuxgnu/libc.so.6" #12 in "/home/ng/OpenFOAM/ng2.1.1/platforms/linux64GccDPOpt/bin/buoyantBoussinesqPimpleFoamMF_comb" Floating point exception (core dumped) Any insight is appreciated. Best, NG 

March 28, 2013, 13:31 

#2 
Member
ri
Join Date: Oct 2012
Posts: 35
Rep Power: 6 
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 

April 5, 2013, 08:49 

#3 
Member
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 6 
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 reran it doing so. Anyway, let me give you some more info. Background: I am running a modified version of buoyantBoussinesqPimpleFoam that basically has a personlike 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 

April 5, 2013, 10:50 

#4 
Member
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 6 
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: http://www.cfdonline.com/Forums/ope...tml#post418575 NG 

April 6, 2013, 06:46 

#5 
Member
ri
Join Date: Oct 2012
Posts: 35
Rep Power: 6 
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, 

April 6, 2013, 07:31 

#6 
Member
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 6 
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. 

April 6, 2013, 21:45 

#7 
Member
Nick Gutschow
Join Date: Jan 2013
Posts: 36
Rep Power: 6 
I am now running in komega. We'll see if that helps.


May 15, 2014, 13:52 
k, epsilon and their wall functions

#8 
Senior Member
Srivathsan N
Join Date: Jan 2013
Location: India
Posts: 101
Rep Power: 6 
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 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Courant number  fireman  FLUENT  5  July 28, 2016 12:55 
Stable boundaries  marcoymarc  CFX  33  March 13, 2013 07:39 
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 