CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [snappyHexMesh] Patches removed because to zero-size (https://www.cfd-online.com/Forums/openfoam-meshing/246892-patches-removed-because-zero-size.html)

EGajetti January 2, 2023 04:47

Patches removed because to zero-size
 
3 Attachment(s)
Hello everybody,
I'm trying a multi region mesh, where I have a solid part and a fluid part defined with two different .stl with patches.
I define cellZones and faceZones for the two parts so to use splitMeshRegions.
However, at the end of snappyHexMesh, all the patches are removed with the following warning:
"Removing zero-sized patches".

This is my snappyHexMeshDict:
Code:

/*--------------------------------*- C++ -*----------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  8
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

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

castellatedMesh true;
snap            true;
addLayers      false;

geometry
{
        solido_semplice_patch.stl
        {
                type triSurfaceMesh;
                name solidoSemplice;
                regions
                {
                        solido{name contact_solido;
                                      type wall;}
                        top{name topWall;
                            type wall;}
                        bottom{name bottomWall;
                            type wall;}               
                }
                       
        }
        fluido_semplice_patch.stl
        {
                type triSurfaceMesh;
                name fluidoSemplice;
                regions
                {
                        fluido{name contactFluido;
                                type wall;}
                        inlet{name entrata;
                                type patch;}
                        outlet{name uscita;
                                type patch;}
                }
        }
   
};

castellatedMeshControls
{
        // Refinement Parameters
        maxLocalCells 10000000;
        maxGlobalCells 50000000;
        minRefinementCells 0;
        maxLoadUnbalance 0.10;
        nCellsBetweenLevels 2;
       
        // Locale curvature and feature angle refinement
        resolveFeatureAngle 15;
        planarAngle 30;
       
        features
        (       
        );


        refinementSurfaces
        {

                solidoSemplice
                {
                            level (2 2);
                            faceZone solidoSemplice;
                            cellZone solidoSemplice;
                            cellZoneInside insidePoint;
                        insidePoint (0.0 0.006 0);
                }

                      fluidoSemplice
                {
                            level (2 2);
                            faceZone fluidoSemplice;
                            cellZone fluidoSemplice;
                            cellZoneInside insidePoint;
                        insidePoint (0.0 0.0 0.000);
                }
          }
    refinementRegions
    {
    }

    locationInMesh (0 0 0);
    allowFreeStandingZoneFaces true;
/*
    faceZoneControls
        {
            solido_to_fluido
            {
                patchInfo
                {
                    type patch;
                }
                faceType baffle;
            }
            fluido_to_solido
            {
                patchInfo
                {
                    type patch;
                }
                faceType baffle;
            }
        }
*/
}


snapControls
{
        // Number of patch smoothing iterations before finding correspondence to surface
        nSmoothPatch 3;

        // Maximum relative distance for points to be attracted by surface.
        // True distance is this factor times local maximum edge length.
        //Note: changed(corrected) w.r.t 17x! (17x used 2* tolerance)
        tolerance 2.0;

        // Number of mesh displacement relaxation iterations.
        nSolveIter 20;

        // Maximum number of snapping relaxation iterations.
        // Should stop before upon reaching a correct mesh.
        // Increase this value to improve the quality of the body fitted mesh.
        nRelaxIter 20;

    // Feature snapping

        // Number of feature edge snapping iterations.
        // Leave out altogether to disable.
        // Increase this value to improve the quality of the edge features.
        nFeatureSnapIter 15;

        // Detect (geometric only) features by sampling the surface
        // (default=false).
        implicitFeatureSnap false;

        // Use castellatedMeshControls::features (default = true)
        explicitFeatureSnap true;

        // Detect features between multiple surfaces
        // (only for explicitFeatureSnap, default = false)
        multiRegionFeatureSnap true;
}
addLayersControls
{
        relativeSizes      true;
        expansionRatio      1.2;
        finalLayerThickness 0.5;
        minThickness        1e-3;
        layers
    {
          }
          // Advanced settings
        nGrow 0;
        featureAngle 130;
        maxFaceThicknessRatio 0.5;
        nSmoothSurfaceNormals 1;
        nSmoothThickness 10;
        minMedianAxisAngle 90;
        maxThicknessToMedialRatio 0.3;
        nSmoothNormals 3;
        slipFeatureAngle 30;
        nRelaxIter 5;
        nBufferCellsNoExtrude 0;
        nLayerIter 50;
        nRelaxedIter 20;
}
meshQualityControls
{
        maxNonOrtho 50;
        maxBoundarySkewness 20;
        maxInternalSkewness 4;
        maxConcave 80;
        minVol 1.00E-16;
        minTetQuality 1e-12;
        minArea -1;
        minTwist 0.05;
        minDeterminant 0.001;
        minFaceWeight 0.05;
        minVolRatio 0.01;
        minTriangleTwist -1;
        minFlatness 0.5;
        nSmoothScale 4;
        errorReduction 0.75;

}

