I solved my problem by modifying featureCos in
/home/tom/OpenFOAM/OpenFOAM-1.4.1-dev/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C from 0.9999 to 0.99999999 or so, which allowed me tu use meshes of 179.5 degree central angle. |
This can be a silly question, but can anyone explain what is the meaning of featureCos()
and featureCos 0.9 ? Thank you :rolleyes: |
how to solve
I made a mesh in Gambit, coupled the 'in' and 'out' edges, saved them together as 'wall', ran fluentMeshToFoam, ran createPatch with "symmetry" as posted here before and afterwards changed the type of my 'in_out' edge in polymesh/boundary to 'cyclic'
I still get : face 0 area does not match neighbour 321 by 53.8581% -- possible face ordering problem. patch:InOut my area:0.304138 neighbour area:0.528308 matching tolerance:0.001 Mesh face:1541679 vertices:4((100 50 3.04138) (100 49.95 3.04138) (100 49.95 -3.04138) (100 50 -3.04138)) Neighbour face:1542000 vertices:4((100 2.71793 3.04138) (100 2.71793 -3.04138) (100 2.80478 -3.04138) (100 2.80478 3.04138)) Rerun with cyclic debug flag set for more information. From function cyclicPolyPatch::calcTransforms() in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 180. FOAM exiting Anyone else with the same problem ? |
cyclic sollution
I found the answer to my problem. Actually, it is all written here in previous post, but it took me a while to get all the pieces right. So I'll summarize it again here. I'm using Gambit and fluentMeshToFoam for the mesh.
GAMBIT 1. Link the "in" and "out" edges. It's the chain kinda looking button on the bottom left in the "Mesh edge" folder, and select "periodic" as-well. After that, just continue meshing as usual. 2. before exporting the mesh, I define both "in" and "out" (separately) as "wall". OF 3. run fluentMeshToFoam 4. in xx/constant/polymesh, edit the "boundary" file and change the type of both "in" and "out" to "symmetryPlane" 5. make a "createPatchDict" file and save it in xx/system. Mine looks like this : FoamFile { version 2.0; format ascii; class dictionary; location "system"; object createPatchDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // matchTolerance 1E-7; pointSync true; patches ( { name InOut; dictionary { type symmetryPlane; } constructFrom patches; patches (In Out); } ); 6. Run "createPatch" 7. createPatch should give you a new directory (like 0.02 or something, depending on your timestep) which looks like the polymesh directory. Go to xx/0.02/polymesh and open the "boundary" file. As you can see in the createPatchDict file, my "in" and "out" have chaged to one "InOut" edge. You will see "InOut" in the new boundary file with the type "symmetryPlane". Change this to "cyclic" and copy the whole directory to xx/contant/polymesh. 8. also, don't forget to adapt all your initial settings (files in xx/0) to contain the patch "InOut" with the type "cyclic". Then I just run channelFoam and it works :). Good luck everyone ! |
featureCos 0.9
I would also appreciate an answer to this "silly" question. :confused:
Quote:
|
createPatch problem
Dear OF users,
When I use the createPatch command I get the following error message. I have generated the mesh with ICEMCFD HEXA. It seems that an answer is to reorder (or renumber) the mesh faces ! Can someone explain me in details how to do it inside ICEM ? Thanks a lot for helping me, Stephane. Create time Reading createPatchDict. Using relative tolerance 0.001 to match up faces and points Create polyMesh for time = 0 Adding new patch sides as patch 5 from { type cyclic; } Moving faces from patch SYM1 to patch 5 Moving faces from patch SYM2 to patch 5 Doing topology modification to order faces. cyclicPolyPatch::order : Writing half0 faces to OBJ file "sides_half0_faces.obj" cyclicPolyPatch::order : Writing half1 faces to OBJ file "sides_half1_faces.obj" cyclicPolyPatch::order : Dumping currently found cyclic match as lines between corresponding face centres to file "/shared/sanchi/OpenFOAM/sanchi-1.7.x/essai_hexa_MRF/sides_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 1557 Patch:sides : 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! Dumping sides half0 faces to "coupled_sides_half0.obj" Dumping sides half1 faces to "coupled_sides_half1.obj" Dumping cyclic match as lines between face centres to "coupled_sides_match.obj" Synchronising points. On coupled patch sides forcing uniform rotation of (0.309017 -0.951057 -7.45058e-06 0.951057 0.309017 -4.04268e-06 6.14717e-06 -5.83666e-06 1) On coupled patch sides forcing uniform rotation of 1((0.309017 -0.951057 -7.45058e-06 0.951057 0.309017 -4.04268e-06 6.14717e-06 -5.83666e-06 1)) Synchronising points. --> FOAM Warning : From function syncPoints(const polyMesh&, pointField&, const CombineOp&, const point&) in file createPatch.C at line 482 There are decomposed cyclics in this mesh with transformations. This is not supported. The result will be incorrect Points changed by average:0.192361 max:11.7557 --> FOAM FATAL ERROR: face 0 area does not match neighbour 882 by 143.445% -- possible face ordering problem. patch:sides my area:13.7706 neighbour area:2.26757 matching tolerance:0.001 Mesh face:35523 vertices:4((4.39478 2.38451 0) (4.02876 -3.8254 4.08159) (4.43163 -4.20789 -5.1802e-05) (4.88308 2.64947 0)) Neighbour face:36405 vertices:4((3.62586 -3.44284 -4.23835e-05) (4.02875 -3.82536 -4.70928e-05) (4.43163 -4.20789 -5.1802e-05) (4.02876 -3.8254 4.08159)) Rerun with cyclic debug flag set for more information. From function cyclicPolyPatch::calcTransforms() in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 167. FOAM exiting |
Dear users,
with the following creatPatchDict file it works. After I will check if the computation runs as well. ----------------------- matchTolerance 1E-3; pointSync true; patchInfo ( { // Name of new patch name sides; // Type of new patch dictionary { type cyclic; transform rotational; rotationAxis (0 0 1); rotationCentre (0 0 0); } constructFrom patches; patches (SYM1 SYM2); } ); ----------------------- Without the following 3 lines it does not work ! transform rotational; rotationAxis (0 0 1); rotationCentre (0 0 0); Best regads, Stephane |
Quote:
My mesh is created in Openfoam, by blockMesh, then SnappyHexMesh. Could you please tell me how to renumber the mesh? Thank you so much! Aqua |
hi everybody
i used fluent3dmeshtofoam , and i did these suggestions , but this error apeared : matchTolerance 1E-7; pointSync true; // Patches to create. patches ( { // Name of new patch name p1_1; // Type of new patch dictionary { type cyclic; } // How to construct: either from 'patches' or 'set' constructFrom patches; // If constructFrom = patches : names of patches. Wildcards allowed. patches ("p1 p1_shadow"); // If constructFrom = set : name of faceSet set f0; } ); --> FOAM FATAL IO ERROR: keyword pointSync is undefined in dictionary "/home/ali/OpenFOAM/ali-2.1.1/run/tutorials/2Gesikes/system/createPatchDict" file: /home/ali/OpenFOAM/ali-2.1.1/run/tutorials/2Gesikes/system/createPatchDict from line 16 to line 20. From function dictionary::lookupEntry(const word&, bool, bool) const in file db/dictionary/dictionary.C at line 400. FOAM exiting whats happen ? |
All times are GMT -4. The time now is 19:47. |