
[Sponsors] 
November 20, 2014, 08:33 
Error in chtMultiRegionFoam

#1 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
Hello,
i have a problem in solving a case with chtMultiRegionFoam. I get an error message and I can not undertand what the problem is. I have created an easy case with a simple geometry and this case is running without any problems. Then i replaced the "easy" geometry with a complex one and the case started to run but crashes after some seconds. The following error message i got: [...] Solving for solid region platte DICPCG: Solving for h, Initial residual = 1, Final residual = 3.102837e07, No Iterations 5 Min/max T:min(T) [0 0 0 1 0 0 0] 708.3925 max(T) [0 0 0 1 0 0 0] 790.7728 ExecutionTime = 166.2 s ClockTime = 234 s Region: air Courant Number mean: 0.5470849 max: 7.974256 Region: platte Diffusion Number mean: 0.0001257544 max: 0.0001329767 deltaT = 0.0002029867 Time = 0.00200155 Solving for fluid region air diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 DILUPBiCG: Solving for Ux, Initial residual = 0.2788012, Final residual = 8.959984e07, No Iterations 37 DILUPBiCG: Solving for Uy, Initial residual = 0.1237281, Final residual = 8.137486e07, No Iterations 36 DILUPBiCG: Solving for Uz, Initial residual = 0.2438061, Final residual = 8.851508e07, No Iterations 36 DILUPBiCG: Solving for h, Initial residual = 0.2280842, Final residual = 7.831367e07, No Iterations 36 Min/max T:86.47079 790.6948 GAMG: Solving for p_rgh, Initial residual = 0.09683618, Final residual = 0.0007611302, No Iterations 3 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors (air): sum local = 3.468532e05, global = 4.339116e06, cumulative = 1.073209e05 [1] #0 Foam::error:rintStack(Foam::Ostream&) at ??:? [1] #1 Foam::sigFpe::sigHandler(int) at ??:? [1] #2 in "/lib/x86_64linuxgnu/libc.so.6" [1] #3 Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const at ??:? [1] #4 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMa trix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:? [1] #5 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:? [1] #6 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) at ??:? [1] #7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:? [1] #8 [1] at ??:? [1] #9 __libc_start_main in "/lib/x86_64linuxgnu/libc.so.6" [1] #10 [1] at ??:? [TPT430sMDLX:14212] *** Process received signal *** [TPT430sMDLX:14212] Signal: Floating point exception (8) [TPT430sMDLX:14212] Signal code: (6) [TPT430sMDLX:14212] Failing at address: 0x3e800003784 [TPT430sMDLX:14212] [ 0] /lib/x86_64linuxgnu/libc.so.6(+0x36c30) [0x7fd317fc3c30] [TPT430sMDLX:14212] [ 1] /lib/x86_64linuxgnu/libc.so.6(gsignal+0x39) [0x7fd317fc3bb9] [TPT430sMDLX:14212] [ 2] /lib/x86_64linuxgnu/libc.so.6(+0x36c30) [0x7fd317fc3c30] [TPT430sMDLX:14212] [ 3] /home/michael/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam10GAMGSolver5scaleERNS_5Fi eldIdEES3_RKNS_9lduMatrixERKNS_10FieldFieldIS1_dEE RKNS_8UPtrListIKNS_17lduInterfaceFieldEEERKS2_h+0x be) [0x7fd31910eb6e] [TPT430sMDLX:14212] [ 4] /home/michael/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam10GAMGSolver6VcycleERKNS_7 PtrListINS_9lduMatrix8smootherEEERNS_5FieldIdEERKS 8_S9_S9_S9_S9_S9_RNS1_IS8_EESD_h+0x222d) [0x7fd31911341d] [TPT430sMDLX:14212] [ 5] /home/michael/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam10GAMGSolver5solveERNS_5Fi eldIdEERKS2_h+0x4ae) [0x7fd319113ffe] [TPT430sMDLX:14212] [ 6] /home/michael/OpenFOAM/OpenFOAM2.3.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixIdE15solveSegr egatedERKNS_10dictionaryE+0x132) [0x7fd31ae00122] [TPT430sMDLX:14212] [ 7] chtMultiRegionFoam(_ZN4Foam8fvMatrixIdE5solveERKNS _10dictionaryE+0x14f) [0x48968f] [TPT430sMDLX:14212] [ 8] chtMultiRegionFoam() [0x431872] [TPT430sMDLX:14212] [ 9] /lib/x86_64linuxgnu/libc.so.6(__libc_start_main+0xf5) [0x7fd317faeec5] [TPT430sMDLX:14212] [10] chtMultiRegionFoam() [0x434fee] [TPT430sMDLX:14212] *** End of error message ***  mpirun noticed that process rank 1 with PID 14212 on node TPT430sMDLX exited on signal 8 (Floating point exception).  

