|
[Sponsors] |
July 12, 2016, 10:59 |
error while running simpleFoam
|
#1 |
Member
Almond Wong
Join Date: May 2016
Posts: 68
Rep Power: 10 |
Hi,
I encountered this error while running simpleFoam. The mesh was generated via starccm+ and converted to openfoam and it has many errors which I got no idea how to correct. check mesh: Code:
Checking geometry... Overall domain bounding box (-1700 -1700 -0.0609899498522) (1700 1700 1700) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (1.42609071585e-16 -2.4048241372e-17 -6.00713898584e-16) OK. ***High aspect ratio cells found, Max aspect ratio: 2321.80561146, number of cells 38 <<Writing 38 cells with high aspect ratio to set highAspectRatioCells ***Zero or negative face area detected. Minimum area: 0 <<Writing 2 zero area faces to set zeroAreaFaces Min volume = 5.77958093971e-07. Max volume = 72000000. Total volume = 19642664014.9. Cell volumes OK. Mesh non-orthogonality Max: 138.710743423 average: 26.4326068355 *Number of severely non-orthogonal (> 70 degrees) faces: 17152. ***Number of non-orthogonality errors: 12. <<Writing 17164 non-orthogonal faces to set nonOrthoFaces ***Error in face pyramids: 128 faces are incorrectly oriented. <<Writing 125 faces with incorrect orientation to set wrongOrientedFaces ***Max skewness = 303.983653331, 918 highly skew faces detected which may impair the quality of the results <<Writing 918 skew faces to set skewFaces Coupled point location match (average 0) OK. Failed 5 mesh checks. Following that, the case was copy and build using existing tutorial file. Any suggestions as to why this occur and how to address it? Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::surfaceInterpolation::makeWeights() const at ??:? #4 Foam::surfaceInterpolation::weights() const at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #7 ? at ??:? Floating point exception (core dumped) gp815@aews254-017:~/OpenFOAM/gp815-2.4.0/run/ttturbineSitingTryOut/convert$ paraFoam created temporary 'convert.OpenFOAM' |
|
July 12, 2016, 11:20 |
|
#2 |
Senior Member
|
Hi,
Could you post checkMesh output? Since the error is in makeWeights, I guess, there could be problems with cell volumes/face areas. |
|
July 12, 2016, 11:22 |
|
#3 |
Member
Almond Wong
Join Date: May 2016
Posts: 68
Rep Power: 10 |
Hi, I just added in the checkMesh results and it is really bad. Then now, how can it be improved as it is imported from ccm.
|
|
July 12, 2016, 11:54 |
|
#4 |
Senior Member
|
Well, the problem could be caused by default precision settings in tutorial files. Open system/controlDict file, find writeFormat key, usually it look like
Code:
writeFormat ascii; writeCompression off; Code:
writeFormat binary; writeCompression on; Then you have problem of VERY high non-orthogonality (maybe as a consequence of write precision, maybe it is really mesh problem), so you need to increase nNonOrthogonalCorrectors in system/fvSolution to 4 (let's start with this value), change gradSchemes to leastSquares (instead of Gauss linear). |
|
July 12, 2016, 14:07 |
|
#5 | |
Member
Almond Wong
Join Date: May 2016
Posts: 68
Rep Power: 10 |
Quote:
|
||
July 12, 2016, 16:17 |
|
#6 |
Senior Member
|
Short answer:
You can have your doubts and still try suggestion and MAYBE mesh conversion will be different and you can proceed with simulation. Or you can have your doubts and do nothing. So you rest with your old mesh and no way to run simulation. Long answer: writeFormat in controlDict affects the way files are written to disk. If it is ascii, then writePrecision parameter is used to limit number of digits after floating point. By default it is 6, so if you have two points with distance below 1e-6, they will have same coordinates, and it COULD lead to zero-area faces. If you change writeFormat to binary, write precision becomes "double precision" (search for float vs double) as OpenFOAM usually is built with WM_PRECISION_OPTION = DP. So if you have close points they are resolved as different and area of the face becomes non-zero. Frequently this problem appears in wedge-type meshes when with writeFormat=ascii/writePrecision=6 OpenFOAM complains about non-planar patches, while with writeFormat=binary everything is OK. Last edited by alexeym; July 12, 2016 at 16:20. Reason: typos |
|
July 13, 2016, 12:00 |
|
#7 |
Member
Almond Wong
Join Date: May 2016
Posts: 68
Rep Power: 10 |
Hi!!!
I managed to make away with the zero area by redoing the mesh!! Noticed that there are several warning from OF. By any chance you know what do some of them means? warning message: Code:
Starting time loop --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 714, 4(374041 601969 354682 601919), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 714, 4(374041 601969 354682 601919), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 900, 4(442157 442153 442122 442128), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 900, 4(442157 442153 442122 442128), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 1657, 4(374042 601971 354683 601920), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 1657, 4(374042 601971 354683 601920), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 714, 4(374041 601969 354682 601919), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 714, 4(374041 601969 354682 601919), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 1962, 4(442158 442154 442124 442129), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 1962, 4(442158 442154 442124 442129), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 900, 4(442157 442153 442122 442128), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 900, 4(442157 442153 442122 442128), produces a valid tet decomposition. --> FOAM Warning : From function tetIndices polyMeshTetDecomposition::triangleTetIndices(const polyMesh&, label, label, label) in file meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C at line 643 No base point for face 3437, 4(374043 601973 354684 601921), produces a valid tet decomposition. . .. .. . . . --> FOAM Warning : Suppressing any further warnings. |
|
July 13, 2016, 17:31 |
|
#8 |
Senior Member
|
Unfortunately I do not know if these failures to find base point affects final mesh quality (you can check it with checkMesh -allGeometry -allTopology).
|
|
July 14, 2016, 06:03 |
|
#9 |
Member
Almond Wong
Join Date: May 2016
Posts: 68
Rep Power: 10 |
The checkMesh result is shown in this link: https://drive.google.com/open?id=0B5...k11cXcyTk5rWHM
I continued with the simulation and the time step exploded after 95 iterations. Then simpleFoam crash with this message: Code:
//********************************************************************** #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #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 ??:? #4 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::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 ??:? #5 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:? #6 Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:? #7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:? #8 ? at ??:? #9 ? at ??:? #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #11 ? at ??:? Floating point exception (core dumped) |
|
July 14, 2016, 07:37 |
|
#10 |
Senior Member
|
Well, you got rid of faces with zero area, yet mesh is rather strange and I do not know if it is a problem of conversion from ccm to OpenFOAM or a problem of the mesh itself. Non-orthogonality of 135 is something phenomenal.
So to proceed, please, post your fvSolution and fvSchemes (or at least post the name of tutorial, where you took these files). Since you got low quality mesh, you need special selection of discretization schemes and solution settings (see for example http://www.wolfdynamics.com/images/p...sandtricks.pdf). And finally concerning error you have posted: GAMG linear solver was not able to solve matrix generated from pressure equation. There could be lots of reasons for the error: bad mesh, inconsistent boundary conditions, bad settings for the solver, etc, etc. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Error running simpleFoam in parallel | Yuby | OpenFOAM Running, Solving & CFD | 14 | October 7, 2021 05:38 |
Segmentation Fault 11 Running simpleFoam with new turbulence model | Jack001 | OpenFOAM Running, Solving & CFD | 3 | June 24, 2015 14:29 |
Differences simpleFoam vs. pimpleFoam / RASModel.H vs turbulenceModel.H | uli | OpenFOAM Programming & Development | 7 | January 26, 2013 16:01 |
Problem running simpleFoam with kOmegaSST turbulence model | matzbanni | OpenFOAM Running, Solving & CFD | 5 | November 3, 2012 07:45 |
What do you CFD guys do during a long simulation running? | bearcat | Main CFD Forum | 5 | July 23, 2009 09:08 |