CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[Technical] Severe differences in mesh definitions between OpenFOAM.org-v10 & OpenFOAM.com-v2112

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 4, 2024, 05:58
Default Severe differences in mesh definitions between OpenFOAM.org-v10 & OpenFOAM.com-v2112
  #1
New Member
 
Felix Febrian
Join Date: May 2021
Posts: 2
Rep Power: 0
FelixFebrian is on a distinguished road
Hello everyone,

I created a mesh using snappyHexMesh with OpenFOAM.org-v10. The mesh contains rotational cyclic boundary conditions, which were defined during blockMesh. The meshing process was complete without any problem. After meshing, the checkMesh utility from OpenFOAM.org-v10 also shows no problems. However, when I run checkMesh using OpenFOAM.com-v2112 on the exact same mesh, the utility shows three failed mesh checks, namely high non-orthogonality, high max skewness, and failed coupled point locations.

I obtained both softwares (OpenFOAM.org-v10 and OpenFOAM.com-v2112) from dockerhub, which I converted into apptainer containers for the usage in clusters.

Does anybody have an idea on the reason behind these differences? Is it "simply" because the softwares were compiled in different machines, leading to different precisions in reading the mesh? Or does anybody know that OpenFOAM.com and OpenFOAM.org handle mesh reading (thus possibly also creation) differently?

The output from checkMesh are attached below.

Thank you!
  • checkMesh using OpenFOAM.org-v10
Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  10
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 10-c4cf895ad8fa
Exec   : checkMesh -constant
Date   : Dec 03 2024
Time   : 15:20:25
Host   : "node765"
PID    : 24609
I/O    : uncollated
Case   : /work/febrian/rpb-metal-foam-vof-liquid/sim/contactAngleSensitivity/mesh-com2112
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = constant

Time = 0s

Mesh stats
    points:           46717567
    faces:            119933239
    internal faces:   110201097
    cells:            36950855
    faces per cell:   6.22812
    boundary patches: 7
    point zones:      0
    face zones:       0
    cell zones:       1

Overall number of cells of each type:
    hexahedra:     32704455
    prisms:        72409
    wedges:        0
    pyramids:      0
    tet wedges:    1207
    tetrahedra:    0
    polyhedra:     4172784
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   535887
            5   683832
            6   1050601
            9   845329
           11   1
           12   635654
           15   382685
           17   1
           18   38789
           21   5

Checking topology...
    Boundary definition OK.
    Cell to face addressing 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    35216    35625  ok (non-closed singly connected)
                  outlet    35216    35625  ok (non-closed singly connected)
                     top   198095   214862  ok (non-closed singly connected)
                  bottom   198710   216156  ok (non-closed singly connected)
             periodicOne    89120    99526  ok (non-closed singly connected)
             periodicTwo    89120    99526  ok (non-closed singly connected)
           cellStructure  9086665 10053340  multiply connected (shared edge)
  <<Writing 10 conflicting points to set nonManifoldPoints

Checking geometry...
    Overall domain bounding box (0.062461 -0.0143579 -1.1316e-05) (0.11 0.0143579 0.0100057)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-5.06702e-15 -3.9865e-16 2.83818e-16) OK.
    Max cell openness = 4.30264e-16 OK.
    Max aspect ratio = 9.50068 OK.
    Minimum face area = 1.86551e-11. Maximum face area = 1.38685e-08.  Face area magnitudes OK.
    Min volume = 5.10608e-15. Max volume = 8.47136e-13.  Total volume = 9.74237e-06.  Cell volumes OK.
    Mesh non-orthogonality Max: 49.9969 average: 10.5382
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 3.49961 OK.
    Coupled point location match (average 2.45193e-09) OK.

Mesh OK.

End
  • checkMesh using OpenFOAM.com-v2112
Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2112                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : _6e1fca0e-20220610 OPENFOAM=2112 patch=220610 version=2112
Arch   : "LSB;label=32;scalar=64"
Exec   : checkMesh -constant
Date   : Dec 03 2024
Time   : 15:13:45
Host   : node765
PID    : 23860
I/O    : uncollated
Case   : /net/work/febrian/rpb-metal-foam-vof-liquid/sim/contactAngleSensitivity/mesh-com2112
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 = constant

Time = constant

Mesh stats
    points:           46717567
    faces:            119933239
    internal faces:   110201097
    cells:            36950855
    faces per cell:   6.22812
    boundary patches: 7
    point zones:      0
    face zones:       0
    cell zones:       1

Overall number of cells of each type:
    hexahedra:     32704455
    prisms:        72409
    wedges:        0
    pyramids:      0
    tet wedges:    1207
    tetrahedra:    0
    polyhedra:     4172784
    Breakdown of polyhedra by number of faces:
        faces   number of cells
            4   535887
            5   683832
            6   1050601
            9   845329
           11   1
           12   635654
           15   382685
           17   1
           18   38789
           21   5

Checking topology...
    Boundary definition OK.
    Cell to face addressing 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    35216    35625  ok (non-closed singly connected)
                  outlet    35216    35625  ok (non-closed singly connected)
                     top   198095   214862  ok (non-closed singly connected)
                  bottom   198710   216156  ok (non-closed singly connected)
             periodicOne    89120    99526  ok (non-closed singly connected)
             periodicTwo    89120    99526  ok (non-closed singly connected)
           cellStructure  9086665 10053340  multiply connected (shared edge)

Checking faceZone topology for multiply connected surfaces...
    No faceZones found.
  <<Writing 10 conflicting points to set nonManifoldPoints

