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

[mesh manipulation] topoSet produces less cells than expected

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 18, 2022, 09:13
Default topoSet produces less cells than expected
  #1
New Member
 
Giacomo
Join Date: Feb 2022
Location: Stockholm, Sweden
Posts: 4
Rep Power: 4
gisc is on a distinguished road
Hello there,
I'm using topoSet to define a cellSet in which I'd like to apply trip later on.


I've created a 2D mesh in ICEM, so I run
Code:
fluentMeshToFoam
and subsequently the command
Code:
topoSet
.


Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  21.06                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      faceSetDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

actions
(
    {
        name    tripSet;
        action  new;
        type    cellSet;
        source  rotatedBoxToCell;
        sourceInfo
        {
                    origin      (0.09977 0.05577 -0.5);
                    i            (4.93029e-3 1.09302e-3 0);
                    j            (-1.29864e-4 5.85778e-4 0);
                    k           (0 0 0.5);
        }
    }
);
I have defined the tripping box from Paraview, and I'm expecting to find 50 cells after the topoSet command (5 cells high, 10 cells length, second image for reference, red box).


The problem is that topoSet just select some random cells and not all the cells inside the rectangle. The same code works for the LES 3d case (which is the second image), but when I apply it to the 2D RANS, it gives me this random output (first image).


I don't understand what I'm missing. At the beginning I thought that it was a problem due to the definiton of RANS's patch
Code:
frontAndBackPlanes  empty
, therefore I splitted it in
Code:
left
and
Code:
right
, and defined them as
Code:
cyclic
. However, still I got the same random output.


If anybody might have a clue or a hint to give it to me, it'd be very appreciated. Below you can find the
Code:
checkMesh
output for reference.


Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Time = 0

Mesh stats
    points:           942026
    internal points:  0
    faces:            1874296
    internal faces:   932270
    cells:            467761
    faces per cell:   6
    boundary patches: 6
    point zones:      0
    face zones:       0
    cell zones:       1

Overall number of cells of each type:
    hexahedra:     467761
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

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
    OUTLET              266      534      ok (non-closed singly connected)
    INLET               3517     7036     ok (non-closed singly connected)
    SS                  1361     2724     ok (non-closed singly connected)
    PS                  1360     2722     ok (non-closed singly connected)
    front               467761   471013   ok (non-closed singly connected)
    back                467761   471013   ok (non-closed singly connected)

Checking faceZone topology for multiply connected surfaces...
    No faceZones found.

Checking basic cellZone addressing...
    CellZone            Cells        Points       Volume       BoundingBox
    tripSet             34           128          6.40191e-07  (0.0997363 0.0558234 -0.180277) (0.104675 0.0573815 0.180277)

Checking geometry...
    Overall domain bounding box (-4.99999 -5 -0.180277) (10 5 0.180277)
    Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
    Mesh has 2 solution (non-empty) directions (1 1 0)
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (-1.24833e-17 2.34241e-17 -8.11459e-15) OK.
    Max cell openness = 4.27054e-15 OK.
    Max aspect ratio = 83.5961 OK.
    Minimum face area = 1.49745e-08. Maximum face area = 0.0510004.  Face area magnitudes OK.
    Min volume = 5.39913e-09. Max volume = 0.00176845.  Total volume = 50.1848.  Cell volumes OK.
    Mesh non-orthogonality Max: 62.4138 average: 22.3492
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.11943 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
Attached Images
File Type: jpg triprans.jpg (88.8 KB, 16 views)
File Type: jpg triples.jpg (88.1 KB, 13 views)

Last edited by gisc; March 21, 2022 at 13:10. Reason: typos
gisc is offline   Reply With Quote

Old   March 21, 2022, 13:04
Default [UPDATED] topoSet produces less cells than expected
  #2
New Member
 
Giacomo
Join Date: Feb 2022
Location: Stockholm, Sweden
Posts: 4
Rep Power: 4
gisc is on a distinguished road
I have managed to find a workaround to the issue.


By splitting the frontAndBackPlanes patch in front an back patches (which are still defined as empty), and extruding the mesh in the z direction for 1 layer, the aforementioned problem doesn't seem to happen anymore, and the resulting output is exactly the one of the second image in the previous post.


I still doesn't understand what that issue was due to, therefore if anybody might have a clue it'd be very nice!


Below my workaround and checkMesh code for reference.


topoSet:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  21.06                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      faceSetDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

actions
(
    {   // Set of faces corresponding to the front and back patches
        name right;
        action new;
        type faceSet;
        source patchToFace;
        patch frontAndBackPlanes;

    }
    {   // Setof faces within a thin box at the left boundary
        name left;
        action new;
        type faceSet;
        source boxToFace;
        sourceInfo
        {
            box (-1000 -1000 -1) (1000 1000 -0.17);
        }
    }
    {   // Intersect left with right
        name left;
        action subset;
        type faceSet;
        source faceToFace;
        sourceInfo
        {
            set right;
        }
    }
    {   // Delete left part from right
        name right;
        action delete;
        type faceSet;
        source faceToFace;
        sourceInfo
        {
            set left;
        }
    }
);

 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
