|
[Sponsors] |
[Commercial meshers] Fluent msh and cyclic boundary |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 9, 2006, 11:47 |
Thanks for the answers!
The
|
#21 |
New Member
Steffen Jahnke
Join Date: Mar 2009
Posts: 14
Rep Power: 17 |
Thanks for the answers!
The solution was much simpler and is already mentioned in the thread. Only the error message was confusing me.... So I realized that a simple renumbering of the mesh solved the problem. //Steffen |
|
July 17, 2007, 09:36 |
Hello,
I tried to follow th
|
#22 |
Member
Thomas Wolfanger
Join Date: Mar 2009
Location: South West Germany
Posts: 62
Rep Power: 17 |
Hello,
I tried to follow the above discussion but to be honest, there are still some things unclear to me. The background for coming back to the question of (translational) cyclic bcs is that I'm trying to calculate the flow through cascades of profiles. My setup looks like this: cyclic ____ \____ Profile Inlet \ ____ Outlet \____ cyclic I generate the mesh using blockMesh with all the cyclic faces put into one patch. All works ok as long as the cyclic boundaries consist of planar patches. When changing to arc shaped patches, problems similar to these mentioned in this thread before appear. What also seems strange to me is the fact that, if the cyclic bcs are planar, I can run simpleFoam without running couplePatches and it works. But it refuses to work when the arc shaped patches are introduced, in spite of the fact that (this is at least what I assume) the face numering (which seems to be important) *should* be the same in both cases. So, here are the questions: 1. Is it possible to have cyclic bcs with non-planar patches? 2. If face numbering is important, how can I take influence on that in blockMesh? 3. Do I have to put the cyclic faces into two separated patches in blockMesh and merge them? 4. What does couplePatch actually do and how do I setup a case in blockMesh to be used with couplePatches? Best regards, -Thomas |
|
July 18, 2007, 05:22 |
1. The numerics can handle tha
|
#23 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 |
1. The numerics can handle that as long a there is a single translation vector (see coupledPolyPatch::calcTransformationTensors).
Any topology change cannot handle it (couplePatches, mergePatchPairs inside blockMesh, createPatch) since they try to do the face ordering based on face centres only. 2. by making sure the faces of the blocks are in the same order (I guess they are generated block by block). Print out the face centres and check by hand or go through the blockMesh code. 3. No, blockMesh has topological knowledge of cyclics so should do a better job of matching than couplePatches etc. 4. coupledPatch (like createPatch) takes all faces on a coupled patch and tries and order them so they are 'opposite'. Since it only has face centres to work with it will only work for planes. |
|
July 23, 2007, 05:27 |
Mattijs,
thanks for your he
|
#24 |
Member
Thomas Wolfanger
Join Date: Mar 2009
Location: South West Germany
Posts: 62
Rep Power: 17 |
Mattijs,
thanks for your help. From your answers, I concluded that translational cyclic bcs with curved walls are possible. Double-checking my blockMeshDict, I found that there was a small error in the coordinate setting of one point defining the curved bc which caused simpleFoam to break. After correcting this bug, simpleFoam ran as expected. Best regards, -Thomas |
|
August 29, 2007, 10:50 |
Steffen,
I've got the same
|
#25 |
Senior Member
Cedric DUPRAT
Join Date: Mar 2009
Location: Nantes, France
Posts: 195
Rep Power: 17 |
Steffen,
I've got the same problem as your upper one (March 07, 2006), with a periodic pipe: running OF, I got this message : FOAM FATAL ERROR : face 0 and 7761 areas do not match by 98.4462% -- possible face ordering problem and running couplePatch, I got this one: Doing dummy mesh morph to correct face ordering ... --> FOAM Serious Error : From function cyclicPolyPatch::geometricOrder in file meshes/polyMesh/polyPatches/derivedPolyPatches/cyclicPolyPatch/cyclicPolyPatch.C at line 652 patch:CYCLIC : Cannot match vectors to faces on both sides of patch half0Ctrs[0]-0.5 -0.0492596010219 0.0492557149549) half1Ctrs[0]-0.5 -0.0508307124148 -0.0526534440746) Please use topological matching or adapt the featureCos() setting Continuing with incorrect face ordering from now on! Mesh ordering ok. Nothing changed. You wrote later that renumbering the mesh was the solution for your case, I would like to try with mine. how did you do that ? Thank you for your answer, I hope you didn't forget how to do :o) I'd like to try your solution before other hints Regards, Cedric |
|
June 17, 2008, 01:51 |
Hello,
I have a mesh from T
|
#26 |
New Member
Mohd Yousuf
Join Date: Mar 2009
Location: Kharagpur
Posts: 18
Rep Power: 17 |
Hello,
I have a mesh from T-grid. I am trying to apply cyclic bc on this mesh but am not understanding how to renumber the faces. couplePatch gives following error Doing dummy mesh morph to correct face ordering ... --> FOAM Serious Error : From function cyclicPolyPatch::order(const primitivePatch&, labelList&, labelList&) const in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 726 patch:leftRight0 : Cannot match vectors to faces on both sides of patch half0Ctrs[0]-0.085419 -0.258388 0.710859) half1Ctrs[0]-0.898367 -0.0555492 0.153664) Please use topological matching or adapt the featureCos() setting Continuing with incorrect face ordering from now on! Mesh ordering ok. Nothing changed. End What exactly are these coordinates and how can i renumber my mesh? -Yousuf |
|
June 19, 2008, 02:57 |
Hi again,
Here is the link
|
#27 |
New Member
Mohd Yousuf
Join Date: Mar 2009
Location: Kharagpur
Posts: 18
Rep Power: 17 |
Hi again,
Here is the link of my mesh. Can someone have a look at this and tell me where i'm going wrong http://www.2shared.com/file/3461246/...modmshtar.html Here is one more link(for same mesh) for those who are not able to download the above file http://rapidshare.com/files/123247501/16deg_mod.msh This is pity urgent yar because i have got struck on applying cyclic boundary condition and not able to proceed further, already wasted 5 days .....Please Please Please help |
|
June 23, 2008, 03:40 |
Is anyone working on my mesh
|
#28 |
New Member
Mohd Yousuf
Join Date: Mar 2009
Location: Kharagpur
Posts: 18
Rep Power: 17 |
Is anyone working on my mesh
|
|
March 20, 2009, 09:15 |
|
#29 |
Senior Member
Rishi .
Join Date: Mar 2009
Posts: 149
Rep Power: 17 |
Can somebody please upload a case of periodic boundary for a Fluent mesh?
I am not able to figure out how to convert a mesh of periodic case from Fluent to OpenFOAM. Thanks in advance. Rishi |
|
March 25, 2009, 04:02 |
What is the correct procedure of setting a cyclic boundary condition?
|
#30 |
Senior Member
Daniel WEI (老魏)
Join Date: Mar 2009
Location: Beijing, China
Posts: 689
Blog Entries: 9
Rep Power: 21 |
Dear all,
I am completely lost in this problem, please help. I still don't understand how to set the cyclic B.C., the simulation blows again and again. Here's what I did, 1. Use Gambit to create the mesh, blocks.JPG 2. I linked fb1 & fb1_shadow, fb2 & fb2_shadow, ..., fb6 & fb6_shadow in Gambit. 3. Set fb1 & fb1_shadow, fb2 & fb2_shadow, ..., fb6 & fb6_shadow in Gambit as PERIODIC B.C. blocks2_cr.jpg blocks3.JPG 4. Use fluentMeshToFoam utility, everything's okay! 5. Use createPatch utility to build cyclic B.C.: --------fb1New from fb1 & fb1_shadow; --------fb2New from fb2 & fb2_shadow; --------...... --------fb2New from fb6 & fb6_shadow; Check file "constant/polyMesh/boundary" again. Is the above procedure correct? Much appreciated! Daniel
__________________
~ Daniel WEI ------------- Boeing Research & Technology - China Beijing, China |
|
May 28, 2009, 11:16 |
creating cyclic boundary condition,
|
#31 |
New Member
parham momeni
Join Date: Mar 2009
Location: glasgow, uk
Posts: 25
Rep Power: 16 |
Hi, I am having difficulty in creating cyclic boundary condition, I have done it this way:
1- I created a mesh in Gambit (Quarter of a cylinder) and I called the two planes symmetrya and symmetryb. and I set them to be symmetry for periodic bc. 2-set the writePrecision in system/controlDict to 12. 3-In the end of *.msh file I saw (0 "Cells:") (12 (0 1 5eb78 0)) (12 (2 1 5eb78 1 4)) (0 "Zones:") (45 (2 fluid fluid)()) (45 (3 mass-flow-inlet ariinlet2)()) (45 (4 symmetry symmetryb)()) (45 (5 symmetry symmetrya)()) (45 (6 pressure-outlet outlet)()) (45 (7 wall wall)()) (45 (8 mass-flow-inlet airinlet1)()) (45 (9 mass-flow-inlet fuelinlet)()) (45 (11 interior default-interior)()) I did not change anything here, and leave it as it is. 3-then I ran fluentMeshTofoam *.msh : Building boundary and internal patches. Creating patch 0 for zone: 3 start: 1 end: 25 type: mass-flow-inlet name: ariinlet2 Creating patch 1 for zone: 4 start: 26 end: 10345 type: symmetry name: symmetryb Creating patch 2 for zone: 5 start: 10346 end: 20665 type: symmetry name: symmetrya Creating patch 3 for zone: 6 start: 20666 end: 23898 type: pressure-outlet name: outlet Creating patch 4 for zone: 7 start: 23899 end: 34233 type: wall name: wall Creating patch 5 for zone: 8 start: 34234 end: 34263 type: mass-flow-inlet name: airinlet1 Creating patch 6 for zone: 9 start: 34264 end: 34306 type: mass-flow-inlet name: fuelinlet Creating patch 7 for zone: 11 start: 34307 end: 1181033 type: interior name: default-interior Adding new patch ariinlet2 of type patch as patch 0 Adding new patch symmetryb of type symmetryPlane as patch 1 Adding new patch symmetrya of type symmetryPlane as patch 2 Adding new patch outlet of type patch as patch 3 Adding new patch wall of type wall as patch 4 Adding new patch airinlet1 of type patch as patch 5 Adding new patch fuelinlet of type patch as patch 6 Patch default-interior is internal to the mesh and is not being added to the boundary. Default patch type set to empty Writing mesh... to "constant/polyMesh" done. End 4-It creates in the constant/polymesh ---> boundary : 7 ( ariinlet2 { type patch; nFaces 25; startFace 1146727; } symmetryb { type symmetryPlane; nFaces 10320; startFace 1146752; } symmetrya { type symmetryPlane; nFaces 10320; startFace 1157072; } outlet { type patch; nFaces 3233; startFace 1167392; } wall { type wall; nFaces 10335; startFace 1170625; } airinlet1 { type patch; nFaces 30; startFace 1180960; } fuelinlet { type patch; nFaces 43; startFace 1180990; } ) 5-then I define the createPatchDict in /system and within that I have: matchTolerance 1E-3; pointSync true; patches ( { name symmetrya; type cyclic; constructFrom patches; patches (symmetrya symmetryb); } ); 6-then I ran createPatch, this was the outcome: Create time Reading createPatchDict. Using relative tolerance 0.001 to match up faces and points Create polyMesh for time = 0 Moving faces from patch symmetrya to patch 2 Moving faces from patch symmetryb to patch 2 Doing topology modification to order faces. Synchronising points. Points changed by average:0 max:0 Removing patches with no faces in them. Removing empty patch symmetryb at position 1 Removing patches. Writing repatched mesh to 1 End 7-It creates a folder /1/polyMesh and within that: []$ ls boundary cellZones faces faceZones neighbour owner points pointZones 8-vi boundary : 6 ( ariinlet2 { type patch; nFaces 25; startFace 1146727; } symmetrya { type symmetryPlane; nFaces 20640; startFace 1146752; } outlet { type patch; nFaces 3233; startFace 1167392; } wall { type wall; nFaces 10335; startFace 1170625; } airinlet1 { type patch; nFaces 30; startFace 1180960; } fuelinlet { type patch; nFaces 43; startFace 1180990; } ) 8-I copy all the contents of this folder to constant/polymesh/ 9- I did changed the symmetryplane type now to cyclic for symmetrya 10-I did the simpleFoam and I received this error: Create time Create mesh for time = 0 face 0 area does not match neighbour 10320 by 21.8435% -- possible face ordering problem. patch:symmetrya my area:0.000277 neighbour area:0.000344925 matching tolerance:0.001 Mesh face:1146752 vertices:4((0 0 0.1123) (0.05 0 0.1123) (0.05 0 0.11784) (0 0 0.11784)) Neighbour face:1157072 vertices:4((0 0.043315 0) (0 0.0502135 0) (0.05 0.0502135 0) (0.05 0.043315 0)) Rerun with cyclic debug flag set for more information. From function cyclicPolyPatch::calcTransforms() in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 150. FOAM exiting Can anyone help me with this problem? |
|
June 12, 2009, 06:25 |
how to make cyc boundry when using fluent mesh convert to Foam
|
#32 |
Senior Member
|
Hi
i also facing this problem,when i use the mesh by converting the fluent mesh to Foam. how can i go on? i want to calculate two pump passages with MRFSimpleFoam. firstly i make a mesh from ICEMCFD and write the fluent mesh file then i use fluent3dMeshToFoam to convert the fluent mesh file to Foam and doing "makeMesh" after that i setting the cyclic in constant/ployMesh/boundary and files in 0/ dir. for boundary conditions when i start MRFSimpleFoam there were errors : face 0 area does not match neighbour 2312 by 198.652% -- possible face ordering problem. patch:CYC_INLET my area:0.147821 neighbour area:0.0005 matching tolerance:0.001 Mesh face:2117726 vertices:4((3.775 6.53849 -2.95641) (3.75 6.49519 -2.95641) (3.75 6.49519 0) (3.775 6.53849 0)) Neighbour face:2120038 vertices:4((17.75 -30.7439 -35) (17.75 -30.7439 -34.99) (17.725 -30.7006 -34.99) (17.725 -30.7006 -35)) Rerun with cyclic debug flag set for more information. From function cyclicPolyPatch::calcTransforms() in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 156. FOAM exiting and i also try setting the cyclic before "makeMesh" this messages will be find in cellSets ,faceSets procedure. and after reading this topic i try use the creatPatch utilities. and make two parts separately as (CYCINA CYCINB) and (CYCOUTA CYCOUTB) in icem and also creat a createPatchDict in system dir as: /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4 | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; root ""; case ""; instance ""; local ""; class dictionary; object createPatchDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // matchTolerance 1E-6; pointSync true; patches ( { name CYCIN; type cyclic; constructFrom patches; patches (CYCINA CYCINB); } and first convert the fluent mesh to Foam set the writePrecision in system/controlDict to 12. and use CreatePatch Utility,but i get the errors as: /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5-dev | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Exec : createPatch -case twopassage/ Date : Jun 12 2009 Time : 18:00:03 Host : linux-g923 PID : 12312 Case : ./twopassage nProcs : 1 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Reading createPatchDict. Using relative tolerance 1e-06 to match up faces and points Create polyMesh for time = 0 Adding new patch CYCIN of type cyclic as patch 9 Moving faces from patch CYCINA to patch 9 Moving faces from patch CYCINB to patch 9 Doing topology modification to order faces. Segmentation fault how can i resolve this? thanks yours wayne attachment is mesh picture.two blue and red zones are to cyclic zones. Last edited by waynezw0618; June 12, 2009 at 06:55. |
|
June 12, 2009, 12:13 |
problem have been resolved!
|
#33 | |
Senior Member
|
problem have been resolved!
Quote:
|
||
June 15, 2009, 02:11 |
|
#34 |
Senior Member
|
problem RESOLVED
KEYWORDS: RENUMBER !!! Last edited by waynezw0618; June 15, 2009 at 05:36. |
|
June 24, 2009, 09:47 |
GambittoFoam
|
#35 |
Member
Brugiere Olivier
Join Date: Mar 2009
Posts: 34
Rep Power: 17 |
Hello every body,
I have created my geometry on Gambit and when I want to convert it on OF, it's working but after the couple patch, I have this problem like Cedric : Create polyMesh for time = 500 Using geometry to calculate face correspondence across coupled boundaries (processor, cyclic) This will only work for cyclics if they are parallel or their rotation is defined across the origin Mesh has coupled patches ... Doing dummy mesh morph to correct face ordering ... --> FOAM Serious Error : From function cyclicPolyPatch:rder(const primitivePatch&, labelList&, labelList&) const in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 726 patcher_trans : Cannot match vectors to faces on both sides of patch half0Ctrs[0] : (9 1 4.5) half1Ctrs[0] : (9 1 4.5) Please use topological matching or adapt the featureCos() setting Continuing with incorrect face ordering from now on! Mesh ordering ok. Nothing changed. End And after that, my calculation is wrong. Some body have find the solution which work ? Thank's to your help Olivier |
|
June 24, 2009, 10:05 |
|
#36 | |
Senior Member
|
where is couplePatch utiliy? i don`t find it in 1.5 .i renumber the cyclic boundary in ICEM.i dont know if gambit has the same tool
. Quote:
|
||
June 24, 2009, 10:11 |
|
#37 |
Member
Brugiere Olivier
Join Date: Mar 2009
Posts: 34
Rep Power: 17 |
couplePatch is an utility it is in : utilities/mesh/manipulation/couplePatches
|
|
July 2, 2009, 10:35 |
|
#38 |
New Member
Denis Semyonov
Join Date: Mar 2009
Posts: 14
Rep Power: 17 |
Hi all!
I am also dealing with the cyclic BC's in OpenFOAM 1.5 and faced similar problems. I create my geometry in ICEM, save it in Fluent .msh format and convert to FOAM format using FluentMeshToFoam. Fluent3DMeshToFoam does not work for some reason. It gives the message: Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Dimension of grid: 3 Do not understand characters: From function fluentMeshToFoam::lexer in file fluent3DMeshToFoam.L at line 708. FOAM exiting For the first try when I have imported mesh and ran createPatch utility to create one translational cyclic patch from two, like it has been advised: my createPatchDict file: Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // matchTolerance 1E-7; pointSync true; patches ( { name LEFT_RIGHT; type cyclic; constructFrom patches; patches (LEFT_WALL RIGHT_WALL); } ); //****************************************************** // Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Reading createPatchDict. Using relative tolerance 1e-07 to match up faces and points Create polyMesh for time = 0 Adding new patch LEFT_RIGHT of type cyclic as patch 9 Moving faces from patch LEFT_WALL to patch 9 Moving faces from patch RIGHT_WALL to patch 9 Doing topology modification to order faces. #0 Foam::error::printStack(Foam::Ostream&) in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libOpenFOAM.so" #1 Foam::sigSegv::sigSegvHandler(int) in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libOpenFOAM.so" #2 ?? in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/libs_shared/libc.so.6" #3 Foam::face::normal(Foam::Field<Foam::Vector<double> > const&) const in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libOpenFOAM.so" #4 Foam::cyclicPolyPatch::getCentresAndAnchors(Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::List<Foam::face> const&, Foam::List<Foam::face> const&, Foam::Field<Foam::Vector<double> >&, Foam::Field<Foam::Vector<double> >&, Foam::Field<Foam::Vector<double> >&, Foam::Field<double>&) const in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libOpenFOAM.so" #5 Foam::cyclicPolyPatch::order(Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::List<int>&, Foam::List<int>&) const in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libOpenFOAM.so" #6 Foam::polyTopoChange::reorderCoupledFaces(bool, Foam::polyBoundaryMesh const&, Foam::List<int> const&, Foam::List<int> const&, Foam::Field<Foam::Vector<double> > const&) in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libdynamicMesh.so" #7 Foam::polyTopoChange::compactAndReorder(Foam::polyMesh const&, bool, bool, bool, int&, Foam::Field<Foam::Vector<double> >&, Foam::List<int>&, Foam::List<int>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::Map<int> >&, Foam::List<int>&, Foam::List<int>&, Foam::List<Foam::Map<int> >&) in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libdynamicMesh.so" #8 Foam::polyTopoChange::changeMesh(Foam::polyMesh&, bool, bool, bool, bool) in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/lib/crayxtDPOpt/libdynamicMesh.so" #9 main in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/applications/bin/crayxtDPOpt/createPatch" #10 __libc_start_main in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/libs_shared/libc.so.6" #11 __gxx_personality_v0 in "/fs/local/linux26_x86_64/appl/fluid/openfoam-1.5_test/OpenFOAM/OpenFOAM-1.5/applications/bin/crayxtDPOpt/createPatch" Segmentation fault Disappointly (and quite expectingly) I got the same error. I have been thinking that renumbering mesh in such a way that the faces which should correspond to each other in the periodicity should have their numbers x and N/2+x correspondingly. But I don't have any clue how to do it. Solution came suddenly. It has been turned out so that if you specify some other patch type in createPatchDict (I used symmetryPlane), like: Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // matchTolerance 1E-7; pointSync true; patches ( { name IN_OUT; type symmetryPlane; constructFrom patches; patches (INLET OUTLET); } ); // ************************************************************************* // Then I change this new IN_OUT patch in $CASE_DIR/constant/polyMesh/boundary file manually to be 'cyclic': Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 4 ( EMPTYP { type empty; nFaces 25600; startFace 25360; } DOWN { type patch; nFaces 80; startFace 50960; } TOP { type patch; nFaces 80; startFace 51040; } IN_OUT { type cyclic; nFaces 320; startFace 51120; } ) // ************************************************************************* // example of 'U' file: Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { EMPTYP { type empty; } DOWN { type slip; } TOP { type pressureInletOutletVelocity; phi phi; value uniform (0 0 0); } IN_OUT { type cyclic; } } // ************************************************************************* // ====== So, in my case problem was in the createPatch utility and it has been solved in the simple case just by changing patch type in the createPatchDict from 'cyclic' to some other type and then changing it back to 'cyclic' in the 'boundary' file ====== I am not shure if this solution will work in my real case where the periodic boundaries not the single faces but a quite large number of planar disconnected regions. I am testing it right now, but it will take some time. Hope this could help anybody who has similar problem. |
|
July 8, 2009, 11:48 |
|
#39 |
New Member
Denis Semyonov
Join Date: Mar 2009
Posts: 14
Rep Power: 17 |
Ok, now it seems that for my case cyclic BC works pretty well.
|
|
August 31, 2009, 12:04 |
|
#40 |
Member
Tomislav Sencic
Join Date: Mar 2009
Posts: 42
Rep Power: 17 |
Hello,
I am trying to build a 180 degree engine mesh with cyclic boundaries. I tried both with k3prep/kivaToFoam and gambit/fluentMeshToFoam preprocessor and converter. During the the mesh conversion everithing goes OK, and I have a cyclic patch named FrontAndBack. After it, when I run couplePatches I get something like: Doing dummy mesh morph to correct face ordering ... --> FOAM Serious Error : From function cyclicPolyPatch:rder(const primitivePatch&, labelList&, labelList&) const in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 728 patch:frontAndBack : Cannot match vectors to faces on both sides of patch half0Ctrs[0]0 -0.233458681972 -0.00619257333064) half1Ctrs[0]0 -0.0165649476268 -0.00619257333064) Please use topological matching or adapt the featureCos setting Continuing with incorrect face ordering from now on! Mesh ordering ok. Nothing changed. End I tried with central angles of 179 degree, I tried with a central separation zone between the two halves without results. I menaged to obtain good meshes with the central angle of 150 degree, but not over, like if the angle is not sharp enough. I meneged to obtain a good mesh of a simple half cylinder (without bowl and head chamber). Hou could I build a half engine cylinder mesh? How should I use topological matching? Where should I adopt the fatureCos setting? Best regards, Tomislav |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Cyclic boundaries importing Gambit msh file and interFoam | chegdan | OpenFOAM Running, Solving & CFD | 16 | February 14, 2023 04:56 |
[snappyHexMesh] Solution Snappy Hex 2D Msh with Surface Layers and cyclic bc for symmetric geometry | flexi182 | OpenFOAM Meshing & Mesh Conversion | 0 | May 24, 2013 09:38 |