Checking basic cellZone addressing...
                CellZone        Cells       Points       VolumeBoundingBox
           rotatingZone     36950855     46717567  9.74237e-06 (0.062461 -0.0143579 -1.1316e-05) (0.11 0.0143579 0.0100057)

Checking geometry...
    Overall domain bounding box (0.062461 -0.0143579 -1.1316e-05) (0.11 0.0143579 0.0100057)
    Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
    Mesh has 3 solution (non-empty) directions (1 1 1)
    Boundary openness (-5.06702e-15 -3.9865e-16 2.83818e-16) OK.
    Max cell openness = 4.30264e-16 OK.
    Max aspect ratio = 9.50068 OK.
    Minimum face area = 1.86551e-11. Maximum face area = 1.38685e-08.  Face area magnitudes OK.
    Min volume = 5.10608e-15. Max volume = 8.47136e-13.  Total volume = 9.74237e-06.  Cell volumes OK.
    Mesh non-orthogonality Max: 92.7959 average: 10.5956
   *Number of severely non-orthogonal (> 70 degrees) faces: 30912.
 ***Number of non-orthogonality errors: 20.
  <<Writing 30932 non-orthogonal faces to set nonOrthoFaces
    Face pyramids OK.
 ***Max skewness = 77.4982, 231 highly skew faces detected which may impair the quality of the results
  <<Writing 588 skew faces to set skewFaces
  **Error in coupled point location: 28391 faces have their 0th or consecutive vertex not opposite their coupled equivalent. Average mismatch 1.17094e-05.
  <<Writing 28391 faces with incorrectly matched 0th (or consecutive) vertex to set coupledFaces

Failed 3 mesh checks.

End
FelixFebrian is offline   Reply With Quote

Old   December 6, 2024, 03:14
Default
  #2
Senior Member
 
M
Join Date: Dec 2017
Posts: 703
Rep Power: 13
AtoHM is on a distinguished road
Very interesting.
In the ESI OpenFOAM you should be able to write out the metrics during checkMesh as fields and post-process them in ParaView:

Code:
checkMesh -writeAllFields

Look for the locations where the values are critical and see if that makes sense.
AtoHM is offline   Reply With Quote

Old   December 6, 2024, 04:24
Default
  #3
Senior Member
 
Yann
Join Date: Apr 2012
Location: France
Posts: 1,238
Rep Power: 29
Yann will become famous soon enoughYann will become famous soon enough
Hello Felix

Quote:
Originally Posted by FelixFebrian View Post
Does anybody have an idea on the reason behind these differences? Is it "simply" because the softwares were compiled in different machines, leading to different precisions in reading the mesh? Or does anybody know that OpenFOAM.com and OpenFOAM.org handle mesh reading (thus possibly also creation) differently?
I don't think this is a matter of compilation, but probably differences between both OpenFOAM branches.

You mentioned rotational cyclic BCs, what are you using exactly? OpenFOAM used to have AMI, which is still used in .com version while .org moved to NCC in v10.
I would definitely expect issues in .com if you have NCC patches in your mesh.
Yann is offline   Reply With Quote

Old   December 6, 2024, 10:38
Default Cyclic boundaries - preserve patches
  #4
New Member
 
Skill-Lync CFD
Join Date: Sep 2024
Location: Chennai
Posts: 21
Rep Power: 2
CFD_with_Skill-Lync is on a distinguished road
Snappy capabilities between the ESI and Foundation versions are quite different. The ESI version has additional inputs that make the layering better in certain ways.

You could compare the decomposition methods to see which works better for your case. Ideally, the simple/hierarchical method works best for meshing.

Check out our resource where we talk about the differences in both versions.
CFD_with_Skill-Lync is offline   Reply With Quote

Old   December 11, 2024, 05:28
Default Update
  #5
New Member
 
Felix Febrian
Join Date: May 2021
Posts: 2
Rep Power: 0
FelixFebrian is on a distinguished road
Hello all,

thank you for your replies and tips. I finally had the time to try your tips out.

First, I have compiled each org and com version on my own computer. As Yann already suspected, the difference was not about compilation.

Now, for more background - I used the cyclic patch during meshing in org-10 version, not cyclicAMI or the newer NCC patch in the foundation version. AFAIK, the cyclic patch must have exact matching on all faces on both coupled patches (which I also had and it worked in the simulations as well), whereas the cyclicAMI or NCC do not enforce exact matching. During decomposition for the meshing, the
Code:
preserve patches
constraint was already activated.

As AtoHM suggested, I ran
Code:
checkMesh -writeAllFields
with com-installation on the mesh produced by org-installation. The cells that have high non-orthogonality are exactly the cells with one face on the cyclic-patch.

So, I guess there are differences between the two version in handling the cyclic-patch.

Thanks and cheers, FF

P.S.: I also managed to create a mesh with com-installation and cyclic boundary condition - however this time with cyclicAMI patch as I could not manage to create with the cyclic patch. checkMesh utility from both installations do have very similar results, so I guess there are no/little differences on how the two handle cyclicAMI, even though the patch would be deprecated in future org-versions.
FelixFebrian is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[snappyHexMesh] snappyHexMesh does not create any mesh except one for the reference cell Arman_N OpenFOAM Meshing & Mesh Conversion 1 May 20, 2019 18:16
Gambit problems Althea FLUENT 22 January 4, 2017 04:19
fluent add additional zones for the mesh file SSL FLUENT 2 January 26, 2008 12:55
Icemcfd 11: Loss of mesh from surface mesh option? Joe CFX 2 March 26, 2007 19:10
How to control Minximum mesh space? hung FLUENT 7 April 18, 2005 10:38


All times are GMT -4. The time now is 18:30.