|
[Sponsors] |
January 6, 2011, 05:14 |
underdeterminedCells
|
#1 |
Member
Robert Ong
Join Date: Aug 2010
Posts: 86
Rep Power: 15 |
Dear All,
I keep encounter the underdeterminedCells problem and really appreciate if you can help me with this. Here is the checkMesh output at SHM -latestTime folder: Time = 0.003 Mesh stats points: 634900 faces: 1536336 internal faces: 1358718 cells: 470885 boundary patches: 9 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 330057 prisms: 32100 wedges: 0 pyramids: 0 tet wedges: 1841 tetrahedra: 18 polyhedra: 106869 Checking topology... Boundary definition OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology Bounding box inlet 277 346 ok (non-closed singly connected) (-4.72261 -2.45232 -10.0353) (-4.59171 6.63503 1.74641) patient_Outlet7 280 469 ok (non-closed singly connected) (-10.1504 -55.2556 -112.911) (-7.43396 -52.0717 -110.325) patient_Outlet6 96 148 ok (non-closed singly connected) (-68.4308 11.8798 -164.197) (-67.262 13.2621 -162.795) patient_Outlet5 331 436 ok (non-closed singly connected) (-103.498 1.02312 -130.839) (-100.359 2.27901 -128.027) patient_Outlet4 22 38 ok (non-closed singly connected) (-103.626 -11.5322 -104.36) (-102.943 -11.0494 -103.605) patient_Outlet3 174 261 ok (non-closed singly connected) (-75.9318 4.84919 -20.7391) (-74.3726 7.82684 -18.8701) patient_Outlet2 72 132 ok (non-closed singly connected) (-90.9039 76.1677 -53.2535) (-89.7788 77.6239 -51.9731) patient_Outlet1 164 223 ok (non-closed singly connected) (-64.8448 129.496 -98.3191) (-61.9272 130.703 -97.6571) patient_Patient2 176202 214951 multiply connected (shared edge) (-103.626 -64.5097 -166.667) (-4.59171 130.703 5.02298) <<Writing 4 conflicting points to set nonManifoldPoints Checking geometry... Overall domain bounding box (-103.626 -64.5097 -166.667) (-4.59171 130.703 5.02298) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-3.86952e-17 1.71227e-16 3.76657e-17) OK. Max cell openness = 3.13562e-16 OK. Max aspect ratio = 7.75377 OK. Minumum face area = 0.00112404. Maximum face area = 7.71469. Face area magnitudes OK. Min volume = 0.000432306. Max volume = 11.2818. Total volume = 20464.4. Cell volumes OK. Mesh non-orthogonality Max: 64.8085 average: 14.498 Non-orthogonality check OK. Face pyramids OK. Max skewness = 3.78346 OK. Min/max edge length = 0.0316528 1.5 OK. *There are 4325 faces with concave angles between consecutive edges. Max concave angle = 78.5315 degrees. <<Writing 4325 faces with concave angles to set concaveFaces Face flatness (1 = flat, 0 = butterfly) : average = 0.995389 min = 0.115482 *There are 21 faces with ratio between projected and actual area < 0.8 Minimum ratio (minimum flatness, maximum warpage) = 0.115482 <<Writing 21 warped faces to set warpedFaces Cell determinant (wellposedness) : minimum: 0 average: 14.9775 ***Cells with small determinant found, number of cells: 7 <<Writing 7 under-determined cells to set underdeterminedCells Failed 1 mesh checks. End The SHM setting: /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object snappyHexMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Which of the steps to run castellatedMesh true; snap true; addLayers true; // Geometry. Definition of all surfaces. All surfaces are of class // searchableSurface. // Surfaces are used // - to specify refinement for any mesh cell intersecting it // - to specify refinement for any mesh cell inside/outside/near // - to 'snap' the mesh boundary to the surface geometry { patient.stl { type triSurfaceMesh; name patient; } }; // Settings for the castellatedMesh generation. castellatedMeshControls { // Refinement parameters // ~~~~~~~~~~~~~~~~~~~~~ // While refining maximum number of cells per processor. This is basically // the number of cells that fit on a processor. If you choose this too small // it will do just more refinement iterations to obtain a similar mesh. maxLocalCells 1000000; // Overall cell limit (approximately). Refinement will stop immediately // upon reaching this number so a refinement level might not complete. // Note that this is the number of cells before removing the part which // is not 'visible' from the keepPoint. The final number of cells might // actually be a lot less. maxGlobalCells 2000000; // The surface refinement loop might spend lots of iterations refining just a // few cells. This setting will cause refinement to stop if <= minimumRefine // are selected for refinement. Note: it will at least do one iteration // (unless the number of cells to refine is 0) minRefinementCells 10; // Number of buffer layers between different levels. // 1 means normal 2:1 refinement restriction, larger means slower // refinement. nCellsBetweenLevels 3; // Explicit feature edge refinement // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Specifies a level for any cell intersected by its edges. // This is a featureEdgeMesh, read from constant/triSurface for now. features ( //{ // file "someLine.eMesh"; // level 2; //} ); // Surface based refinement // ~~~~~~~~~~~~~~~~~~~~~~~~ // Specifies two levels for every surface. The first is the minimum level, // every cell intersecting a surface gets refined up to the minimum level. // The second level is the maximum level. Cells that 'see' multiple // intersections where the intersections make an // angle > resolveFeatureAngle get refined up to the maximum level. refinementSurfaces { patient { // Surface-wise min and max refinement level level (3 4); } } // Resolve sharp angles resolveFeatureAngle 30; // Region-wise refinement // ~~~~~~~~~~~~~~~~~~~~~~ // Specifies refinement level for cells in relation to a surface. One of // three modes // - distance. 'levels' specifies per distance to the surface the // wanted refinement level. The distances need to be specified in // descending order. // - inside. 'levels' is only one entry and only the level is used. All // cells inside the surface get refined up to the level. The surface // needs to be closed for this to be possible. // - outside. Same but cells outside. refinementRegions { // refinementBox // { // mode inside; // levels ((1E15 4)); // } } // Mesh selection // ~~~~~~~~~~~~~~ // After refinement patches get added for all refinementSurfaces and // all cells intersecting the surfaces get put into these patches. The // section reachable from the locationInMesh is kept. // NOTE: This point should never be on a face, always inside a cell, even // after refinement. locationInMesh (-6 0 0); } // Settings for the snapping. snapControls { //- Number of patch smoothing iterations before finding correspondence // to surface nSmoothPatch 3; //- Relative distance for points to be attracted by surface feature point // or edge. True distance is this factor times local // maximum edge length. tolerance 4.0; //- Number of mesh displacement relaxation iterations. nSolveIter 30; //- Maximum number of snapping relaxation iterations. Should stop // before upon reaching a correct mesh. nRelaxIter 5; } // Settings for the layer addition. addLayersControls { relativeSizes true; // Per final patch (so not geometry!) the layer information layers { } // Expansion factor for layer mesh expansionRatio 1.0; //- Wanted thickness of final added cell layer. If multiple layers // is the // thickness of the layer furthest away from the wall. // Relative to undistorted size of cell outside layer. finalLayerThickness 0.3; //- Minimum thickness of cell layer. If for any reason layer // cannot be above minThickness do not add layer. // Relative to undistorted size of cell outside layer. minThickness 0.1; //- If points get not extruded do nGrow layers of connected faces that are // also not grown. This helps convergence of the layer addition process // close to features. nGrow 1; // Advanced settings //- When not to extrude surface. 0 is flat surface, 90 is when two faces // make straight angle. featureAngle 30; //- Maximum number of snapping relaxation iterations. Should stop // before upon reaching a correct mesh. nRelaxIter 3; // Number of smoothing iterations of surface normals nSmoothSurfaceNormals 1; // Number of smoothing iterations of interior mesh movement direction nSmoothNormals 3; // Smooth layer thickness over surface patches nSmoothThickness 10; // Stop layer growth on highly warped cells maxFaceThicknessRatio 0.5; // Reduce layer growth where ratio thickness to medial // distance is large maxThicknessToMedialRatio 0.3; // Angle used to pick up medial axis points minMedianAxisAngle 130; // Create buffer region for new layer terminations nBufferCellsNoExtrude 0; // Overall max number of layer addition iterations nLayerIter 50; } // Generic mesh quality settings. At any undoable phase these determine // where to undo. meshQualityControls { //- Maximum non-orthogonality allowed. Set to 180 to disable. maxNonOrtho 65; //- Max skewness allowed. Set to <0 to disable. maxBoundarySkewness 20; maxInternalSkewness 4; //- Max concaveness allowed. Is angle (in degrees) below which concavity // is allowed. 0 is straight face, <0 would be convex face. // Set to 180 to disable. maxConcave 80; //- Minimum projected area v.s. actual area. Set to -1 to disable. minFlatness 0.5; //- Minimum pyramid volume. Is absolute volume of cell pyramid. // Set to very negative number (e.g. -1E30) to disable. minVol 1e-13; //- Minimum face area. Set to <0 to disable. minArea -1; //- Minimum face twist. Set to <-1 to disable. dot product of face normal //- and face centre triangles normal minTwist 0.02; //- minimum normalised cell determinant //- 1 = hex, <= 0 = folded or flattened illegal cell minDeterminant 0.001; //- minFaceWeight (0 -> 0.5) minFaceWeight 0.02; //- minVolRatio (0 -> 1) minVolRatio 0.01; //must be >0 for Fluent compatibility minTriangleTwist -1; // Advanced //- Number of error distribution iterations nSmoothScale 4; //- amount to scale back displacement at error points errorReduction 0.75; } // Advanced // Flags for optional output // 0 : only write final meshes // 1 : write intermediate meshes // 2 : write volScalarField with cellLevel for postprocessing // 4 : write current intersections as .obj files debug 0; // Merge tolerance. Is fraction of overall bounding box of initial mesh. // Note: the write tolerance needs to be higher than this. mergeTolerance 1E-6; // ************************************************** *********************** // Here is what the underdeterminedCells and mesh in paraview looks like underdeterminedCells.jpg mesh.jpg Thanks for your time and attention. Kind Regards, Robert |
|
January 17, 2011, 14:24 |
|
#2 |
Member
bruce
Join Date: May 2009
Location: Germany
Posts: 42
Rep Power: 16 |
Hi
Do you add layers? I don't see this in the "addLayersControls" If you added, It seems you might have bad mesh after layer addition. Have you done checkMesh for snapped mesh ( time = 2 ) ? Do you still have concave, warped faces ? if that is the case try to tight your quality settings , of course that will make approximations to real cad ! na |
|
January 17, 2011, 22:12 |
|
#3 |
Member
Robert Ong
Join Date: Aug 2010
Posts: 86
Rep Power: 15 |
Hi Bruce,
Thanks for the reply. I didn't add any layers. Below is the checkMesh output: ================================================== ======== Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 357911 faces: 1043700 internal faces: 1014300 cells: 343000 boundary patches: 1 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 343000 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 0 Checking topology... Boundary definition OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology inlet 29400 29402 ok (closed singly connected) Checking geometry... Overall domain bounding box (-107 -70 -170) (-4.5 140 10) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-1.90981e-16 -1.51374e-17 5.27562e-15) OK. Max cell openness = 1.20272e-16 OK. Max aspect ratio = 2.08926 OK. Minumum face area = 3.69236. Maximum face area = 7.71476. Face area magnitudes OK. Min volume = 11.0771. Max volume = 11.2943. Total volume = 3.8367e+06. Cell volumes OK. Mesh non-orthogonality Max: 0.632047 average: 0.299557 Non-orthogonality check OK. Face pyramids OK. Max skewness = 0.0197593 OK. Mesh OK. --> FOAM Warning : From function polyMesh::readUpdateState polyMesh::readUpdate() in file meshes/polyMesh/polyMeshIO.C at line 205 Number of patches has changed. This may have unexpected consequences. Proceed with care. Time = 0.001 Mesh stats points: 659397 faces: 1517757 internal faces: 1240017 cells: 430694 boundary patches: 9 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 388746 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 41948 Checking topology... Boundary definition OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology inlet 277 374 ok (non-closed singly connected) patient_Outlet7 536 623 ok (non-closed singly connected) patient_Outlet6 159 189 ok (non-closed singly connected) patient_Outlet5 503 586 ok (non-closed singly connected) patient_Outlet4 34 50 ok (non-closed singly connected) patient_Outlet3 283 341 ok (non-closed singly connected) patient_Outlet2 150 181 ok (non-closed singly connected) patient_Outlet1 193 237 ok (non-closed singly connected) patient_Patient2 275605 277293 multiply connected (shared edge) <<Writing 4 conflicting points to set nonManifoldPoints Checking geometry... Overall domain bounding box (-103.565 -64.375 -166.625) (-4.59286 130.625 5.17859) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (8.42463e-17 -1.9502e-16 -1.76402e-15) OK. Max cell openness = 2.11325e-16 OK. Max aspect ratio = 2.0903 OK. Minumum face area = 0.014352. Maximum face area = 7.71469. Face area magnitudes OK. Min volume = 0.002691. Max volume = 11.2818. Total volume = 20490.5. Cell volumes OK. Mesh non-orthogonality Max: 42.6624 average: 11.4072 Non-orthogonality check OK. Face pyramids OK. Max skewness = 1.01276 OK. Mesh OK. Time = 0.002 Mesh stats points: 659397 faces: 1517757 internal faces: 1240017 cells: 430694 boundary patches: 9 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 388746 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 41948 Checking topology... Boundary definition OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology inlet 277 374 ok (non-closed singly connected) patient_Outlet7 526 608 ok (non-closed singly connected) patient_Outlet6 159 188 ok (non-closed singly connected) patient_Outlet5 468 545 ok (non-closed singly connected) patient_Outlet4 28 42 ok (non-closed singly connected) patient_Outlet3 296 355 ok (non-closed singly connected) patient_Outlet2 146 172 ok (non-closed singly connected) patient_Outlet1 200 243 ok (non-closed singly connected) patient_Patient2 275640 277311 multiply connected (shared edge) <<Writing 4 conflicting points to set nonManifoldPoints Checking geometry... Overall domain bounding box (-103.626 -64.5097 -166.667) (-4.59171 130.703 5.02362) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-3.67117e-16 5.83083e-16 4.88723e-16) OK. Max cell openness = 3.15439e-16 OK. Max aspect ratio = 7.6818 OK. Minumum face area = 0.00112404. Maximum face area = 7.71469. Face area magnitudes OK. Min volume = 0.000523331. Max volume = 11.2818. Total volume = 20478.5. Cell volumes OK. Mesh non-orthogonality Max: 64.1816 average: 14.1079 Non-orthogonality check OK. Face pyramids OK. Max skewness = 3.82228 OK. Mesh OK. Time = 0.003 Mesh stats points: 659382 faces: 1517673 internal faces: 1240017 cells: 430694 boundary patches: 9 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 388682 prisms: 0 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 42012 Checking topology... Boundary definition OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces ... Patch Faces Points Surface topology inlet 277 374 ok (non-closed singly connected) patient_Outlet7 505 605 ok (non-closed singly connected) patient_Outlet6 154 187 ok (non-closed singly connected) patient_Outlet5 444 541 ok (non-closed singly connected) patient_Outlet4 28 42 ok (non-closed singly connected) patient_Outlet3 281 354 ok (non-closed singly connected) patient_Outlet2 134 168 ok (non-closed singly connected) patient_Outlet1 193 241 ok (non-closed singly connected) patient_Patient2 275640 277311 multiply connected (shared edge) <<Writing 4 conflicting points to set nonManifoldPoints Checking geometry... Overall domain bounding box (-103.626 -64.5097 -166.667) (-4.59171 130.703 5.02362) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-3.67117e-16 5.83083e-16 4.88723e-16) OK. Max cell openness = 3.15439e-16 OK. Max aspect ratio = 7.6818 OK. Minumum face area = 0.00112404. Maximum face area = 7.71469. Face area magnitudes OK. Min volume = 0.000523331. Max volume = 11.2818. Total volume = 20478.5. Cell volumes OK. Mesh non-orthogonality Max: 64.1816 average: 14.1079 Non-orthogonality check OK. Face pyramids OK. Max skewness = 3.82228 OK. Mesh OK. End ================================================== I think I've played around with the qualityControl settings before, but this setting gave me a slightly better checkMesh output. Thanks for your time and attention. Kind Regards, Robert |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] snappyHexMesh - backward facing step | hcl734 | OpenFOAM Meshing & Mesh Conversion | 4 | November 20, 2015 09:57 |
No convergence because of underdeterminedCells? | Tobi-R | OpenFOAM | 4 | September 13, 2011 05:02 |