CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Adaptive Mesh Refinement and Cyclic Boundary Conditions

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 27, 2008, 11:54
Default I am currently working on a sy
  #1
Member
 
Adam Donaldson
Join Date: Mar 2009
Location: Ottawa, Ontario, Canada
Posts: 37
Rep Power: 17
adona058 is on a distinguished road
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
adona058 is offline   Reply With Quote

Old   October 27, 2008, 15:27
Default It does not support multiple c
  #2
Senior Member
 
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26
mattijs is on a distinguished road
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.
mattijs is offline   Reply With Quote

Old   October 27, 2008, 15:45
Default Ok. Thanks for clearing that
  #3
Member
 
Adam Donaldson
Join Date: Mar 2009
Location: Ottawa, Ontario, Canada
Posts: 37
Rep Power: 17
adona058 is on a distinguished road
Ok. Thanks for clearing that up Mattijs.

I can modify my case accordingly.
adona058 is offline   Reply With Quote

Old   January 7, 2009, 08:48
Default Hi, I also want to work wit
  #4
New Member
 
Miku
Join Date: Mar 2009
Posts: 7
Rep Power: 17
miku is on a distinguished road
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:stream&) 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 is offline   Reply With Quote

Old   January 8, 2009, 09:10
Default Sorry, it must be called dynam
  #5
New Member
 
Miku
Join Date: Mar 2009
Posts: 7
Rep Power: 17
miku is on a distinguished road
Sorry, it must be called dynamicMeshDict instead of refineMeshDict.
miku is offline   Reply With Quote

Old   January 9, 2009, 10:07
Default Hi Miku, Depending on the c
  #6
Member
 
Adam Donaldson
Join Date: Mar 2009
Location: Ottawa, Ontario, Canada
Posts: 37
Rep Power: 17
adona058 is on a distinguished road
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.
adona058 is offline   Reply With Quote

Old   October 23, 2009, 09:17
Default
  #7
New Member
 
Dan Lucas
Join Date: Apr 2009
Posts: 5
Rep Power: 17
DanL is on a distinguished road
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
DanL is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Technical] Local adaptive mesh refinement with hybrid meshes holger_marschall OpenFOAM Meshing & Mesh Conversion 5 December 21, 2010 13:38
Non constant viscosity and adaptive mesh refinement srinath OpenFOAM Running, Solving & CFD 0 June 14, 2008 03:18
Adaptive Mesh Refinement using Finite Volume mayank Main CFD Forum 0 October 14, 2002 01:02
Hints on adaptive mesh refinement Bo Jensen Siemens 0 July 17, 2000 08:39


All times are GMT -4. The time now is 07:53.