CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Native Meshers: snappyHexMesh and Others

Parts of Geometry not meshed by snappyHexMesh

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

Reply
 
LinkBack Thread Tools Display Modes
Old   July 5, 2012, 06:23
Default Parts of Geometry not meshed by snappyHexMesh
  #1
New Member
 
Deepak Cheekati
Join Date: Jul 2012
Location: Chennai, India
Posts: 21
Rep Power: 5
Turbulence is on a distinguished road
Hi Everyone,
I am currently trying to simulate free round jet flow. If the jet inlet diameter is d, my computational domain is a cylinder which is 250d in axial direction and has a diameter of 400d. PFA the image of background mesh with the geometry. Earlier I had problem of inlet pipe completely disappearing. So I chose a background mesh of this shape.
Now my inlet looks good, but my computational domain(the big cylinder) is not meshed.
Can anyone help me in this regard.
Thanks
Turbulence.
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(

(39.8 39.8 0)
(39.8 39.8 1.1)
(40.2 39.8 1.1)
(40.2 39.8 0)
(39.8 40.2 0)
(39.8 40.2 1.1)
(40.2 40.2 1.1)
(40.2 40.2 0)
(-5 -5 1.1)
(-5 -5 52)
(85 -5 52)
(85 -5 1.1)
(-5 85 1.1)
(-5 85 52)
(85 85 52)
(85 85 1.1)




);

blocks
(
hex (0 1 2 3 4 5 6 7) (100 100 100) simpleGrading (1 1 1)

hex (8 9 10 11 12 13 14 15) (200 200 200) simpleGrading (1 1 1)

);

boundary
(
bPlane
{
type patch;
faces
(
(0 1 2 3)
);
}
tPlane
{
type patch;
faces
(
(4 7 6 5)
);
}
fPlane
{
type patch;
faces
(
(0 4 5 1)
);
}

backPlane
{
type patch;
faces
(
(3 2 6 7)
);
}

lPlane
{
type patch;
faces
(
(0 3 7 4)
);
}

rPlane
{
type patch;
faces
(
(1 2 6 5)
);
}

BPlane
{
type patch;
faces
(
(8 9 10 11)
);
}
TPlane
{
type patch;
faces
(
(12 15 14 13)
);
}
FPlane
{
type patch;
faces
(
(8 12 13 9)
);
}

BackPlane
{
type patch;
faces
(
(11 15 14 10)
);
}

LPlane
{
type patch;
faces
(
(8 11 15 12)
);
}

RPlane
{
type patch;
faces
(
(9 10 14 13)
);
}


);


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

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

FoamFile

{

version 2.0;

format ascii;

class dictionary;

object snappyHexMeshDict;

}


castellatedMesh true;

snap true;

doLayers true;

addLayers true;

mergeTolerance 1e-06;

geometry

{
roundjet.stl

{
type triSurfaceMesh;
name round;
mergeSubRegions true;
}

};
meshQualityControls
{
maxNonOrtho 60;
maxBoundarySkewness 1.1;
maxInternalSkewness 0.7;
minVol 1e-13;
maxConcave 180;
minTwist 0.05;
minArea -1;
minTriangleTwist -1;
minDeterminant 0.001;
minFaceWeight 0.05;
minVolRatio 0.01;
minTetQuality 1e-30;
errorReduction 0.75;
nSmoothScale 4;

};

castellatedMeshControls

{
refinementSurfaces
{

round
{
level (8 10); // default (min max) refinement for surface

}

}

resolveFeatureAngle 45; //Applies maximum level of refinement to cells
//that can see intersections whose angle exceeds


refinementRegions

{

round

{

mode distance;

levels ((0.1 10) (0.5 4) (1 2));
}

}

locationInMesh (40 40 0.2);


maxLocalCells 1000000;

maxGlobalCells 2000000;

minRefinementCells 0;

nCellsBetweenLevels 5;

allowFreeStandingZoneFaces false;

features
(
);

};

snapControls

{

nSmoothPatch 20;

tolerance 2.0;

nSolveIter 30;

nRelaxIter 10;

};

addLayersControls

{

layers
{
round_a
{
nSurfaceLayers 3;
}
round_b
{
nSurfaceLayers 3;
}
round_c
{
nSurfaceLayers 3;
}
round_d
{
nSurfaceLayers 3;
}
round_e
{
nSurfaceLayers 3;
}
round_f
{
nSurfaceLayers 3;
}
round_g
{
nSurfaceLayers 3;
}
round_h
{
nSurfaceLayers 3;
}
round_i
{
nSurfaceLayers 3;
}
round_j
{
nSurfaceLayers 3;
}
}

expansionRatio 1.0;
finalLayerThickness 0.4;
minThickness 0.25;
nGrow 0;
relativeSizes true;
featureAngle 60;
nRelaxIter 7;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
maxFaceThicknessRatio 0.5;
nLayerIter 10;
maxThicknessToMedialRatio 0.2;
minMedianAxisAngle 80;
nBufferCellsNoExtrude 0;


};
Attached Images
File Type: jpg Screenshot.jpg (37.0 KB, 50 views)

