|
[Sponsors] |
What is causing this simpleFoam floating point exception? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 10, 2013, 03:30 |
What is causing this simpleFoam floating point exception?
|
#1 |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
I am using the turbineSiting tutorial as a template for a simulation using real complex terrain, but using my own geometry.
When I run Allrun, it terminates without showing me any errors, but the simulation is not complete: the time step folders are missing or present but empty. The logs have numerous errors. I've attached log.simpleFoam and 0.org/U. I am using the same filename for the terrain file, terrain.stl. Beyond that I have commented out the searchableBox fields in snappyHexMeshDict. |
|
September 10, 2013, 06:48 |
|
#2 |
Senior Member
|
Can you also post you case files? From log it is clear that atmBoundaryLayerInletVelocity doesn't like your IC or BC setup. But it's rather difficult to figure out the real problem.
|
|
September 10, 2013, 14:54 |
|
#3 |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
Hi, Alexey. The case has many files, and the whole case is 5.8 MB compressed. Which ones do you need to see?
I've attached files from 0.org and system... |
|
September 10, 2013, 16:26 |
|
#4 |
Senior Member
|
According to the line from log.simpleFoam
Code:
[2] #3 log in "/lib64/libm.so.6" Code:
forAll (Ustar_, i) { Ustar_[i] = kappa_*Uref_/(log((Href_ + z0_[i])/max(z0_[i] , 0.001))); } Code:
forAll(coord, i) { if ((coord[i] - zGround_[i]) < Href_) { Un[i] = (Ustar_[i]/kappa_) * log((coord[i] - zGround_[i] + z0_[i])/max(z0_[i], 0.001)); } else { Un[i] = Uref_; } } |
|
September 10, 2013, 17:19 |
|
#5 |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
Thanks for this, I had difficulty interpreting the stack trace, I don't have any experience with C++.
I just read somewhere that the terrain file must exceed the boundary file in area. In fact, I sized the boundary to the exact size of the terrain file. Could that be a cause of this error? The mesh itself checks out (output attached). zGround is assigned from a variable in U. Where is it defined? EDIT: I see it's in ABLConditions -- sure enough, zGround exceeds my Z axis height by five metres. This was a value I just took over from the existing tutorial. |
|
September 10, 2013, 18:04 |
|
#6 |
Senior Member
|
zGround comes from 0.org/include/ABLConditions and it is equal to 935.0. coords scalar field is defines as patch().Cf() & z. In your case (also ABLConditions) z = (0 0 1), coords is simple z coordinates of the patch face centres. Href is 20, z0 is 0.1, so Href_ + z0_[i] is 20.1 all over the patch and log((Href_ + z0_[i])/max(z0_[i] , 0.001)) is well defined. Finally coord[i] - zGround_[i] + z0_[i] can be negative if coord[i] will go below 935.
And as checkMesh showed Code:
Overall domain bounding box (0 0 0) (38850 27450 900) |
|
September 10, 2013, 18:19 |
|
#7 |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
The Z-height in blockMeshDict is 930. zGround had been set to 935. I just changed it to 925 and then to 600, but I still get the same error.
|
|
September 10, 2013, 18:28 |
|
#8 | |
Senior Member
|
Quote:
I guess to see the mesh I need only blockMeshDict and terrain.stl, are they really so large? |
||
September 10, 2013, 18:35 |
|
#9 | |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
Quote:
blockMeshDict is small, but the terrain.stl file is 3.4 MB compressed. Let me see if there is a way I could get it to you. E-mail? In the meantime, here is blockMeshDict: Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( ( 0 0 0 ) ( 38850 0 0 ) ( 38850 27450 0 ) ( 0 27450 0 ) ( 0 0 900 ) ( 38850 0 900 ) ( 38850 27450 900 ) ( 0 27450 900 ) ); blocks ( hex (0 1 2 3 4 5 6 7) (30 30 20) simpleGrading (1 1 1) ); edges ( ); boundary ( outlet { type patch; faces ( (2 6 5 1) ); } sides { type patch; faces ( (1 5 4 0) (3 7 6 2) ); } inlet { type patch; faces ( (0 4 7 3) ); } ground { type wall; faces ( (0 3 2 1) ); } top { type patch; faces ( (4 5 6 7) ); } ); mergePatchPairs ( ); // ************************************************************************* // |
||
September 10, 2013, 18:55 |
|
#11 |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
I set zGround to 0 and the error is gone (hurra), however the simulation still fails with a different error:
Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.2.1-57f3c3617a2d Exec : simpleFoam -parallel Date : Sep 10 2013 Time : 23:47:47 Host : "machine" PID : 3289 Case : /home/user/OpenFOAM/Spessart nProcs : 4 Slaves : 3 ( "machine.3290" "machine.3291" "machine.3292" ) Pstream initialized with: floatTransfer : 0 nProcsSimpleSum : 0 commsType : nonBlocking polling iterations : 0 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting RAS turbulence model kEpsilon bounding k, min: 0 max: 1.3 average: 1.3 bounding epsilon, min: 0 max: 0.0498677166159 average: 0.01 kEpsilonCoeffs { Cmu 0.09; C1 1.44; C2 1.92; C3 -0.33; sigmak 1; sigmaEps 1.11; Prt 1; } Creating fintite volume options from fvOptions Selecting finite volume options model type actuationDiskSource Source: disk1 - applying source for all time - selecting cells using cellSet actuationDisk1 - selected 0 cell(s) with volume 0 - creating actuation disk zone: disk1 [0] [1] [1] [1] --> FOAM FATAL IO ERROR: [1] [1] [1] file: unknown [1] FOAM parallel run exiting [1] [0] -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- [0] --> FOAM FATAL IO ERROR: [0] [0] [0] file: unknown [0] FOAM parallel run exiting [0] [2] [2] [2] --> FOAM FATAL IO ERROR: [2] [2] [2] file: unknown [2] FOAM parallel run exiting [2] [3] [3] [3] --> FOAM FATAL IO ERROR: [3] [3] [3] file: unknown [3] FOAM parallel run exiting [3] -------------------------------------------------------------------------- mpirun has exited due to process rank 2 with PID 3291 on node machine exiting without calling "finalize". This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). -------------------------------------------------------------------------- [machine:03287] 3 more processes have sent help message help-mpi-api.txt / mpi-abort [machine:03287] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages |
|
September 10, 2013, 18:59 |
|
#12 | |
Senior Member
|
Quote:
Maybe something is wrong with my OpenFOAM installation but snappyHexMesh wasn't able to produce good quality mesh (it wasn't able to remove all severely non-orthogonal faces). Or maybe I missed some essential steps for generation of the mesh (I've done just blockMesh && snappyHexMesh). After generation of the mesh I've checked Z-range of the inlet patch and it is 112-900. So I guess zGround should be lower than 112. |
||
September 10, 2013, 19:16 |
|
#13 |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
Great, thank you! As I mentioned, the error goes away when I set zGround to 0. How did you determine the z-extents?
Did you run snappyHexMesh with the -overwrite option? That's how I did it. I commented out the actuation disks in fvOptions, and now simpleFoam is running! This mesh and terrain file is turning out to be much more complex than I anticipated, I have no idea how long it will take to process... it might be hours, but hopefully not more than one or two. It may still produce a useless result, even if it works now. Is there any way I can simplify it to make it run more efficiently without sacrificing a lot of resolution? |
|
September 10, 2013, 19:23 |
|
#14 | |
Senior Member
|
Quote:
Concerning accelerating (I guess that's what you've meant with "run more efficiently") for the first coarse run you can try to play with residuals in fvSolution so the solvers will think they are converged more quickly. Though this can lead to diverging solution. Can't propose any other suggestions right now |
||
September 10, 2013, 19:37 |
|
#15 | |
New Member
Stephen Bosch
Join Date: Feb 2013
Location: Germany
Posts: 22
Rep Power: 13 |
Quote:
|
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Floating point exception error | Alan | OpenFOAM Running, Solving & CFD | 11 | July 1, 2021 22:51 |
Floating point exception with pimpleDyMFoam | ebah6 | OpenFOAM Running, Solving & CFD | 9 | November 1, 2017 06:58 |
simpleFoam Floating point exception error -help | sudhasran | OpenFOAM Running, Solving & CFD | 3 | March 12, 2012 17:23 |
Pipe flow in settlingFoam floating point exception | jochemvandenbosch | OpenFOAM Running, Solving & CFD | 4 | February 16, 2012 04:24 |
block-structured mesh for t-junction | Robert@cfd | ANSYS Meshing & Geometry | 20 | November 11, 2011 05:59 |