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

[snappyHexMesh] Multi region spliting doesn't result in desired boundaries

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 20, 2022, 08:17
Default Multi region spliting doesn't result in desired boundaries
  #1
Senior Member
 
Nico
Join Date: Jan 2022
Location: Germany
Posts: 122
Rep Power: 6
Hr_kules is on a distinguished road
Hey everyone,


i am still stuck with my mutliregion meshin problem. After i figured that closed stls are necessary for desired results. I am currently creating my stls with a python script. The first test worked like a charm, however if i make some changes to the geometry the same procedure doesn't work anymore and i got patches split between the regions. I have made a surfaceCheck for both stls describing the whole region. The first check of the working example delivers following:
Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  9
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 9-b456138dc4bc
Exec   : surfaceCheck RegionP0.stl
Date   : Jul 20 2022
Time   : 15:49:26
Host   : "nico-Tower"
PID    : 102498
I/O    : uncollated
Case   : /home/nico/Spyder/toOpenfoam
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

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Reading surface from "RegionP0.stl" ...

Statistics:
Triangles    : 84
Vertices     : 44
Bounding Box : (-0.25 -0.3086 -0.055) (0.25 0.055 0.03)

Region    Size
------    ----
wallplate.stl    24
wallfluidhot.stl    26
inlethot.stl    2
outlethot.stl    2
outletcold.stl    2
inletcold.stl    2
wallfluidcold.stl    26


Surface has no illegal triangles.

Triangle quality (equilateral=1, collapsed=0):
    0 .. 0.05  : 0.0714286
    0.05 .. 0.1  : 0.285714
    0.1 .. 0.15  : 0.047619
    0.15 .. 0.2  : 0
    0.2 .. 0.25  : 0.047619
    0.25 .. 0.3  : 0.190476
    0.3 .. 0.35  : 0.047619
    0.35 .. 0.4  : 0.047619
    0.4 .. 0.45  : 0
    0.45 .. 0.5  : 0
    0.5 .. 0.55  : 0
    0.55 .. 0.6  : 0
    0.6 .. 0.65  : 0.0952381
    0.65 .. 0.7  : 0
    0.7 .. 0.75  : 0.0952381
    0.75 .. 0.8  : 0.0238095
    0.8 .. 0.85  : 0.0238095
    0.85 .. 0.9  : 0
    0.9 .. 0.95  : 0.0238095
    0.95 .. 1  : 0

    min 0.00155657 for triangle 61
    max 0.932917 for triangle 59

Edges:
    min 0.005 for edge 19 points (-0.25 -0.1443 -0.01)(-0.25 -0.1443 -0.015)
    max 0.500899 for edge 85 points (-0.25 -0.3086 0.03)(0.25 -0.3086 0)

Checking for points less than 1e-6 of bounding box ((0.5 0.3636 0.085) metre) apart.
Found 0 nearby points.

Surface is closed. All edges connected to two faces.

Number of unconnected parts : 1

Number of zones (connected area with consistent normal) : 36
More than one normal orientation.


End
the second not working example:
Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  9
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 9-b456138dc4bc
Exec   : surfaceCheck RegionP1.stl
Date   : Jul 20 2022
Time   : 15:49:33
Host   : "nico-Tower"
PID    : 102504
I/O    : uncollated
Case   : /home/nico/Spyder/toOpenfoam
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

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Reading surface from "RegionP1.stl" ...

Statistics:
Triangles    : 140
Vertices     : 72
Bounding Box : (-0.25 -0.3086 -0.055) (0.25 0.09 0.03)

Region    Size
------    ----
wallplate.stl    40
wallfluidhot.stl    46
inlethot.stl    2
outlethot.stl    2
outletcold.stl    2
inletcold.stl    2
wallfluidcold.stl    46


Surface has no illegal triangles.

Triangle quality (equilateral=1, collapsed=0):
    0 .. 0.05  : 0.0428571
    0.05 .. 0.1  : 0.257143
    0.1 .. 0.15  : 0.0571429
    0.15 .. 0.2  : 0
    0.2 .. 0.25  : 0.0285714
    0.25 .. 0.3  : 0.114286
    0.3 .. 0.35  : 0.0285714
    0.35 .. 0.4  : 0.0571429
    0.4 .. 0.45  : 0
    0.45 .. 0.5  : 0.0285714
    0.5 .. 0.55  : 0
    0.55 .. 0.6  : 0
    0.6 .. 0.65  : 0.171429
    0.65 .. 0.7  : 0
    0.7 .. 0.75  : 0.171429
    0.75 .. 0.8  : 0
    0.8 .. 0.85  : 0.0142857
    0.85 .. 0.9  : 0.0142857
    0.9 .. 0.95  : 0.0142857
    0.95 .. 1  : 0

    min 0.00155657 for triangle 106
    max 0.932917 for triangle 96

Edges:
    min 0.005 for edge 20 points (-0.25 -0.0893 -0.015)(-0.25 -0.0893 -0.01)
    max 0.500899 for edge 143 points (-0.25 -0.3086 0.03)(0.25 -0.3086 0)

