|
[Sponsors] | |||||
[mesh manipulation] mirrorMesh with included boundaries? |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|
|
#1 |
|
Member
Join Date: Feb 2015
Posts: 39
Rep Power: 12 ![]() |
Hi everyone. I have a case that uses sliding meshes (two oscillation airfoils using multiSolidBodyMotionFvMeshCoeffs). Unluckly the solution shows some asymmetry that does not make sense. This I want to create half the domain, run sHM and mirror the case to be sure that I have a symmetric mesh (at least for the timestep 0, later both airfoils oscillate in phase). It works fine for the mesh but it does not include a mirrored copy of the boundaries and cellZones which I need for the oscillation.
Do you guys have any idea how to get those as well? Or is there a setting that lets sHM create a symmetric mesh along a plane so I don't have to run mirrorMesh? Here is my sHM file: Code:
/*--------------------------------*- C++ -*----------------------------------*\
| o | |
| o o | HELYX |
| o O o | Version: v2.1.1 |
| o o | Web: http://www.engys.com |
| o | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location system;
object snappyHexMeshDict;
}
castellatedMesh true;
snap true;
addLayers true;
autoBlockMesh false;
blockData ( 0.01 0);
crackDetection false;
crackTol 0.05;
geometry
{
box_wake
{
type searchableBox;
min ( 0.3 0.0 0 );
max ( 2.0 1.4 0.5 );
}
box_right
{
type searchableBox;
min ( -0.2 0.0 0.1 );
max ( 1.0 1.2 0.7 );
}
airfoil_right.stl
{
type triSurfaceMesh;
name airfoil_right;
appendRegionName false;
}
zylinder_right.stl
{
type triSurfaceMesh;
name slidingCellZoneRight;
appendRegionName false;
}
}
castellatedMeshControls
{
features
(
{
file "right_bottom.eMesh";
level 3;
}
{
file "right_top.eMesh";
level 3;
}
{
file "right_TE.eMesh";
level 3;
}
);
refinementSurfaces
{
airfoil_right
{
level ( 3 3 );
}
slidingCellZoneRight
{
cellZoneInside inside;
cellZone movingZoneRight;
faceType boundary;
faceZone movingZoneRight;
level ( 3 3 );
}
}
refinementRegions
{
box_wake
{
mode inside;
levels (( 1E5 1 ));
}
box_right
{
mode inside;
levels (( 1E5 1 ));
}
}
locationInMesh ( 0.1 0.1 0.1 );
maxLocalCells 100000000;
maxGlobalCells 100000000;
minRefinementCells 100;
maxLoadUnbalance 0.10;
nCellsBetweenLevels 3;
resolveFeatureAngle -60.;
featureRefineAngle 20.;
refineSurfaceBoundary false;
allowFreeStandingZoneFaces false;
balanceThenRefine true;
nGapRefinements 0;
minZoneRegionSize 0;
wrapper
{
wrap false;
cutoff 0.02;
sigma 3.0;
volSources true;
volDistance 1.0;
meshInMM false;
maxIter 200;
writeFields false;
invert false;
}
}
snapControls
{
featureEdges
{
}
nOuterIter 1;
nPreFeatureIter 0;
nSolveIter 10;
nFeatureIter 60;
globalFeatureEdges true;
globalRegionSnap false;
nSmoothPatch 2;
tolerance 4.0;
nRelaxIter 5;
zoneFeatureSnapping true;
directFeatureSnapping true;
regionFeatureLines false;
geometryFeatureLines true;
snapSurfBoundary true;
collapseTol 0.25;
}
addLayersControls
{
layers
{
airfoil_right
{
nSurfaceLayers 4;
expansionRatio 1.5;
fch 5.0E-4;
grownUp false;
}
floor
{
nSurfaceLayers 6;
expansionRatio 1.5;
fch 5.0E-4;
}
ceiling
{
nSurfaceLayers 6;
expansionRatio 1.5;
fch 5.0E-4;
}
right
{
nSurfaceLayers 6;
expansionRatio 1.5;
fch 5.0E-4;
}
}
relativeSizes true;
expansionRatio 1.25;
finalLayerThickness 0.4;
minThickness 0.2;
featureAngle 180; //Added later on
featureAngleMerge 180; // changed from 91
featureAngleTerminate 180; // changed from 91
nRelaxIter 5;
maxFaceThicknessRatio 2.0;
maxThicknessToMedialRatio 0.3;
minMedialAxisAngle 90;
maxLayerIter 30;
growConvexEdge true;
growConcaveEdge true;
growUpPatches true;
preBalance false;
writeVTK false;
noErrors false;
layerRecovery 1;
growZoneLayers false;
projectGrownUp 0.0;
}
meshQualityControls
{
maxNonOrtho 65;
maxBoundarySkewness 20;
maxInternalSkewness 4;
maxConcave 80;
minFlatness 0.5;
minVol 1e-14;
minTetQuality -1e30;
minArea 1e-13;
minTwist 0.05;
minDeterminant 0.0001;
minFaceWeight 0.05;
minVolRatio 0.01;
minTriangleTwist -0.99;
nSmoothScale 10;
errorReduction 0.75;
faceFaceCells true;
}
debug 0;
mergeTolerance 1E-6;
repatchRegions
{
movingPatchRight
{
location ( 0.0 0.1 0.35 );
excludePatches ( slidingCellZoneRight slidingCellZoneRight_slave );
zone movingZoneRight;
}
}
Henning Here is a picture of (a part of) the mirrored mesh without the zones and boundaries at and around the upper airfoil: ![]()
Last edited by HenningW; June 3, 2015 at 12:02. Reason: Picture did not work |
|
|
|
|
|
|
|
|
#2 |
|
Senior Member
Daniel P. Combest
Join Date: Mar 2009
Location: St. Louis, USA
Posts: 621
Rep Power: 0 ![]() ![]() |
Henning,
First off, welcome to the forum. Secondly, you have numerous approaches to solve your problem:
I would try the first option, though I'm not sure how well mirrorMesh turned out since your images did not appear in your post. Good luck and I hope this helps. |
|
|
|
|
|
|
|
|
#3 |
|
Member
Join Date: Feb 2015
Posts: 39
Rep Power: 12 ![]() |
Hi Dan,
tanks a lot for your response. I think I tried your second approach by generating a large domain and putting in 2 stl files symmetric to my x-axis. After that I ran sHM and pimpleDyMFoam. Unluckly, those are the results that are not symmetric and why I wanted to try mirrorMesh, because I am not 100% suer that the mesh is symmetric along the x-axis in that approach. I will take a look at the first approach. However, I have never done that and might ask a few more questions about topoSet soon =) However, thanks again for your help Henning |
|
|
|
|
|
![]() |
| Tags |
| mirrormesh, multisolidbodymotionfvmes, shm, sliding mesh, snappyhexmesh |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Definition of y+ in yPlusRAS (1.7.1) | Taka1 | OpenFOAM Programming & Development | 41 | May 23, 2020 13:05 |
| [OpenFOAM.org] OpenFOAM 5.x (mrklein patch) and macOS High Sierra | podallaire | OpenFOAM Installation | 14 | March 27, 2020 15:45 |
| error during compilation of new solver | harsha_kulkarni | OpenFOAM Programming & Development | 2 | November 7, 2019 01:47 |
| error compiling modified applications | yvyan | OpenFOAM Programming & Development | 21 | March 1, 2016 05:53 |
| Compilation errors in ThirdPartymallochoard | feng_w | OpenFOAM Installation | 1 | January 25, 2009 07:59 |