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] SnappyHexMesh helicopter rotor (https://www.cfd-online.com/Forums/openfoam-meshing/127522-snappyhexmesh-helicopter-rotor.html)

Hennet_m December 13, 2013 03:13

SnappyHexMesh helicopter rotor
 
2 Attachment(s)
Dear all,

I am a pretty new user of OpenFoam (v2.1.0) and I have some difficulties for creating a nice mesh. I try to model the flow generated by a rotor. My rotor has 4 blades and has been generated by OpenScad. Its format is a stl file.

Concerning the blockMeshDict, it create a cylinder. I use the SHM to do the mesh and I have big trouble. I have tried severals options but the problem is not solved
and the snapping between the stl file and the file is horrible.
My snappyHexMesh is attached:


geometry
{
rotor.stl
{
type triSurfaceMesh;
name rotor;
}

// refinementBox
// {
// type searchableBox;
// min (-1.0 -1.0 0.03);
// max (1.0 1.0 0.15);
// }

// cylinder_search
// {
// type searchableCylinder;
// point1 (0. 0 0.3);
// point2 (0. 0 0.6);
// radius 1;
// name cylinder_search;
// }


};
castellatedMeshControls
{
maxLocalCells 2000000;
maxGlobalCells 10000000;
minRefinementCells 100;
maxLoadUnbalance 0.10;
nCellsBetweenLevels 20;
features
(
// {
// file "rotor.eMesh";
// level 4;
// }
);

refinementSurfaces
{
rotor
{
level (3 3);

}

// cylinder_search
// {
// level (3 3);
// cellZone MRF;
// faceZone MRF;
// cellZone cylinder_search;
// faceZone cylinder_search;

// cellZoneInside inside;
// zoneInside true;
// }

}

// Resolve sharp angles
resolveFeatureAngle 30;



refinementRegions
{


// refinementBox
// {
// mode inside;
// levels ((1e15 2));
// }
// cylinder_search
// {
// mode inside;
// levels ((1E15 3));
// }

}

locationInMesh (-1.0 -1.0 0.0);
allowFreeStandingZoneFaces true;
}

snapControls
{
// nSmoothPatch 6; //3;
// tolerance 1.0; //4.0;
// nSolveIter 300; //30;
// nRelaxIter 5;
// nFeatureSnapIter 20; // 10;
nSmoothPatch 3; //3;
tolerance 4.0; //4.0;
nSolveIter 0; //30;
nRelaxIter 5;
nFeatureSnapIter 10; // 10;

}

addLayersControls
{
relativeSizes true;
layers
{
"rotor.*"
{
nSurfaceLayers 1;
}
}
expansionRatio 1.1;
finalLayerThickness 0.5;
minThickness 0.25;
nGrow 0;
featureAngle 80;
nRelaxIter 5;
nSmoothSurfaceNormals 2;
nSmoothNormals 3;
nSmoothThickness 10;
maxFaceThicknessRatio 0.5;
maxThicknessToMedialRatio 0.3;
minMedianAxisAngle 90;
nBufferCellsNoExtrude 0;

nLayerIter 50;
}



meshQualityControls
{
maxNonOrtho 65;
maxBoundarySkewness 0.5;//20
maxInternalSkewness 4;
maxConcave 80;
minVol 1e-18;
minTetQuality 1e-30;
minArea -1;
minTwist 1e-3;
minDeterminant 1e-4;
minFaceWeight 1e-3;
minVolRatio 1e-3;
minTriangleTwist -1;
nSmoothScale 4;
errorReduction 0.75;
}


debug 0;
mergeTolerance 1e-5;


- I have tried to modify severals parameters:
nCellsBetweenLevels 20; (between 6 and 30)
The feature angle bewteen 10 and 95. It didn't changed anything
The location in mesh parameter

I have tried to do the mesh in a rectangular box and It worked really well. But as I want to model a rotor flow, I need to do the meshing in
a cylinder.

Does someone has already have the problem? How can I improve the meshing?
Thanks you very much for your help,

Best regards
Martin.

Ruli January 21, 2014 08:28

Hi Hennet,

I am currently encountering a similar problem (wind turbine rotor in 120° wedge). My snappy tests let me suggest, it`s the best to create a base mesh (e.g. with blockmesh), which is perfectly rectangular, at least in the area, where the object is positioned. You could try to build up your cylinder of several blocks, with the "central" block for snappy being rectangular.

Bye
Julian


All times are GMT -4. The time now is 03:39.