Last edited by Turbulence; July 5, 2012 at 06:26. Reason: additional information
Turbulence is offline   Reply With Quote

Old   July 5, 2012, 08:02
Default
  #2
New Member
 
Stefanie Schiffer
Join Date: Mar 2010
Location: Cologne, Germany
Posts: 26
Rep Power: 7
StSchiff is on a distinguished road
Hi Turbulence,
could you upload a picture without the stl file and with the 'wire' or 'surface with edges' option on? And also at other time steps than 0.
Regards
Stefanie
StSchiff is offline   Reply With Quote

Old   July 5, 2012, 10:59
Default
  #3
New Member
 
Deepak Cheekati
Join Date: Jul 2012
Location: Chennai, India
Posts: 21
Rep Power: 5
Turbulence is on a distinguished road
Hi StSchiff,
I have considerably modified the case folder, but with no success.
Now I have reached a stage where if my locationInMesh points to a point inside the inlet pipe, then only inlet pipe is meshed, and the cylinder is lost, vise versa.

Sorry I could not provide you with what you asked.
My paraview stopped working. Will post the pic as soon as possible.

Thank you very much for replying
Modified code:

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

FoamFile

{

version 2.0;

format ascii;

class dictionary;

object snappyHexMeshDict;

}


castellatedMesh true;

snap true;

doLayers true;

addLayers true;

mergeTolerance 1e-06;

geometry

{
roundjet.stl

{
type triSurfaceMesh;
name round;
mergeSubRegions true;
}
refinementBox1
{
type searchableBox;
min (39.9 39.9 -0.1);
max (40.1 40.1 0.3);
}
refinementBox2
{
type searchableBox;
min (-0.1 -0.1 0.9);
max (80.1 80.1 1.2);
}
refinementBox3
{
type searchableBox;
min (-0.1 -0.1 50);
max (80.1 80.1 51.2);
}
};
meshQualityControls
{
maxNonOrtho 60;
maxBoundarySkewness 1.1;
maxInternalSkewness 0.7;
minVol 1e-13;
maxConcave 180;
minTwist 0.05;
minArea -1;
minTriangleTwist -1;
minDeterminant 0.001;
minFaceWeight 0.05;
minVolRatio 0.01;
minTetQuality 1e-30;
errorReduction 0.75;
nSmoothScale 4;

};

castellatedMeshControls

{
refinementSurfaces
{

round
{
level (8 10); // default (min max) refinement for surface

}

}

resolveFeatureAngle 45; //Applies maximum level of refinement to cells
//that can see intersections whose angle exceeds


refinementRegions

{

round

{

mode distance;

levels ((0.1 10) (0.5 4) (1 2));
}
refinementBox1
{
mode inside;
levels ((1.0 80));
}
refinementBox2
{
mode inside;
levels ((1.0 100));
}
refinementBox3
{
mode inside;
levels ((1.0 100));
}
}

locationInMesh (40 40.1 0.3);


maxLocalCells 1000000;

maxGlobalCells 2000000;

minRefinementCells 0;

nCellsBetweenLevels 5;

allowFreeStandingZoneFaces false;

features
(
);

};

snapControls

{

nSmoothPatch 10;

tolerance 2.0;

nSolveIter 10;

nRelaxIter 10;

};

addLayersControls

{

layers
{
round_a
{
nSurfaceLayers 3;
}
round_b
{
nSurfaceLayers 3;
}
round_c
{
nSurfaceLayers 3;
}
round_d
{
nSurfaceLayers 3;
}
round_e
{
nSurfaceLayers 3;
}
round_f
{
nSurfaceLayers 3;
}
round_g
{
nSurfaceLayers 3;
}
round_h
{
nSurfaceLayers 3;
}
round_i
{
nSurfaceLayers 3;
}
round_j
{
nSurfaceLayers 3;
}
}

expansionRatio 1.0;
finalLayerThickness 0.4;
minThickness 0.25;
nGrow 0;
relativeSizes true;
featureAngle 60;
nRelaxIter 7;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
maxFaceThicknessRatio 0.5;
nLayerIter 10;
maxThicknessToMedialRatio 0.2;
minMedianAxisAngle 80;
nBufferCellsNoExtrude 0;


};


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

convertToMeters 1;