mergeTolerance 1e-6;

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

And this is my log.snappyHexMesh:

Code:

/*---------------------------------------------------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    | Website:  https://openfoam.org
    \\  /    A nd          | Version:  8
    \\/    M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 8-1c9b5879390b
Exec  : snappyHexMesh -parallel -noFunctionObjects -overwrite
Date  : Dec 23 2022
Time  : 18:41:50
Host  : "server1"
PID    : 7783
I/O    : uncollated
Case  : /mnt/d/OpenFOAM/noTPMS
nProcs : 6
Slaves :
5
(
"server1.7784"
"server1.7785"
"server1.7786"
"server1.7787"
"server1.7788"
)

Pstream initialized with:
    floatTransfer      : 0
    nProcsSimpleSum    : 0
    commsType          : nonBlocking
    polling iterations : 0
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 mesh for time = 0

Read mesh in = 0.01 s

Overall mesh bounding box  : (-0.008 -0.008 -0.009) (0.008 0.008 0.009)
Relative tolerance        : 1e-06
Absolute matching distance : 2.891366459e-08

Reading refinement surfaces.
Read refinement surfaces in = 0.02 s

Reading refinement shells.
Read refinement shells in = 0 s

Setting refinement level of surface to be consistent with shells.
Checked shell refinement in = 0 s

Reading features.
Read features in = 0 s


Determining initial surface intersections
-----------------------------------------

Edge intersection testing:
    Number of edges            : 14656
    Number of edges to retest  : 14656
    Number of intersected edges : 1704
Calculated surface intersections in = 0 s

Initial mesh : cells:4608  faces:14656  points:5491
Cells per refinement level:
    0        4608

Adding patches for surface regions
----------------------------------

Patch Type                Region                       
----- ----                ------                       
solidoSemplice:

1    wall                bottomWall                   
2    wall                bottomWall_slave             
3    wall                contact_solido               
4    wall                contact_solido_slave         
5    wall                topWall                     
6    wall                topWall_slave               

fluidoSemplice:

7    wall                contactFluido               
8    wall                contactFluido_slave         
9    wall                entrata                     
10    wall                entrata_slave               
11    wall                uscita                       
12    wall                uscita_slave                 

Added patches in = 0.02 s
...

...
Removing zero-sized patches:
    bottomWall type wall at position 1
    bottomWall_slave type wall at position 2
    contact_solido type wall at position 3
    contact_solido_slave type wall at position 4
    topWall type wall at position 5
    topWall_slave type wall at position 6
    contactFluido type wall at position 7
    contactFluido_slave type wall at position 8
    entrata type wall at position 9
    entrata_slave type wall at position 10
    uscita type wall at position 11
    uscita_slave type wall at position 12

Snapped mesh : cells:125960  faces:401284  points:149373
Cells per refinement level:
    0        584
    1        18880
    2        106496
Writing mesh to time constant
Wrote mesh in = 0.25 s.
Mesh snapped in = 3.4 s.
Checking final mesh ...
Checking faces in error :
    non-orthogonality > 50  degrees                        : 0
    faces with face pyramid volume < 1e-16                : 0
    faces with face-decomposition tet quality < 1e-12      : 0
    faces with concavity > 80  degrees                    : 0
    faces with skewness > 4  (internal) or 20  (boundary) : 0
    faces with interpolation weights (0..1)  < 0.05        : 0
    faces with volume ratio of neighbour cells < 0.01      : 0
    faces with face twist < 0.05                          : 0
    faces on cells with determinant < 0.001                : 0
Finished meshing without any errors
Finished meshing in = 7.33 s.
End

Finalising parallel run

I think the problem lies in the fact that snappy maintains also the leaving between the stl and the residual blockMesh as region.
I also attach pictures of the domain.

How can I do to fix that issue?
Thank in advance,
Greetings,
Eleonora


All times are GMT -4. The time now is 10:54.