createPatch:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      createPatchDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
pointSync false;

patches
(
    {
        // Name of new patch
        name front;

        // Type of new patch
        patchInfo
        {
            type                empty;
        }

        // How to construct: either from 'patches' or 'set'
        constructFrom set;

        // If constructFrom = patches : names of patches. Wildcards allowed.
        set right;
    }
    {
        // Name of new patch
        name back;

        // Type of new patch
        patchInfo
        {
            type                empty;
        }

        // How to construct: either from 'patches' or 'set'
        constructFrom set;

        // If constructFrom = patches : names of patches. Wildcards allowed.
        set left;
    }
);

// ************************************************************************* //
extrudeMesh:
Code:
 /*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      extrudeMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// What to extrude:
//      patch   : from patch of another case ('sourceCase')
//      mesh    : as above but with original case included
//      surface : from externally read surface

constructFrom patch;
sourceCase "./";
sourcePatches (back);

// If construct from patch: patch to use for back (can be same as sourcePatch)
exposedPatchName front;

// Flip surface normals before usage. Valid only for extrude from surface or
// patch.
flipNormals false;

//- Linear extrusion in point-normal direction
extrudeModel        linearNormal;

nLayers             1;

expansionRatio      1.0;

linearNormalCoeffs
{
    thickness       0.05;
}

// Do front and back need to be merged? Usually only makes sense for 360
// degree wedges.
mergeFaces false;   //true;

// Merge small edges. Fraction of bounding box.
mergeTol 0;


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
checkMesh:
Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2106                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

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

Create mesh for time = 0

Time = 0

Mesh stats
    points:           942026
    internal points:  0
    faces:            1874296
    internal faces:   932270
    cells:            467761
    faces per cell:   6
    boundary patches: 7
    point zones:      1
    face zones:       7
    cell zones:       4

Overall number of cells of each type:
    hexahedra:     467761
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

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
    OUTLET              266      534      ok (non-closed singly connected)
    INLET               3517     7036     ok (non-closed singly connected)
    SS                  743      1490     ok (non-closed singly connected)
    PS                  1360     2722     ok (non-closed singly connected)
    front               467761   471013   ok (non-closed singly connected)
    back                467761   471013   ok (non-closed singly connected)
    controlSuction      618      1238     ok (non-closed singly connected)

Checking faceZone topology for multiply connected surfaces...
    FaceZone            Faces    Points   Surface topology
    SScontrolFace       618      1238     ok (non-closed singly connected)
    SSfaces             743      1490     ok (non-closed singly connected)
    wall                0        0        ok (empty)
    SSnoSlipFaces       0        0        ok (empty)
    SScontrolFacezone   65041    33856    multiply connected (shared edge)
    SScontrolFaces      0        0        ok (empty)
    wallFace            0        0        ok (empty)
  <<Writing 33728 conflicting points to set nonManifoldPoints

Checking basic cellZone addressing...
    CellZone            Cells        Points       Volume       BoundingBox
    wallCell            1361         5448         5.07231e-06  (-0.000180697 -0.0871557 -0.230277) (0.996249 0.07202 -0.180277)
    SScontrolCell       15626        32618        0.000294549  (0.252503 -0.037306 -0.230277) (0.857067 0.0948286 -0.180277)
    SScontrolCellzone   0            0            0            (1e+150 1e+150 1e+150) (-1e+150 -1e+150 -1e+150)
    tripSet             50           132          1.31013e-07  (0.0997363 0.0558234 -0.230277) (0.104675 0.0573815 -0.180277)

Checking geometry...
    Overall domain bounding box (-4.99999 -5 -0.230277) (10 5 -0.180277)
    Mesh has 2 geometric (non-empty/wedge) directions (1 1 0)
    Mesh has 2 solution (non-empty) directions (1 1 0)
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (4.17261e-19 7.20212e-18 -5.28938e-15) OK.
    Max cell openness = 5.45454e-15 OK.
    Max aspect ratio = 83.6515 OK.
    Minimum face area = 1.49638e-08. Maximum face area = 0.00707244.  Face area magnitudes OK.
    Min volume = 7.48189e-10. Max volume = 0.000245248.  Total volume = 6.95939.  Cell volumes OK.
    Mesh non-orthogonality Max: 66.9894 average: 22.36
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.11933 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End

Last edited by gisc; March 21, 2022 at 13:09. Reason: typos
gisc is offline   Reply With Quote

Reply

Tags
#cellset, #openfoam, #rotatedboxtocell, #toposet, #tripping


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] How to define to right point for locationInMesh Mirage12 OpenFOAM Meshing & Mesh Conversion 7 March 13, 2016 15:07
error compiling modified applications yvyan OpenFOAM Programming & Development 21 March 1, 2016 05:53
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! sc298 OpenFOAM Meshing & Mesh Conversion 2 March 27, 2011 22:11
How to install CGNS under windows xp? lzgwhy Main CFD Forum 1 January 11, 2011 19:44
[swak4Foam] groovyBC: problems compiling: "flex: not found" and "undefined reference to ..." sega OpenFOAM Community Contributions 12 February 17, 2010 10:30


All times are GMT -4. The time now is 02:51.