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

[snappyHexMesh] Inverted Castellation - Geometry Subtracted From Domain

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By Yann

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 11, 2024, 11:26
Default Inverted Castellation - Geometry Subtracted From Domain
  #1
Member
 
Join Date: May 2024
Location: France
Posts: 35
Rep Power: 2
rocketLauncher is on a distinguished road
Hello all,

Very new to snappyHexMesh, but I have been following some tutorials (Wolf Dynamics etc). During the castellation step, instead of the blockmesh domain 'sticking' to my geometry, it's like the geometry is substracted from the domain. Any ideas as to what's going wrong?

I have attached a picture and the snappyHexMeshDict. Let me know if you need more info


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

// Which of the steps to run
castellatedMesh true;
snap            false;
addLayers       false;

// Geometry. Definition of all surfaces. All surfaces are of class
// searchableSurface.
// Surfaces are used
// - to specify refinement for any mesh cell intersecting it
// - to specify refinement for any mesh cell inside/outside/near
// - to 'snap' the mesh boundary to the surface
geometry
{
    elbowSnappyGeo.stl
    {
        type    triSurfaceMesh;
        name    elbow;
        regions
        {
            inlet1 
            {
                name inlet1;
            }
            inlet2 
            {
                name inlet2;
            }
            outlet 
            {
                name outlet;
            }
            walls    
            {
                name walls;
            }
            symmetry_plane    
            {
                name symmetry_plane;
            }
        }
    }
}

// Settings for the castellatedMesh generation.
castellatedMeshControls
{
    // Refinement parameters
    // ~~~~~~~~~~~~~~~~~~~~~

    maxLocalCells 50000;
    maxGlobalCells 1000000;
    minRefinementCells 0;
    maxLoadUnbalance 0.10;
    nCellsBetweenLevels 1;

    // Explicit feature edge refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    features
    (
	
        /*{
            file    "elbowSnappyGeo.eMesh";
            level   4;
        }*/
    );

    // Surface based refinement
    // ~~~~~~~~~~~~~~~~~~~~~~~~
    refinementSurfaces
    {
        elbow
        {
            level (4 4); // default 
            
            regions
            {
                inlet1
                {   
                    level (4 4);
                    patchInfo
                    {
                        type patch;
                    }
                }

                inlet2
                {
                    level (4 4);
                    patchInfo
                    {
                        type patch;
                    }
                }
                outlet
                {
                    level (4 4);
                    patchInfo
                    {
                        type patch;
                    }
                }
                symmetry_plane
                {
                    level (4 4);
                    patchInfo
                    {
                        type symmetry;
                    }
                }
                walls
                {
                    level (4 4);
                    patchInfo
                    {
                        type wall;
                    }
                 }
             }
        }
    }

    // Resolve sharp angles
    resolveFeatureAngle 30;

    // Region-wise refinement
    // ~~~~~~~~~~~~~~~~~~~~~~
    refinementRegions
    {
        // Define any refinement regions here if needed
	/*elbow
	{

		mode distance;
		levels ((1e2 2));
	}*/
	
    };

    // Mesh selection
    // ~~~~~~~~~~~~~~
    locationInMesh (-0.0429496835859303 0.00771134940190549 -0.0425954894548383);
    allowFreeStandingZoneFaces true;
}

// Settings for the snapping.
snapControls
{
    nSmoothPatch 3;
    tolerance 2.0;
    nSolveIter 30;
    nRelaxIter 5;

    // Feature snapping
    nFeatureSnapIter 10;
    implicitFeatureSnap false;
    explicitFeatureSnap true;
    multiRegionFeatureSnap true;
}

// Settings for the layer addition.
addLayersControls
{
    relativeSizes true;

    layers
    {
        walls
        {
            nSurfaceLayers 6;
        }
    }

    expansionRatio 1.2;
    finalLayerThickness 0.008;
    minThickness 0.001;
    nGrow 0;
    featureAngle 5;
    slipFeatureAngle 30;
    nRelaxIter 3;
    nSmoothSurfaceNormals 1;
    nSmoothNormals 3;
    nSmoothThickness 10;
    maxFaceThicknessRatio 0.5;
    maxThicknessToMedialRatio 0.3;
    minMedialAxisAngle 90;
    nBufferCellsNoExtrude 0;
    nLayerIter 50;
}

// Generic mesh quality settings. At any undoable phase these determine
// where to undo.
meshQualityControls
{
    maxNonOrtho 65;
    maxBoundarySkewness 20;
    maxInternalSkewness 4;
    maxConcave 80;
    minVol 1e-13;
    minTetQuality 1e-30;
    minArea -1;
    minTwist 0.02;
    minDeterminant 0.001;
    minFaceWeight 0.02;
    minVolRatio 0.01;
    minTriangleTwist -1;

    // Advanced
    nSmoothScale 4;
    errorReduction 0.75;
}

// Advanced

// Flags for optional output
debug 0;

// Merge tolerance. Is fraction of overall bounding box of initial mesh.
mergeTolerance 1e-6;

// ************************************************************************* /
Attached Images
File Type: jpg Screenshot 2024-06-11 162436.jpg (39.6 KB, 9 views)
rocketLauncher is offline   Reply With Quote

Old   June 11, 2024, 11:57
Default
  #2
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,

Most probably this:
Code:
locationInMesh (-0.0429496835859303 0.00771134940190549 -0.0425954894548383);
Where is this point located?
If you intend to mesh the inside of the pipe, this point should be inside it too. (you can check in ParaView to make sure there is no mistake. For instance, scaling issue)

Yann
rocketLauncher likes this.
Yann 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
Sudden increase the residual of Maxwell's equations hsezsz CFX 2 October 13, 2016 07:58
Closed Domain Buoyancy Flow Problem Madhatter92 CFX 6 June 20, 2016 22:05
Create domain in Hexpress by importing geometry from CATIA V5R21 PeiSan Fidelity CFD 1 June 30, 2014 05:10
vertices coordinates of a geometry domain dikra Main CFD Forum 2 December 20, 2007 17:26
block geometry inside fluid domain jeff Main CFD Forum 18 April 12, 2004 12:37


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