|
[Sponsors] |
[mesh manipulation] Problems with rotational cyclic boundaries |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 13, 2012, 10:42 |
Problems with rotational cyclic boundaries
|
#1 |
New Member
Thomas Reviol
Join Date: Jul 2011
Location: Germany, Kaiserslautern
Posts: 27
Rep Power: 15 |
Dear Foamers,
I am using OpenFOAM 1.6-ext and 2.1.0. In 1.6-ext I created a rotational cyclic BC without any Problems. In Version 2.1.0, I can't create these BC without any errors. I also tried translational cyclicys with another Case. These are running without any Problems in both Versions. So, I think there is no mistake in my proceeding. The Problem occurs only for rotating problems. Here the createPatchDict I am using for OF2.1.0: Code:
pointSync false; patches ( { name TRANS_PER1; patchInfo { type cyclic; neighbourPatch TRANS_PER2; transform rotational; rotationAxis (1 0 0); rotationCentre (0 0 0); matchTolerance 1E-04; } constructFrom patches; patches ("PERIODIC1"); } { name TRANS_PER2; patchInfo { type cyclic; neighbourPatch TRANS_PER1; transform rotational; rotationAxis (0 0 1); rotationCentre (0 0 0); matchTolerance 1E-04; } constructFrom patches; patches ("periodic_sh"); } ); Code:
7 ( SHROUD { type wall; nFaces 1179; startFace 168915; } HUB { type wall; nFaces 1025; startFace 170094; } AIRFOIL { type wall; nFaces 8118; startFace 171119; } IN { type patch; nFaces 534; startFace 179237; } OUT { type patch; nFaces 248; startFace 179771; } PERIODIC1 { type patch; nFaces 762; startFace 180019; } periodic_sh { type patch; nFaces 762; startFace 180781; } ) Code:
... Cannot find point in pts1 matching point 9164 coord:(67.6458 1.53543e-14 67.5526) in pts0 when using tolerance 0.000339588 Searching started from:9163 in pts1 Compared coord:(-63.1278 -1.43289e-14 67.5526) with difference to point 130.774 Compared coord:(-67.6458 -1.53543e-14 67.5526) with difference to point 135.292 cyclicPolyPatch::order : Writing neighbour faces to OBJ file "/scratch/reviol/Vorlesung/Sphere/TRANS_PER1_faces.obj" cyclicPolyPatch::order : Writing my faces to OBJ file "/scratch/reviol/Vorlesung/Sphere/TRANS_PER2_faces.obj" cyclicPolyPatch::order : Dumping currently found cyclic match as lines between corresponding face centres to file "/scratch/reviol/Vorlesung/Sphere/TRANS_PER2_faceCentres.obj" --> FOAM Serious Error : From function cyclicPolyPatch::order(const primitivePatch&, labelList&, labelList&) const in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 1381 Patch:TRANS_PER2 : Cannot match vectors to faces on both sides of patch Perhaps your faces do not match? The obj files written contain the current match. Continuing with incorrect face ordering from now on! Does anyone find a mistake in my proceedings? Regards Thomas Reviol |
|
March 13, 2012, 11:25 |
|
#2 |
Senior Member
Steven van Haren
Join Date: Aug 2010
Location: The Netherlands
Posts: 149
Rep Power: 16 |
Hi Thomas,
If you post the case (without cyclics) I can take a look. It is difficult to judge the case like this. Regards, Steven |
|
March 25, 2012, 01:08 |
|
#3 |
Member
Vishal Achasrya
Join Date: Nov 2011
Posts: 38
Rep Power: 15 |
Im facing the exact same issue. Direct specification of cyclic type in blockmeshdict and then running a blockmesh gives no errors. but when i do a checkmesh, it says that the 0th vertex has issues..
What did you do in 1.6-ext that makes it work there? Can you share the method in which you did this? did you directly do this in blockmeshdict? or did you make it a patch first and then try createpatch? ~Vishal |
|
March 25, 2012, 07:24 |
|
#4 |
New Member
Thomas Reviol
Join Date: Jul 2011
Location: Germany, Kaiserslautern
Posts: 27
Rep Power: 15 |
Hi Vishal,
in OF16ext, the Problem I solved was with planar cyclic-faces. The problem I asked for above is with planar and non-planar cyclic-faces. The problem seems to be the non-planar faces. I found in many threads the same Problem: e.g http://www.cfd-online.com/Forums/ope...ferrerid=39754. The cyclic-periodic of non-planar, rotational interfaces is only working when a face in the first interface Partner is indexed with i and the corresponding face of the second interface Partner is indexed with i+n/2 where n is the total number of the interface-elements. (Please correct me if I missunderstood how createPatch works). The only way to use such faces for cyclic boundarys is to renumber the mesh. Up to now I didn't find a way for a correct renumbering. I just rerun the case with planar faces in OF210 an OF16ext, so I didn't realize the difference. And furthermore with the knowledge about the renumbering I am not sure about the correctness of the solution with planar faces. So I didn't find a reliable way to solve these problems. I created all meshes in ICEMCFD. I guess it is possible to create a correct numbered mesh with blockMesh, but I'm not sure. When I find the solution I will tell you how it works. Perhaps someone else knows the solution for this problem? Regards Thomas PS: here is the createPatchDict I used in OF16ext: Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM Extend Project: Open source CFD | | \\ / O peration | Version: 1.6-ext | | \\ / A nd | Web: www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object createPatchDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // matchTolerance 1E-3; pointSync true; patchInfo ( { name CYCLIC; dictionary { type cyclic; transform rotational; rotationAngle 90; rotationAxis (0 0 1); rotationCentre (0 0 0); } constructFrom patches; patches ("PERIODIC1" "PERIODIC2"); } ); // ************************************************************************* // |
|
March 25, 2012, 23:51 |
|
#5 |
Member
Vishal Achasrya
Join Date: Nov 2011
Posts: 38
Rep Power: 15 |
I do understand. My simulation uses rotationally cyclic BC. some faces are flat and some have a profile.
In OF16ext, what you said is true. Any version of OF before 2.x uses the old cyclic specification which is to have 1 to n/2 mapping onto n/2+1 to n. This is what createPatch creates. In OF 2.x and later, the separate cyclic faces are specified separately and use the neighborPatch to know their mapping. In case you use OF16ext case in OF2.x, you can take the 16ext case and run "foamUpgradeCyclics" to make it 2.x compatible. One more thing, if you use 2.1.0 then that is the problem. It has a bug with the rotational cyclic creation using blockmesh.... use 2.1.x and install OF using git and run git pull often to make sure you have latest files. I am using 2.1.x and my same case which gave errors in 2.1.0 now works in 2.1.x without errors and no changes made. If your case works in 16ext, just create it there and convert it to 2.1.x using the foamUpgradeCyclics utility. |
|
May 24, 2012, 11:40 |
|
#6 |
Member
Join Date: Apr 2010
Posts: 61
Rep Power: 16 |
Maybe you can try with cyclic GGI.
There's more information here: https://cmg.soton.ac.uk/community/at...LloydAug11.pdf http://www.tfd.chalmers.se/~hani/kur...dy_2010_OP.pdf |
|
May 6, 2013, 06:32 |
|
#7 |
New Member
Thomas Reviol
Join Date: Jul 2011
Location: Germany, Kaiserslautern
Posts: 27
Rep Power: 15 |
Hi sam1364,
since OF 2.1.1., my problems with cyclics are solved. Perhaps you could also try a newer version. I never tried the latest version, but I assume that OF 2.2.0. will also be able to handle cyclics. Regards Thomas |
|
July 15, 2013, 11:57 |
|
#8 |
Senior Member
Henrik Rusche
Join Date: Mar 2009
Location: Wernigerode, Sachsen-Anhalt, Germany
Posts: 281
Rep Power: 18 |
Please note that the transformation in the original post (#1) is incorrect as the rotationAxis is not identical.
Henrik |
|
July 11, 2014, 04:45 |
|
#9 |
New Member
Tommy V
Join Date: Nov 2013
Posts: 29
Rep Power: 13 |
Hi guys,
working on OpenFoam 2.2.0 i`m having a similar problem. Thomas, unfortunately the newest version is not solving my problem. Is a channel with 6 inclined lateral surfaces. I need to make 4 of these boundaries cyclic (2by2). Please check my post http://www.cfd-online.com/Forums/ope...l-patches.html I tried applying a rotation, renumbering mesh, modifying way to export mesh from Gambit (exported as fluent 5/6 and then imported in OpenFoam via fluent3DMeshToFoam), no way to let it work. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
wedge vs rotational cyclic boundary conditions? | wildfire230 | OpenFOAM Running, Solving & CFD | 4 | January 2, 2021 10:29 |
[Commercial meshers] Rotational cyclic BC in ICEM generated mesh | esgee | OpenFOAM Meshing & Mesh Conversion | 0 | May 8, 2013 09:42 |
how to create cyclic from 2 boundaries in Openfoam 1.7.1 | vsflap | OpenFOAM | 4 | April 26, 2013 04:30 |
mapFields - Changing from turbulentInlet/outlet boundaries to cyclic boundaries | TianC | OpenFOAM Pre-Processing | 8 | January 16, 2013 06:15 |
error in cyclic boundaries match | Steve | Siemens | 2 | March 4, 2008 05:32 |