Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 426
    • Issues 426
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Issues
  • #2241
Closed
Open
Issue created Oct 20, 2021 by Jan Gärtner@janga

Cannot create valid tet decomposition for wegde mesh

Summary

A wedge mesh generated with blockMesh in OpenFOAM v2012 cannot be decomposed into tets with polyMeshTetDecomposition::cellTetIndices() and the tetIndices::faceTriIs() function.

A possible reason might be that four points of the tet face are reported, e.g. for the sketch below it writes face (A B C A)

// A general wege 
     C
     +
    /|
   / |
  / 1|  
 +---+ B
 ^
 A

If the mesh is generated with blockMesh of OpenFOAM 5.x the error does not occur. Note, only the mesh is generated with 5.x decomposition into tets is then done with v2012.

Steps to reproduce

  • Generate a wedge domain with blockMesh
  • Use cellTetIndices to get the tets for all cells and try to find the faceTriIs. An example main() function could be:
int main()
{
    #include "setRootCase.H"
    #include "createTime.H"
    #include "createMesh.H"

    forAll(mesh,cellI)
    {
       List<tetIndices> cellTets =
           polyMeshTetDecomposition::cellTetIndices(mesh, cellI);
       triFaceList triFaces(cellTets.size());

       forAll(cellTets, cTI)
       {
            triFaces[cTI] = cellTets[cTI].faceTriIs(mesh);
       }
    }
    return 0;
};
  • This will return the warning:

--> FOAM Warning : From Foam::triFace Foam::tetIndices::faceTriIs(const Foam::polyMesh&, bool) const in file No base point for face 1620, 4(0 1 442 441), produces a valid tet decomposition.

Environment information

  • OpenFOAM version : v2012
  • Operating system : ubuntu 18.04 LTS
  • Hardware info : amd ryzen 7
  • Compiler : g++ 7.5.0
Assignee
Assign to
Time tracking