|
[Sponsors] |
October 4, 2022, 15:52 |
sub-division mismatch in 2d wedge
|
#1 |
New Member
Join Date: Sep 2022
Posts: 6
Rep Power: 3 |
Hi, I am kind of new in Openfoam and blockMeshDict. I am working on a 2D axisymmetric wedge case with two nonlinear edges in the bottom faces and here is my blockMeshDict:
Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2012 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // scale 0.001; n 100; //power a 0.15; //ridge amplitude lambda 4; //wavelength of ridge halfAngle 2.5; //half angle of wedge in degrees offset 90; maxX #eval{ $lambda*cos(degToRad($halfAngle)) }; //vertices 2,3,7,8 x-coordinates maxY #eval{ $lambda*sin(degToRad($halfAngle)) }; //vertices 2,3,7,8 y-coordinates abs //interpolation points x-y-z coordinates r1 0.1; x1 #calc "$r1*cos(degToRad($halfAngle))"; y1 #calc "$r1*sin(degToRad($halfAngle))"; z1 #calc "$a*Foam::pow(sin($r1/$lambda + degToRad($offset)), $n)"; r2 0.2; x2 #calc "$r2*cos(degToRad($halfAngle))"; y2 #calc "$r2*sin(degToRad($halfAngle))"; z2 #calc "$a*Foam::pow(sin($r2/$lambda + degToRad($offset)), $n)"; r3 0.3; x3 #calc "$r3*cos(degToRad($halfAngle))"; y3 #calc "$r3*sin(degToRad($halfAngle))"; z3 #calc "$a*Foam::pow(sin($r3/$lambda + degToRad($offset)), $n)"; r4 0.4; x4 #calc "$r4*cos(degToRad($halfAngle))"; y4 #calc "$r4*sin(degToRad($halfAngle))"; z4 #calc "$a*Foam::pow(sin($r4/$lambda + degToRad($offset)), $n)"; r5 0.5; x5 #calc "$r5*cos(degToRad($halfAngle))"; y5 #calc "$r5*sin(degToRad($halfAngle))"; z5 #calc "$a*Foam::pow(sin($r5/$lambda + degToRad($offset)), $n)"; r6 0.6; x6 #calc "$r6*cos(degToRad($halfAngle))"; y6 #calc "$r6*sin(degToRad($halfAngle))"; z6 #calc "$a*Foam::pow(sin($r6/$lambda + degToRad($offset)), $n)"; r7 0.7; x7 #calc "$r7*cos(degToRad($halfAngle))"; y7 #calc "$r7*sin(degToRad($halfAngle))"; z7 #calc "$a*Foam::pow(sin($r7/$lambda + degToRad($offset)), $n)"; r8 0.8; x8 #calc "$r8*cos(degToRad($halfAngle))"; y8 #calc "$r8*sin(degToRad($halfAngle))"; z8 #calc "$a*Foam::pow(sin($r8/$lambda + degToRad($offset)), $n)"; r9 0.9; x9 #calc "$r9*cos(degToRad($halfAngle))"; y9 #calc "$r9*sin(degToRad($halfAngle))"; z9 #calc "$a*Foam::pow(sin($r9/$lambda + degToRad($offset)), $n)"; r10 1.0; x10 #calc "$r10*cos(degToRad($halfAngle))"; y10 #calc "$r10*sin(degToRad($halfAngle))"; z10 #calc "$a*Foam::pow(sin($r10/$lambda + degToRad($offset)), $n)"; r11 1.1; x11 #calc "$r11*cos(degToRad($halfAngle))"; y11 #calc "$r11*sin(degToRad($halfAngle))"; z11 #calc "$a*Foam::pow(sin($r11/$lambda + degToRad($offset)), $n)"; r12 1.2; x12 #calc "$r12*cos(degToRad($halfAngle))"; y12 #calc "$r12*sin(degToRad($halfAngle))"; z12 #calc "$a*Foam::pow(sin($r12/$lambda + degToRad($offset)), $n)"; r13 1.3; x13 #calc "$r13*cos(degToRad($halfAngle))"; y13 #calc "$r13*sin(degToRad($halfAngle))"; z13 #calc "$a*Foam::pow(sin($r13/$lambda + degToRad($offset)), $n)"; r14 1.4; x14 #calc "$r14*cos(degToRad($halfAngle))"; y14 #calc "$r14*sin(degToRad($halfAngle))"; z14 #calc "$a*Foam::pow(sin($r14/$lambda + degToRad($offset)), $n)"; r15 1.5; x15 #calc "$r15*cos(degToRad($halfAngle))"; y15 #calc "$r15*sin(degToRad($halfAngle))"; z15 0; vertices ( (0 0 $a) //0 ($x15 $y15 $z15) //1 ($maxX $maxY 0) //2 ($maxX $maxY 4) //3 ($x15 $y15 4) //4 (0 0 4) //5 ($x15 #eval{-1*$y15} $z15) //6 ($maxX #eval{-1*$maxY} 0) //7 ($maxX #eval{-1*$maxY} 4) //8 ($x15 #eval{-1*$y15} 4) //9 ); blocks ( hex (0 6 1 0 5 9 4 5) (60 1 100) simpleGrading (1 1 10) hex (1 6 7 2 4 9 8 3) (20 1 100) simpleGrading (10 1 10) ); edges ( spline 0 1 ( (0 0 $a) ($x1 $y1 $z1)//($x1 $y1 0.145380) ($x2 $y2 $z2)//($x2 $y2 0.132370) ($x3 $y3 $z3)//($x3 $y3 0.113200) ($x4 $y4 $z4)//($x4 $y4 0.090900) ($x5 $y5 $z5)//($x5 $y5 0.068540) ($x6 $y6 $z6)//($x6 $y6 0.048490) ($x7 $y7 $z7)//($x7 $y7 0.032190) ($x8 $y8 $z8)//($x8 $y8 0.020030) ($x9 $y9 $z9)//($x9 $y9 0.011680) ($x10 $y10 $z10)//($x10 $y10 0.006380) ($x11 $y11 $z11) ($x12 $y12 $z12) ($x13 $y13 $z13) ($x14 $y14 $z14) ($x15 $y15 $z15) ) spline 0 6 ( (0 0 $a) ($x1 #eval{-1*$y1} $z1) ($x2 #eval{-1*$y2} $z2) ($x3 #eval{-1*$y3} $z3) ($x4 #eval{-1*$y4} $z4) ($x5 #eval{-1*$y5} $z5) ($x6 #eval{-1*$y6} $z6) ($x7 #eval{-1*$y7} $z7) ($x8 #eval{-1*$y8} $z8) ($x9 #eval{-1*$y9} $z9) ($x10 #eval{-1*$y10} $z10) ($x11 #eval{-1*$y11} $z11) ($x12 #eval{-1*$y12} $z12) ($x13 #eval{-1*$y13} $z13) ($x14 #eval{-1*$y14} $z14) ($x15 #eval{-1*$y15} $z15) ) ); boundary ( lowerWall { type wall; faces ( (0 6 1 0) (1 6 7 2) ); } atmosphere { type patch; faces ( (5 9 4 5) (4 9 8 3) (2 7 8 3) ); } axis { type empty; faces ( (0 5 5 0) ); } front { type wedge; faces ( (0 1 4 5) (1 2 3 4) ); } back { type wedge; faces ( (0 5 9 6) (6 9 8 7) ); } ); mergePatchPairs ( ); // ************************************************************************* // Code:
Creating block edges No non-planar block faces defined Creating topology blocks Creating topology patches Creating block mesh topology --> FOAM Warning : From virtual void Foam::wedgePolyPatch::calcGeometry(Foam::PstreamBuffers&) in file meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C at line 72 Wedge patch 'front' is not planar. At local face at (0.754058 0.0329229 2.03726) the normal (-0.0436195 0.999048 0) differs from the average normal (-0.0436194 0.999048 6.93889e-19) by 4.14191e-15 Either correct the patch or split it into planar parts --> FOAM Warning : From virtual void Foam::wedgePolyPatch::calcGeometry(Foam::PstreamBuffers&) in file meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C at line 72 Wedge patch 'front' is not planar. At local face at (2.74738 0.119953 2) the normal (-0.0436193 0.999048 1.38778e-18) differs from the average normal (-0.0436194 0.999048 6.93889e-19) by 4.14191e-15 Either correct the patch or split it into planar parts --> FOAM Warning : From virtual void Foam::wedgePolyPatch::calcGeometry(Foam::PstreamBuffers&) in file meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C at line 72 Wedge patch 'back' is not planar. At local face at (0.754058 -0.0329229 2.03726) the normal (-0.0436194 -0.999048 0) differs from the average normal (-0.0436195 -0.999048 6.93889e-19) by 6.23259e-15 Either correct the patch or split it into planar parts --> FOAM Warning : From virtual void Foam::wedgePolyPatch::calcGeometry(Foam::PstreamBuffers&) in file meshes/polyMesh/polyPatches/constraint/wedge/wedgePolyPatch.C at line 72 Wedge patch 'back' is not planar. At local face at (2.74738 -0.119953 2) the normal (-0.0436196 -0.999048 1.38778e-18) differs from the average normal (-0.0436195 -0.999048 6.93889e-19) by 6.23259e-15 Either correct the patch or split it into planar parts Check topology Basic statistics Number of internal faces : 1 Number of boundary faces : 10 Number of defined boundary faces : 10 Number of undefined boundary faces : 0 Checking patch -> block consistency Creating block offsets Creating merge list (topological search).. --> FOAM FATAL ERROR: (openfoam-2012) Sub-division mismatch between face 1 of block 0(2 101) and face 2 of block 1(21 101) From void Foam::blockMesh::calcTopologicalMerge() in file blockMesh/blockMeshMergeTopological.C at line 414. FOAM exiting Chris |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
chtMultiRegionFoam: two fluid regions separated by a thin, conducting wall | JayDeeUU | OpenFOAM Pre-Processing | 16 | July 22, 2021 21:17 |
[Other] Wedge patch '*' is not planar | LilumDaru | OpenFOAM Meshing & Mesh Conversion | 6 | January 12, 2021 05:55 |
Axisymmetric Whirl BCs; Wedge or Cyclic? | c_dowd | OpenFOAM Pre-Processing | 4 | December 5, 2012 10:38 |
Wedge and morpher | Henry Arrigo | STAR-CCM+ | 5 | July 6, 2012 18:34 |
Wall boundary is ignored when using wedge | Wedge | OpenFOAM | 1 | February 7, 2011 06:20 |