Checking for points less than 1e-6 of bounding box ((0.5 0.3986 0.085) metre) apart.
Found 0 nearby points.

Surface is closed. All edges connected to two faces.

Number of unconnected parts : 1

Number of zones (connected area with consistent normal) : 62
More than one normal orientation.


End
And this is the snappyhexmeshdict i am using:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  9
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    object      snappyHexMeshDict;
}

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

#includeEtc "caseDicts/mesh/generation/snappyHexMeshDict.cfg"

castellatedMesh true;
snap            true;
addLayers       false;

geometry
{
    heatexchanger
    {
        type triSurfaceMesh;
        file "Region.stl";
    
        regions
        {
            wallfluidhot.stl        {name wallfluidhot;}
            inlethot.stl        {name Inlethot;}
            outlethot.stl        {name Outlethot;}
            wallplate.stl        {name wallplate;} 
            wallfluidcold.stl        {name wallfluidcold;}
            inletcold.stl        {name Inletcold;}
            outletcold.stl        {name Outletcold;}                                    
        }
        
        
    }

    fluidhotToPlate
    {
        type triSurfaceMesh;
        file "upperInterface.stl";
    }

    fluidcoldToPlate
    {
        type triSurfaceMesh;
        file "lowerInterface.stl";
    }
};

castellatedMeshControls
{
    features
    (
        {          

            file        "Region.eMesh";
            level       2;

            file        "upperInterface.eMesh";
            level       2;    
            
            file        "lowerInterface.eMesh";
            level       2;     
         }                               
    );
    
    refinementSurfaces
    {
        heatexchanger
        {
            level (0 0);
            
            regions
            {
                Inletcold        { level (2 2); patchInfo { type patch;} }
                Outletcold       { level (2 2); patchInfo { type patch;} }
                wallfluidcold    { level (3 3); patchInfo { type wall; } }
                Inlethot         { level (2 2); patchInfo { type patch;} }
                Outlethot        { level (2 2); patchInfo { type patch;} }
                wallfluidhot     { level (3 3); patchInfo { type wall; } }
                wallplate        { level (3 3); patchInfo { type wall; } }                                
            }
            
            
            //cellZone     plate;
            //mode        insidePoint;
            //insidePoint (0 -0.305 -0.003);
            
        }

        fluidhotToPlate
        {
            level (2 2);
            faceZone     fluidhotToPlate;
            cellZone     fluidhot;
            mode        insidePoint;
            insidePoint (0 -0.28 0.01);
        }

        fluidcoldToPlate
        {
            level (2 2);
            faceZone     fluidcoldToPlate;
            cellZone     fluidcold;
            mode        insidePoint;
            insidePoint (0 -0.28 -0.03);
        }
    }

    nCellsBetweenLevels 1;

    locationInMesh (0 -0.28 -0.01);
}

snapControls
{
    nSmoothPatch 5;
    tolerance 2.0;
    nSolveIter 100;
    nRelaxIter 5;
    nFeatureSnapIter 10;
    explicitFeatureSnap true;
    implicitFeatureSnap false;
    multiRegionFeatureSnap false;
}


addLayersControls
{
    relativeSizes       true;
    minThickness        1;
    finalLayerThickness 1;
    expansionRatio      1;
    layers
    {}
}

// ************************************************************************* //
Is there anything fundamentally wrong? I can't understand why the splitting of the meshing fails if the surface is closed. Additionally: I use the interfaces and the other parts of the stls to test each desired region before meshing wether they are closed or not and for every run, they were closed. I thought having closed stls would finally solve my problem, but i can't seem to solve it alone.


If any additional information is required, i will provide it.


Kind regards and stay safe.
Hr_kules is offline   Reply With Quote

Old   July 20, 2022, 08:33
Default
  #2
Senior Member
 
Nico
Join Date: Jan 2022
Location: Germany
Posts: 122
Rep Power: 6
Hr_kules is on a distinguished road
I figured it would make sense to show the triangulation of the area, so i have attached two images the first one the working example, thew second one the already not working case. As well as an example how a single region is supposed to look like at the end.
Attached Images
File Type: jpg working example.jpg (40.7 KB, 9 views)
File Type: jpg failed example.jpg (34.2 KB, 9 views)
File Type: jpg goal.jpg (73.7 KB, 13 views)
Hr_kules is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
[mesh manipulation] On spliting multi region meshes Hr_kules OpenFOAM Meshing & Mesh Conversion 0 April 27, 2022 07:50
[snappyHexMesh] Multi Region Meshing bruce OpenFOAM Meshing & Mesh Conversion 12 July 31, 2013 10:09
Boundary region for open boundaries george Siemens 2 April 10, 2007 05:06
[Commercial meshers] Trimmed cell and embedded refinement mesh conversion issues michele OpenFOAM Meshing & Mesh Conversion 2 July 15, 2005 04:15
[Gmsh] Import gmsh msh to Foam adorean OpenFOAM Meshing & Mesh Conversion 24 April 27, 2005 08:19


All times are GMT -4. The time now is 21:33.