November 20, 2014, 09:16 
What about your timestep ?

#2 
Member
Laurent DASTUGUE
Join Date: May 2014
Location: Paris, France
Posts: 64
Rep Power: 3 
Hello Michael,
can you tell us more about your timestep please ? Do you define a maximal value for the Courant number or do you fix a value for the timestep, or maybe another thing ? I am currently working with chtMultiRegionFoam and actually the value of the courant number is a key value. Maybe a Courant number greater than 7 is too much in the case you are simulating. In three words : tell us more. Laurent 

November 20, 2014, 09:24 

#3 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
Hi Laurent,
i have specified a max. Courant number of 0.9 so this should not be the problem. Here is what i have defined in the controlDict file: application chtMultiRegionFoam; startFrom latestTime; startTime 0.001; stopAt endTime; endTime 600; deltaT 0.001; writeControl adjustableRunTime; writeInterval 2; purgeWrite 0; writeFormat ascii; writePrecision 7; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; maxCo 0.9; maxDi 10.0; adjustTimeStep yes; And to give more information about my case the attached picture is showing the case. Blue arrows are the inlet (minY), velocity BC with a speed of 15m/s BC specified in the changeDict, the opposite side (maxY)outlet. U { internalField uniform (0 0 0); boundaryField { ".*" { type fixedValue; value uniform (0 0 0); } minY { type fixedValue; value uniform (0 15 0); } maxY { type inletOutlet; inletValue uniform (0 0 0); value uniform (0 15 0); } } The other boundary are wall BC. 

November 20, 2014, 10:14 

#4 
Member
Laurent DASTUGUE
Join Date: May 2014
Location: Paris, France
Posts: 64
Rep Power: 3 
Hi Michael,
I understand your message but if you limit the value of the Courant number with maxCo = 0.9, you should not have Courant numbers equals to 7.9 as we can see on your results. Your controlDict seems good but i think you have to put a lower value for the timestep. You put deltaT = 0.001 but i think in your case you should use deltaT = 1e4. With it OpenFOAM will adjust the timestep to have Courant lower than 0.9. Thanks to the command : adjustTimeStep true, it should work. Tell me what happens please, it's interesting for me too. Laurent 

November 20, 2014, 10:17 

#5 
Member
Laurent DASTUGUE
Join Date: May 2014
Location: Paris, France
Posts: 64
Rep Power: 3 
Another question :
At which iteration does the error appear ? The error you copied in the first message, when did she occur ? If this is not the first iteration, can you tell me what are the previous values of Courant and timesteps ? 

November 20, 2014, 10:47 

#6 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
Hi Laurent,
I have copied all what i got from the log file. It seems for me that the error occur not in the first iteration. I set the time step to 1e5 and I have the same error at the same stage. It seems that the Temperature is the problem, see Min/max T:86.47079 790.6948 in the logfile. The Temperature at the case with time step 1e5 is Min/Max 876 1968.  No finite volume options present Region: air Courant Number mean: 0.02518538 max: 0.5 Region: platte Diffusion Number mean: 6.991947e05 max: 7.393502e05 deltaT = 0.001798561 Region: air Courant Number mean: 0.04529745 max: 0.8992806 Region: platte Diffusion Number mean: 0.0001257544 max: 0.0001329767 deltaT = 0.001798561 Time = 0.00179856 Solving for fluid region air diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 8.750894e07, No Iterations 35 DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 9.656731e07, No Iterations 33 DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 9.484505e07, No Iterations 63 DILUPBiCG: Solving for h, Initial residual = 1, Final residual = 8.38986e07, No Iterations 84 Min/max T:300 737.9726 GAMG: Solving for p_rgh, Initial residual = 0.9927845, Final residual = 0.0043827, No Iterations 6 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors (air): sum local = 0.0002022969, global = 9.427607e06, cumulative = 9.427607e06 GAMG: Solving for p_rgh, Initial residual = 0.09379622, Final residual = 0.000382585, No Iterations 4 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors (air): sum local = 0.0002579665, global = 3.034633e06, cumulative = 6.392974e06 DILUPBiCG: Solving for epsilon, Initial residual = 0.1579261, Final residual = 7.899828e07, No Iterations 16 DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 2.952635e07, No Iterations 80 Solving for solid region platte DICPCG: Solving for h, Initial residual = 1, Final residual = 3.102837e07, No Iterations 5 Min/max T:min(T) [0 0 0 1 0 0 0] 708.3925 max(T) [0 0 0 1 0 0 0] 790.7728 ExecutionTime = 166.2 s ClockTime = 234 s Region: air Courant Number mean: 0.5470849 max: 7.974256 Region: platte Diffusion Number mean: 0.0001257544 max: 0.0001329767 deltaT = 0.0002029867 Time = 0.00200155 Solving for fluid region air diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 DILUPBiCG: Solving for Ux, Initial residual = 0.2788012, Final residual = 8.959984e07, No Iterations 37 DILUPBiCG: Solving for Uy, Initial residual = 0.1237281, Final residual = 8.137486e07, No Iterations 36 DILUPBiCG: Solving for Uz, Initial residual = 0.2438061, Final residual = 8.851508e07, No Iterations 36 DILUPBiCG: Solving for h, Initial residual = 0.2280842, Final residual = 7.831367e07, No Iterations 36 Min/max T:86.47079 790.6948 GAMG: Solving for p_rgh, Initial residual = 0.09683618, Final residual = 0.0007611302, No Iterations 3 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors (air): sum local = 3.468532e05, global = 4.339116e06, cumulative = 1.073209e05 [1] #0 Foam::error:rintStack(Foam::Ostream&) at ??:? [1] #1 Foam::sigFpe::sigHandler(int) at ??:? [1] #2 in "/lib/x86_64linuxgnu/libc.so.6" [1] #3 Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField Thank you. Michael 

November 20, 2014, 11:00 

#7 
Member
Laurent DASTUGUE
Join Date: May 2014
Location: Paris, France
Posts: 64
Rep Power: 3 
Yes i agree with you, the first iteration seems to be correct.
One thing is answering me : you say in the controlDict that you want the job start from 0.001, but when i look the first iteration, it start from 0, doesn't it ? Maybe the problem is not there but it seems strange... Anyway the thing we have to understand is : Why does the Courant increase so much ? I am convinced that the error you have come from the Courant, it is too big for a transient job. Laurent 

November 20, 2014, 11:21 

#8 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
I agree with you, the job starts from 0.
The strange thing is that another job, exactly same BC and Initial conditions, only difference is the geometry runs well. I have no idea where to look for the error. I changed the starting time and the job crashes as well. 

November 20, 2014, 14:30 

#9 
New Member
Kaufman
Join Date: Jul 2013
Posts: 17
Rep Power: 4 
You can have a try to turn off adjustableTimeStep. Let timeStep fix to like 1*e5. To see when Time = 0.00200155 is the case blow up or not.


November 20, 2014, 16:08 

#10 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
I think the problem is something with the mesh. The solid domain consists of geometry with e.g. a plate with 3mm thickness and the fluid sourrounding is 0.6 m.
I tried to do with simple plate of 3mm thickness and got the same error. I tried to do with a plate of 10mm thickness and the case runs well. 

November 21, 2014, 06:04 

#11 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
Hello everybody,
i did last nigth a lot of trials and i have no idea what the problem is. The complex geometry doesn´t run  crash after first iteration i exchanged the complex geometry with a plate, 3mm thickness and the job with exactly same parameters run. The time step of 0.0001s should be small enougth for a courant number of 1. Has anybody any idea what i else can do? 

November 21, 2014, 14:50 

#12 
New Member
Kaufman
Join Date: Jul 2013
Posts: 17
Rep Power: 4 
There are several reasons might cause it blow up such as improper boundary conditions setup etc. If you can upload your test case, it might be easiler to find out where the promblem is.
Have a nice weekend 

November 22, 2014, 04:48 

#13 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
I have uploaded the whole case to a dropbox folder.
See link below: https://www.dropbox.com/sh/1z89bylbg...lwaXk4vFa?dl=0 There are two files, one with only the case and Preprocessing (Filename: M01_TESTAUSSCH_3_07_poly08_7_Co09_keon.tar.gz) and the other with the crashed simulation (Filenmae: M01_TESTAUSSCH_3_07_poly08_7_Co09_keon_includinglogfiles.tar.gz) (logfiles included). I hope this help to solve the problem 

November 24, 2014, 10:53 

#14 
Member
Laurent DASTUGUE
Join Date: May 2014
Location: Paris, France
Posts: 64
Rep Power: 3 
Hello Michael,
i can see that others persons have come to discuss this problem. Good thing. You say that the job runs when you use another geometry. Have you tried the command checkMesh with the complex geometry? Maybe it can help you to see where are the problems... Laurent 

November 24, 2014, 11:29 

#15 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
HI Laurent,
yes i did the checkMesh and OF says the Mesh is OK. 

November 26, 2014, 20:20 

#16 
New Member
Kaufman
Join Date: Jul 2013
Posts: 17
Rep Power: 4 
Hi,
Could you briefly discribe your test case? Is the geometry an enclosure? In your test case, I look at all patch type for air zone are all wall type. But in 0/air/U dictionary like minY { type fixedValue; value uniform ( 0 15 0 ); } maxY { type inletOutlet; value uniform ( 0 15 0 ); inletValue uniform ( 0 0 0 ); } you specified a velocity for walls? Does that mean walls move in your case? Last edited by kmefun; November 26, 2014 at 22:58. 

November 27, 2014, 01:48 

#17 
New Member
Join Date: Mar 2014
Posts: 23
Rep Power: 3 
The test case is a geometry which is surrounded by air. The air should move towards the geometry with an airvelocity of 15m/s.
In the picture you can see the case setup visualized. The blue arrow should show the "inlet" velocity, on the opposite site is the outlet. The others are walls. You mentioned that every boundary is defined as wall. Yes this is right. In the blockMeshDict I defined everything initially as wall because I think this has no influence on the simulation. Later I do changeDictionaryDict and here I define the right BC. Regards michael 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Error in thermophysical properties (chtMultiRegionFoam)  mukut  OpenFOAM PreProcessing  17  September 3, 2014 07:54 
Custom boundary condition: unexpected behavior with chtMultiRegionFoam  leroyv  OpenFOAM Programming & Development  3  February 1, 2014 08:49 
Error in chtMultiRegionFoam  kirankarki  OpenFOAM  5  October 24, 2012 17:20 
FOAM FATAL IO ERROR for chtMultiRegionFoam  xiaoyoyo  OpenFOAM Running, Solving & CFD  0  May 8, 2012 16:49 
Embed explicitSetValue in chtMultiRegionFoam  samiam1000  OpenFOAM  2  April 18, 2012 05:14 