vertices
(

(39.8 39.8 0)
(39.8 39.8 1.1)
(40.2 39.8 1.1)
(40.2 39.8 0)
(39.8 40.2 0)
(39.8 40.2 1.1)
(40.2 40.2 1.1)
(40.2 40.2 0)
(-5 -5 1.1)
(-5 -5 52)
(85 -5 52)
(85 -5 1.1)
(-5 85 1.1)
(-5 85 52)
(85 85 52)
(85 85 1.1)




);

blocks
(
hex (0 1 2 3 4 5 6 7) (100 100 100) simpleGrading (1 1 1)

hex (8 9 10 11 12 13 14 15) (200 200 200) simpleGrading (1 1 1)

);

boundary
(
bPlane
{
type patch;
faces
(
(0 1 2 3)
);
}
tPlane
{
type patch;
faces
(
(4 7 6 5)
);
}
fPlane
{
type patch;
faces
(
(0 4 5 1)
);
}

backPlane
{
type patch;
faces
(
(3 2 6 7)
);
}

lPlane
{
type patch;
faces
(
(0 3 7 4)
);
}

rPlane
{
type patch;
faces
(
(1 2 6 5)
);
}

BPlane
{
type patch;
faces
(
(8 9 10 11)
);
}
TPlane
{
type patch;
faces
(
(12 15 14 13)
);
}
FPlane
{
type patch;
faces
(
(8 12 13 9)
);
}

BackPlane
{
type patch;
faces
(
(11 15 14 10)
);
}

LPlane
{
type patch;
faces
(
(8 11 15 12)
);
}

RPlane
{
type patch;
faces
(
(9 10 14 13)
);
}


);


// ************************************************** *********************** //
Turbulence is offline   Reply With Quote

Old   August 7, 2012, 08:58
Default
  #4
Member
 
Kalyan
Join Date: Oct 2011
Location: Columbus, Ohio
Posts: 53
Blog Entries: 1
Rep Power: 5
kalyangoparaju is on a distinguished road
Deepak,

If I understand your problem right, you have a cylinder ( pipe) within a bigger pipe(domain) right? And do you want to mesh the inside of the smaller pipe or outside of the smaller pipe?

Let us know so that we can be of more help :-)

Kalyan
kalyangoparaju is offline   Reply With Quote

Old   August 8, 2012, 14:03
Default SHM Problem
  #5
New Member
 
Tom
Join Date: Nov 2011
Location: Atlanta, Ga
Posts: 21
Rep Power: 5
Irish09 is on a distinguished road
Deepak,

From what I understand of your problem, you may be attempting to do something in a more complicated fashion than necessary.

Look at my 2-dimensional figure here:

cylinder.jpg

Figure A shows a cylinder representing where the jet will be protruding into the domain with which you want to study. It's hard to tell from your first image, but if your set up is like this, then OpenFOAM will not like having a mesh on two sides of a wall and to my knowledge there is no way around that.

Figure C shows the cylinder for the jet being directly next to the domain in which the jet will flow into. If you setup is like this, then when you tell SHM that the interior is inside your cylinder, then that is all that will mesh and if you tell it the interior is inside the larger domain, then that is all that will mesh. Once SHM reaches the boundary of what it perceives to be the interior of the flow it won't look any farther for more objects to mesh. Therefore one will inevitably not be meshed in this process.

Figure B shows the cylinder and the outlet domain as one STL file. This makes it slightly more complicated to apply boundary conditions as you have to use Salome, ProEngineer, Paraview, or some other program to split the surfaces into different parts, but it will mesh correctly in SHM.

In my opinion, it is probably easier to make the mesh that you are desiring using a blockMeshDict file directly. I know you can make circles by utilizing two arcs and hardcode all the necessary information into it, but it is probably still easier and will produce a better and more controllable mesh than SHM.

Hope this helps.
Irish09 is offline   Reply With Quote

Old   August 8, 2012, 16:27
Default
  #6
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 725
Rep Power: 18
mturcios777 will become famous soon enough
Looking at situation A, it is possible to have internal faces (baffles), but not by default in blockMesh. If you can get the faces to exist (not too bad in blockMesh), then you have to do a little magic with topoSet and the baffles utilities (createBaffles and mergeOrSplitBaffles).
mturcios777 is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[DesignModeler] Error while Loading a Geometry JD944 ANSYS Meshing & Geometry 0 October 25, 2011 14:51
Question about Geometry vs. Meshes EphemeralMemory ANSYS Meshing & Geometry 1 October 12, 2011 13:44
Simulation of Flow through Complex 3D Geometry EmersonKB CFX 5 July 2, 2009 08:17
how to mesh my geometry with two parts of volumes chankhar FLUENT 1 June 5, 2006 07:38
CFX10 post, geometry parts not visible Claudia CFX 0 May 19, 2006 07:22


All times are GMT -4. The time now is 08:47.