CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Adaptive Mesh Refinement and Cyclic Boundary Conditions (http://www.cfd-online.com/Forums/openfoam-solving/58137-adaptive-mesh-refinement-cyclic-boundary-conditions.html)

adona058 October 27, 2008 12:54

I am currently working on a sy
 
I am currently working on a system requiring cyclic boundary conditions and adaptive mesh refinement.

From what I gather, the cyclic boundary conditions are not currently supported with the dynamic meshing files:

Courant Number mean: 0.036635706 max: 0.08
Selected 24 cells for refinement out of 50763.
--> FOAM Warning :
From function syncTools<class>::syncEdgeList(const polyMesh&, UList<t>&, const CombineOp&, const T&, const bool)
in file /usr/local/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/syncToolsTemplates.C at line 1333
There are decomposed cyclics in this mesh with transformations.
This is not supported. The result will be incorrect
cyclicPolyPatch::order : Writing half0 faces to OBJ file "topbottom_half0_faces.obj"
cyclicPolyPatch::order : Writing half1 faces to OBJ file "topbottom_half1_faces.obj"
cyclicPolyPatch::order : Dumping currently found cyclic match as lines between corresponding face centres to file "./T=0/topbottom_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 1253
Patch:topbottom : 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!
cyclicPolyPatch::order : Writing half0 faces to OBJ file "leftright_half0_faces.obj"
cyclicPolyPatch::order : Writing half1 faces to OBJ file "leftright_half1_faces.obj"
cyclicPolyPatch::order : Dumping currently found cyclic match as lines between corresponding face centres to file "./T=0/leftright_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 1253
Patch:leftright : 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!
cyclicPolyPatch::order : Writing half0 faces to OBJ file "frontback_half0_faces.obj"
cyclicPolyPatch::order : Writing half1 faces to OBJ file "frontback_half1_faces.obj"
cyclicPolyPatch::order : Dumping currently found cyclic match as lines between corresponding face centres to file "./T=0/frontback_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 1253
Patch:frontback : 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!
Refined from 50763 to 50931 cells.
Abort


Has anyone out there been able to incorporate cyclic boundary conditions into their simulations employing adaptive mesh refinement? i.e. interDyMFoam.

Thanks.

Adam

mattijs October 27, 2008 16:27

It does not support multiple c
 
It does not support multiple cyclics (touching one another)

(since there will be points that are on two different cyclics - with different transformation tensors)

A single cyclic patch should be ok.

adona058 October 27, 2008 16:45

Ok. Thanks for clearing that
 
Ok. Thanks for clearing that up Mattijs.

I can modify my case accordingly.

miku January 7, 2009 09:48

Hi, I also want to work wit
 
Hi,

I also want to work with a cyclic boundary condition and adaptive mesh refinement. Although I use single cyclic patches it doesn't work. CreatePatch works absolutely fine, but when I start my calculation including refineMeshDict I get this error message:

Non-uniform transformation not supported for point or edge fields.
Patch:cyclic#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam::syncTools::checkTransform(Foam::coupledPolyP atch const&, bool) in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#3 void Foam::syncTools::syncEdgeList<int,> >(Foam::polyMesh const&, Foam::UList<int>&, Foam::ifEqEqOp<2147483647> const&, int const&, bool) in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libdynamicMesh.so"
#4 Foam::hexRef8::getLevel0EdgeLength() const in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libdynamicMesh.so"
#5 Foam::hexRef8::hexRef8(Foam::polyMesh const&) in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libdynamicMesh.so"
#6 Foam::dynamicRefineFvMesh::dynamicRefineFvMesh(Foa m::IOobject const&) in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libdynamicFvMesh.so"
#7 Foam::dynamicFvMesh::addIOobjectConstructorToTable <foam::dynamicrefinefvmesh>::N ew(Foam::IOobject const&) in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libdynamicFvMesh.so"
#8 Foam::dynamicFvMesh::New(Foam::IOobject const&) in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/lib/linux64GccDPOpt/libdynamicFvMesh.so"
#9 Foam::regIOobject::writeObject(Foam::IOstream::str eamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/applications/bin/linux64GccDPOpt/interDyMS RFFoam"
#10 __libc_start_main in "/lib64/libc.so.6"
#11 Foam::regIOobject::writeObject(Foam::IOstream::str eamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/SimSoftware/OpenFOAM/OpenFOAM-1.5.x/applications/bin/linux64GccDPOpt/interDyMS RFFoam"


From function syncTools::checkTransform(const coupledPolyPatch&)
in file meshes/polyMesh/syncTools/syncTools.C at line 58.

FOAM aborting

I don't know how to solve this problem. Can anybody help me?
Thanks in advance!

miku January 8, 2009 10:10

Sorry, it must be called dynam
 
Sorry, it must be called dynamicMeshDict instead of refineMeshDict.

adona058 January 9, 2009 11:07

Hi Miku, Depending on the c
 
Hi Miku,

Depending on the complexity of your grid, this error is relatively easy to avoid.

When you decompose your case, you must ensure that cyclic boundary conditions are not split by a process boundary (i.e. for a simple box, if you have cyclic boundary conditions in the YZ planes, you can only decompose in the X direction). This obviously becomes more difficult to ensure with complex geometries, but for the most part this is not a problem in cases using the cyclic patch.

So long as you avoid splitting a cyclic patch, you should not have this problem.

Hopefully this helps.

DanL October 23, 2009 09:17

Sorry to drag this question up again, but if I set a layer of "protectedCells" being those containing boundary faces will this get around the problem of multiple cyclics and the dynamic meshing classes? i.e. prevent the boundary cells being refined?

I haven't tried yet but though it might be worth asking first!

Cheers


All times are GMT -4. The time now is 00:29.