|
[Sponsors] |
[snappyHexMesh] What is an under-determined cell? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 14, 2012, 05:08 |
What is an under-determined cell?
|
#1 |
New Member
Lydia Schulze
Join Date: Jan 2012
Location: Karlsruhe, Germany
Posts: 20
Rep Power: 14 |
Hello FOAMers,
currently we are trying to mesh a rather big, complex geometry with the snappyHexMesh tool. Unfortunately, we are always getting lots of "under.determined cells" which occur after the first meshing step (= in the castellated mesh). Does anyone have an idea what the criteria for these "under-determined cells" is? And how can they be avoided After extracting them I loaded the VTK-file in paraview - the cells look rectangular, no irregularity visible - see attached image. Since I'm having about 700 cells, i don't dare to just delete them from my mesh. Did anyone experience similar problems or maybe have an advise for solving this problem? I think remeshing doesn't really help.... Thanks in advance! Regards, Lydia |
|
November 14, 2012, 14:07 |
|
#2 |
Senior Member
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 740
Rep Power: 28 |
You may want to check if this is even a problem. Run checkMesh on your case and if it tells you its okay, then don't worry about them.
I'm thinking under-determined cells is a designation for snappyHexMesh in assessing mesh quality. As long as your final mesh passes muster I would go ahead with it. |
|
November 16, 2012, 03:16 |
|
#3 |
New Member
tarek
Join Date: Nov 2012
Posts: 2
Rep Power: 0 |
After getting around 6k under-determined cells in my grid I had a closer look at them in paraview and found out that every under-determined cell has two opposite faces that have no connection to another cell.
So this could be the criterion of checkMesh to locate under-determined Cells. In the attached pictures u can see the filtered under-determined cells marked in red. |
|
November 16, 2012, 13:08 |
|
#4 |
Senior Member
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 740
Rep Power: 28 |
Looks like these occur in regions where the STL domain is "thin" relative to the background hex mesh. What does the final snapped mesh look like, and what is the output from checkMesh when you run it on the final mesh?
|
|
January 29, 2013, 06:33 |
|
#5 |
New Member
Join Date: Jun 2010
Location: Germany
Posts: 13
Rep Power: 16 |
When you have a look at the source code of the check mesh utility, you will see that there are two kinds of underdetermined cells.
The first kind of cells do have two or less free internal faces that do not belong to boundary patches. This can lead to numerical errors, for example when a tet element has 3 boundary faces. About the second kind of cells I cannot tell you much. I still don't know what's going on there. But it has something to do with the ration of one face area and the complete element area. Does anyone else have further information about that? |
|
March 23, 2015, 09:31 |
|
#6 | |
Member
Timm Severin
Join Date: Mar 2014
Location: Munich
Posts: 63
Rep Power: 12 |
Quote:
Code:
bool Foam::polyMeshGeometry::checkCellDeterminant ( const bool report, const scalar warnDet, const polyMesh& mesh, const vectorField& faceAreas, const labelList& checkFaces, const labelList& affectedCells, labelHashSet* setPtr ) { const cellList& cells = mesh.cells(); scalar minDet = GREAT; scalar sumDet = 0.0; label nSumDet = 0; label nWarnDet = 0; forAll(affectedCells, i) { const cell& cFaces = cells[affectedCells[i]]; tensor areaSum(tensor::zero); scalar magAreaSum = 0; forAll(cFaces, cFaceI) { label faceI = cFaces[cFaceI]; scalar magArea = mag(faceAreas[faceI]); magAreaSum += magArea; areaSum += faceAreas[faceI]*(faceAreas[faceI]/(magArea+VSMALL)); } scalar scaledDet = det(areaSum/(magAreaSum+VSMALL))/0.037037037037037; minDet = min(minDet, scaledDet); sumDet += scaledDet; nSumDet++; if (scaledDet < warnDet) { if (setPtr) { // Insert all faces of the cell. forAll(cFaces, cFaceI) { label faceI = cFaces[cFaceI]; setPtr->insert(faceI); } } nWarnDet++; } } // Reporting stuff // ... } At sort of off topic: I have been googling and cfd-onlining all kind of checkMesh errors lately, and it's quite often hard work of gathering hints and explanations here and there.. would anyone appreciate (and help) collecting that information in a checkMesh-errors wiki-page? -Timm
__________________
PhD Student at the Institute of Biochemical Engineering at TU München Modelling of fluid dynamics in open photobioreactors. System: OpenFOAM 2.3.x, 64bit, 8 Core Xeon Workstation |
||
March 23, 2015, 10:13 |
|
#7 |
Senior Member
Derek Mitchell
Join Date: Mar 2014
Location: UK, Reading
Posts: 172
Rep Power: 13 |
it related to the determinant of the cell see this reference
ALGEBRAIC MESH QUALITY METRICS PATRICK M. KNUPP http://www.google.co.uk/url?sa=t&rct...Y0ZL3Cq9Cl2W1w
__________________
A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET |
|
April 25, 2015, 15:13 |
|
#8 |
Member
DanielP
Join Date: Jan 2015
Posts: 33
Rep Power: 11 |
Hello Timm,
Regarding this piece code: -the forAll loops are standard C++ for loops that are defined as macros in openFOAM to permit looping over containers such as map,list,etc.. This way one does not need to define an iterator every time.The iretator in this case is the cFaceI. -the function appers to do two things, return a true or false value (boolean) and write information to hash table structure via the setPtr pointer of all the faces that have cells that have negative determinants. -It will keep track of the following qunatities: -How many determinant calculations have been executed (nSumDet) -How many determinant of negative value (nWarDet) -The minimum determinant that was calculated for all the cells(minDet) -the total sum of all the determinants for all the cells that were treated. Hope that helps, Daniel |
|
March 6, 2020, 14:59 |
|
#9 | |
Senior Member
Ali Shayegh
Join Date: Oct 2015
Posts: 131
Rep Power: 11 |
Quote:
I read thid paper but did not find any relation between its metrics and cell determinants in OpenFOAM. Did you find any connection? Thank you. Ali |
||
Tags |
castellated mesh, snappyhexmesh, under-determined cells, underdetermined cells |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Other] Contribution a new utility: refine wall layer mesh based on yPlus field | lakeat | OpenFOAM Community Contributions | 58 | December 23, 2021 03:36 |
Partition: cell count = 0 | metmet | FLUENT | 1 | August 31, 2014 20:41 |
Warning 097- | AB | Siemens | 6 | November 15, 2004 05:41 |
monitoring cell | Jane | Siemens | 2 | March 4, 2004 22:01 |
cell to cell relation | CMB | Siemens | 1 | December 4, 2003 05:05 |