|
[Sponsors] |
September 27, 2023, 11:13 |
snappyHexMesh does not work
|
#1 |
Member
Join Date: Jun 2011
Location: Germany
Posts: 59
Rep Power: 15 |
Hello,
I need help. 1. blockmesh grid creation 2. snappyHexMesh with Fluid.stl --> leads into an error and I do not know why. Can someone tell me, what I do wrong at the attached case file? Last edited by Siassei; September 28, 2023 at 15:06. |
|
September 27, 2023, 11:31 |
|
#2 |
Senior Member
Yann
Join Date: Apr 2012
Location: France
Posts: 1,235
Rep Power: 29 |
Hello,
Could you please post what error you are getting ? Please read this thread in order to maximize your chances to get help: How to give enough info to get help |
|
September 27, 2023, 11:35 |
|
#3 |
Member
Join Date: Jun 2011
Location: Germany
Posts: 59
Rep Power: 15 |
Code:
snappyHexMesh /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2306 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : _fbf00d6b-20230626 OPENFOAM=2306 version=2306 Arch : "LSB;label=32;scalar=64" Exec : snappyHexMesh Date : Sep 27 2023 Time : 14:33:57 Host : 316689b2cf39 PID : 257 I/O : uncollated Case : /home/openfoam nProcs : 1 trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 5, maxFileModificationPolls 20) allowSystemOperations : Allowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Read mesh in = 0.12 s Overall mesh bounding box : (-0.055 -0.001 0) (0.105 0 0.15) Relative tolerance : 1e-11 Absolute matching distance : 2.19319401787e-12 Reading refinement surfaces. Read refinement surfaces in = 0 s Reading refinement shells. Read refinement shells in = 0 s Setting refinement level of surface to be consistent with shells. Checked shell refinement in = 0 s Reading features. Read extendedFeatureEdgeMesh Fluid.extendedFeatureEdgeMesh points : 62 edges : 68 boundingBox : (-55 -1 0) (105 0 150) point classification : convex feature points : 8 concave feature points : 0 mixed feature points : 4 other (non-feature) points : 50 edge classification : external (convex angle) edges : 58 internal (concave angle) edges : 0 flat region edges : 0 open edges : 10 multiply connected edges : 0 Refinement level according to distance to "Fluid.extendedFeatureEdgeMesh" (62 points, 68 edges). level 0 for all cells within 0 metre. Read features in = 0.01 s Determining initial surface intersections ----------------------------------------- Edge intersection testing: Number of edges : 96310 Number of edges to retest : 0 Number of intersected edges : 0 Edge intersection testing: Number of edges : 96310 Number of edges to retest : 96310 Number of intersected edges : 0 Calculated surface intersections in = 0.07 s Initial mesh : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Setting refinement level of surface to be consistent with curvature. Checked curvature refinement in = 0.01 s Adding patches for surface regions ---------------------------------- Patch Type Region ----- ---- ------ Added patches in = 0 s Edge intersection testing: Number of edges : 96310 Number of edges to retest : 0 Number of intersected edges : 0 Decomposition method none [1] Refinement phase ---------------- Found point (0.01 -0.0005 0.005) in cell 865 on processor 0 Feature refinement iteration 0 ------------------------------ Marked for refinement due to explicit features : 0 cells. Determined cells to refine in = 0.14 s Selected for feature refinement : 0 cells (out of 24000) Stopping refining since too few cells selected. Surface refinement iteration 0 ------------------------------ Marked for refinement due to surface intersection : 0 cells. Determined cells to refine in = 0 s Selected for refinement : 0 cells (out of 24000) Stopping refining since too few cells selected. Removing mesh beyond surface intersections ------------------------------------------ Setting cellZones according to locationsInMesh: Location : (0.01 -0.0005 0.005) cellZone : none For cellZone none found point (0.01 -0.0005 0.005) in global region 0 out of 1 regions. --> FOAM Warning : From void Foam::meshRefinement::nearestFace(const labelUList&, const Foam::bitSet&, Foam::autoPtr<Foam::mapDistribute>&, Foam::labelList&, Foam::label) const in file meshRefinement/meshRefinement.C at line 515 Did not visit some faces, e.g. face 0 at (-0.054 -0.0005 0.0005) Keeping all cells containing inside points Selected for keeping : 24000 cells. Edge intersection testing: Number of edges : 96310 Number of edges to retest : 0 Number of intersected edges : 0 Big gap refinement iteration 0 ------------------------------ Determined cells to refine in = 0.08 s Selected for refinement : 0 cells (out of 24000) Stopping refining since too few cells selected. Shell refinement iteration 0 ---------------------------- Marked for refinement due to distance to explicit features : 0 cells. Marked for refinement due to refinement shells : 0 cells. Determined cells to refine in = 0 s Selected for internal refinement : 0 cells (out of 24000) Stopping refining since too few cells selected. Dangling coarse cells refinement iteration 0 -------------------------------------------- Determined cells to refine in = 0 s Selected for refinement : 0 cells (out of 24000) Stopping refining since too few cells selected. Dangling coarse cells refinement iteration 0 -------------------------------------------- Determined cells to refine in = 0 s Selected for refinement : 0 cells (out of 24000) Stopping refining since too few cells selected. Refinement transition refinement iteration 0 -------------------------------------------- Determined cells to refine in = 0 s Selected for refinement : 0 cells (out of 24000) Stopping refining since too few cells selected. Splitting mesh at surface intersections --------------------------------------- Introducing baffles for 0 faces that are intersected by the surface. Setting cellZones according to locationsInMesh: Location : (0.01 -0.0005 0.005) cellZone : none For cellZone none found point (0.01 -0.0005 0.005) in global region 0 out of 1 regions. Created baffles in = 0.02 s After introducing baffles : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Introducing baffles to block off problem cells ---------------------------------------------- markFacesOnProblemCells : marked 0 additional internal faces to be converted into baffles. Analyzed problem cells in = 0.03 s Introducing baffles to delete problem cells. Created baffles in = 0 s After introducing baffles : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Setting cellZones according to locationsInMesh: Location : (0.01 -0.0005 0.005) cellZone : none For cellZone none found point (0.01 -0.0005 0.005) in global region 0 out of 1 regions. Remove unreachable sections of mesh ----------------------------------- Split mesh in = 0.01 s After subsetting : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Introducing zones for interfaces -------------------------------- Setting cellZones according to locationsInMesh: Location : (0.01 -0.0005 0.005) cellZone : none For cellZone none found point (0.01 -0.0005 0.005) in global region 0 out of 1 regions. Setting faceZones according to neighbouring cellZones: Edge intersection testing: Number of edges : 96310 Number of edges to retest : 0 Number of intersected edges : 0 Handling cells with snap problems --------------------------------- Introducing baffles for 0 faces that are intersected by the surface. Setting cellZones according to locationsInMesh: Location : (0.01 -0.0005 0.005) cellZone : none For cellZone none found point (0.01 -0.0005 0.005) in global region 0 out of 1 regions. Created baffles in = 0.08 s After introducing baffles : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Introducing baffles to block off problem cells ---------------------------------------------- markFacesOnProblemCells : marked 0 additional internal faces to be converted into baffles. Analyzed problem cells in = 0.02 s Introducing baffles to delete problem cells. Created baffles in = 0.01 s After introducing baffles : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Setting cellZones according to locationsInMesh: Location : (0.01 -0.0005 0.005) cellZone : none For cellZone none found point (0.01 -0.0005 0.005) in global region 0 out of 1 regions. Remove unreachable sections of mesh ----------------------------------- Split mesh in = 0.01 s After subsetting : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Merge free-standing baffles --------------------------- freeStandingBaffles : detected 0 free-standing baffles out of 0 Detected free-standing baffles : 0 Merged free-standing baffles in = 0.01 s dupNonManifoldPoints : Found : 0 non-manifold points (out of 48622) Detected unsplittable baffles : 0 Merge refined boundary faces ---------------------------- Merging 0 sets of faces. No faces merged ... Merging all points on surface that - are used by only two boundary faces and - make an angle with a cosine of more than 0.707106781187. No straight edges simplified and no points removed ... Refined mesh : cells:24000 faces:96310 points:48622 Cells per refinement level: 0 24000 Writing mesh to time 0 Wrote mesh in = 0.18 s. Mesh refined in = 0.59 s. Morphing phase -------------- Duplicating 0 points on faceZones of type boundary Snapping to features in 10 iterations ... Constructing mesh displacer ... Using mesh parameters { maxNonOrtho 65; maxBoundarySkewness 20; maxInternalSkewness 4; maxConcave 80; minVol 1e-13; minTetQuality 1e-15; minArea -1; minTwist 0.02; minDeterminant 1e-08; minFaceWeight 0.05; minVolRatio 0.01; minTriangleTwist -1; nSmoothScale 4; errorReduction 0.75; relaxed { maxNonOrtho 75; minTetQuality -1e+30; minTwist -1; } } Checking initial mesh ... Checking faces in error : non-orthogonality > 65 degrees : 0 faces with face pyramid volume < 1e-13 : 0 faces with face-decomposition tet quality < 1e-15 : 0 faces with concavity > 80 degrees : 0 faces with skewness > 4 (internal) or 20 (boundary) : 0 faces with interpolation weights (0..1) < 0.05 : 0 faces with volume ratio of neighbour cells < 0.01 : 0 faces with face twist < 0.02 : 0 faces on cells with determinant < 1e-08 : 0 Detected 0 illegal faces (concave, zero area or negative cell pyramid volume) Checked initial mesh in = 0.05 s Smoothing patch points ... Smoothing iteration 0 Found 0 non-manifold point(s). Scaling iteration 0 Moving mesh using displacement scaling : min:1 max:1 [stack trace] ============= #1 Foam::sigFpe::sigHandler(int)sh: 1: addr2line: not found addr2line failed #2 ?sh: 1: addr2line: not found addr2line failed #3 Foam::fvGeometryScheme::setMeshPhi() constsh: 1: addr2line: not found addr2line failed #4 Foam::fvGeometryScheme::movePoints()sh: 1: addr2line: not found addr2line failed #5 Foam::basicFvGeometryScheme::movePoints()sh: 1: addr2line: not found addr2line failed #6 Foam::surfaceInterpolation::updateGeom()sh: 1: addr2line: not found addr2line failed #7 Foam::polyMesh::movePoints(Foam::Field<Foam::Vector<double> > const&)sh: 1: addr2line: not found addr2line failed #8 Foam::fvMesh::movePoints(Foam::Field<Foam::Vector<double> > const&)sh: 1: addr2line: not found addr2line failed #9 Foam::motionSmootherAlgo::scaleMesh(Foam::List<int>&, Foam::List<Foam::Pair<int> > const&, Foam::dictionary const&, Foam::dictionary const&, bool, int)sh: 1: addr2line: not found addr2line failed #10 Foam::motionSmootherAlgo::scaleMesh(Foam::List<int>&, Foam::List<Foam::Pair<int> > const&, bool, int)sh: 1: addr2line: not found addr2line failed #11 Foam::snappySnapDriver::preSmoothPatch(Foam::meshRefinement const&, Foam::snapParameters const&, int, Foam::List<Foam::Pair<int> > const&, Foam::motionSmoother&)sh: 1: addr2line: not found addr2line failed #12 Foam::snappySnapDriver::doSnap(Foam::dictionary const&, Foam::dictionary const&, Foam::meshRefinement::FaceMergeType, double, double, Foam::snapParameters const&)sh: 1: addr2line: not found addr2line failed #13 ?sh: 1: addr2line: not found addr2line failed #14 ?sh: 1: addr2line: not found addr2line failed #15 __libc_start_mainsh: 1: addr2line: not found addr2line failed #16 ?sh: 1: addr2line: not found addr2line failed ============= Floating point exception (core dumped) |
|
September 27, 2023, 11:45 |
|
#4 |
Senior Member
Yann
Join Date: Apr 2012
Location: France
Posts: 1,235
Rep Power: 29 |
Thanks, it looks like you don't have any patches to refine in your surface refinement:
Code:
Adding patches for surface regions ---------------------------------- Patch Type Region ----- ---- ------ Added patches in = 0 s Minimal example (you'll have to adjust the refinement levels): Code:
refinementSurfaces { Fluid.stl { level (0 0); } } |
|
September 27, 2023, 11:53 |
|
#5 |
Member
Join Date: Jun 2011
Location: Germany
Posts: 59
Rep Power: 15 |
Thanks, but the error still happens
|
|
September 27, 2023, 14:53 |
|
#6 |
Member
Join Date: Jun 2011
Location: Germany
Posts: 59
Rep Power: 15 |
The problem occurs at the snap section. The first smoothing operation leads into an floating point error.
Code:
hecked initial mesh in = 0.49 s Smoothing patch points ... Smoothing iteration 0 Found 660 non-manifold point(s). Scaling iteration 0 Moving mesh using displacement scaling : min:1 max:1 [stack trace] ============= #1 Foam::sigFpe::sigHandler(int)sh: 1: addr2line: not found addr2line failed #2 ?sh: 1: addr2line: not found addr2line failed #3 Foam::fvGeometryScheme::setMeshPhi() constsh: 1: addr2line: not found addr2line failed #4 Foam::fvGeometryScheme::movePoints()sh: 1: addr2line: not found addr2line failed #5 Foam::basicFvGeometryScheme::movePoints()sh: 1: addr2line: not found addr2line failed #6 Foam::surfaceInterpolation::updateGeom()sh: 1: addr2line: not found addr2line failed #7 Foam::polyMesh::movePoints(Foam::Field<Foam::Vector<double> > const&)sh: 1: addr2line: not found addr2line failed #8 Foam::fvMesh::movePoints(Foam::Field<Foam::Vector<double> > const&)sh: 1: addr2line: not found addr2line failed #9 Foam::motionSmootherAlgo::scaleMesh(Foam::List<int>&, Foam::List<Foam::Pair<int> > const&, Foam::dictionary const&, Foam::dictionary const&, bool, int)sh: 1: addr2line: not found addr2line failed #10 Foam::motionSmootherAlgo::scaleMesh(Foam::List<int>&, Foam::List<Foam::Pair<int> > const&, bool, int)sh: 1: addr2line: not found addr2line failed #11 Foam::snappySnapDriver::preSmoothPatch(Foam::meshRefinement const&, Foam::snapParameters const&, int, Foam::List<Foam::Pair<int> > const&, Foam::motionSmoother&)sh: 1: addr2line: not found addr2line failed #12 Foam::snappySnapDriver::doSnap(Foam::dictionary const&, Foam::dictionary const&, Foam::meshRefinement::FaceMergeType, double, double, Foam::snapParameters const&)sh: 1: addr2line: not found addr2line failed #13 ?sh: 1: addr2line: not found addr2line failed #14 ?sh: 1: addr2line: not found Last edited by Siassei; September 28, 2023 at 15:06. |
|
September 27, 2023, 15:25 |
|
#7 |
Senior Member
M
Join Date: Dec 2017
Posts: 703
Rep Power: 13 |
Your blockMesh is on a wrong scale. Its bounding box is
Code:
boundingBox: (-0.055 -0.001 0) (0.105 0 0.15) Code:
boundingBox: (-55 -1 0) (105 0 150) Code:
scale 0.001; And I noticed your geometry has an open face (its missing completely), so that will probably cause a different output than what you are looking for if it stays as it is. General advice: always check visually what you can check visually. |
|
September 28, 2023, 04:46 |
|
#8 |
Member
Join Date: Jun 2011
Location: Germany
Posts: 59
Rep Power: 15 |
I fixed the opening in the stl file (gmsh bug).
The problem is still the same, but interessting things goes on. Does snappyHexMesh support meshes with 1x element in one direction ("pseudo 2D")? Code:
Smoothing patch points ... Smoothing iteration 0 Found 0 non-manifold point(s). Scaling iteration 0 Moving mesh using displacement scaling : min:1 max:1 [stack trace] ============= #1 Foam::sigFpe::sigHandler(int) in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so #2 ? in /lib/x86_64-linux-gnu/libc.so.6 #3 Foam::fvGeometryScheme::setMeshPhi() const in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #4 Foam::fvGeometryScheme::movePoints() in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #5 Foam::basicFvGeometryScheme::movePoints() in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #6 Foam::surfaceInterpolation::updateGeom() in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #7 Foam::polyMesh::movePoints(Foam::Field<Foam::Vector<double> > const&) in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so #8 Foam::fvMesh::movePoints(Foam::Field<Foam::Vector<double> > const&) in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so #9 Foam::motionSmootherAlgo::scaleMesh(Foam::List<int>&, Foam::List<Foam::Pair<int> > const&, Foam::dictionary const&, Foam::dictionary const&, bool, int) in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libdynamicMesh.so #10 Foam::motionSmootherAlgo::scaleMesh(Foam::List<int>&, Foam::List<Foam::Pair<int> > const&, bool, int) in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libdynamicMesh.so #11 Foam::snappySnapDriver::preSmoothPatch(Foam::meshRefinement const&, Foam::snapParameters const&, int, Foam::List<Foam::Pair<int> > const&, Foam::motionSmoother&) in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libsnappyHexMesh.so #12 Foam::snappySnapDriver::doSnap(Foam::dictionary const&, Foam::dictionary const&, Foam::meshRefinement::FaceMergeType, double, double, Foam::snapParameters const&) in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/lib/libsnappyHexMesh.so #13 ? in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/bin/snappyHexMesh #14 ? in /lib/x86_64-linux-gnu/libc.so.6 #15 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #16 ? in /usr/lib/openfoam/openfoam2306/platforms/linux64GccDPInt32Opt/bin/snappyHexMesh ============= Last edited by Siassei; September 28, 2023 at 15:06. |
|
September 28, 2023, 05:01 |
|
#9 |
Senior Member
Yann
Join Date: Apr 2012
Location: France
Posts: 1,235
Rep Power: 29 |
Snappy does not support pseudo 2D mesh (it will also refine cells in the 3rd direction) .
I don't think the 1 element thickness should be an issue, however it's bad practice to have the blockMesh boundaries perfectly overlapping the STL faces. It often leads to wrongly defined patches where snappy mixed the blockMesh boundaries and STL boundaries. 2 options
After meshing with snappy, if you had to refine some areas you will end up with several cells along the 3rd direction. You will have to use extrudeMesh to extrude one of the side patch in order to create a mesh fit for 2D simulation (one cell thickness) |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
PROBLEM USING rhoCentralFoam AND snappyHexMesh | davidvzq | OpenFOAM Running, Solving & CFD | 0 | May 27, 2021 01:01 |
[snappyHexMesh] snappyHexMesh runs endless - I need general advise | TeresaT | OpenFOAM Meshing & Mesh Conversion | 5 | November 17, 2015 03:50 |
potentialFoam & simpleFoam crashes after snappyhexmesh [parallel execution] | pilot320 | OpenFOAM Running, Solving & CFD | 10 | November 12, 2015 17:56 |
First order in fvSchemes does not seem to work | gerritgroot | OpenFOAM Running, Solving & CFD | 0 | September 30, 2015 21:06 |
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! | sc298 | OpenFOAM Meshing & Mesh Conversion | 2 | March 27, 2011 22:11 |