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/)
-   -   Cyclic BC problem simple geo (http://www.cfd-online.com/Forums/openfoam-solving/58852-cyclic-bc-problem-simple-geo.html)

sripplinger May 6, 2008 12:19

I have created a simple microc
 
I have created a simple microchannel geometry using gmsh. I have the top and bottom boundaries set as walls and the inlet as a velocity inlet and outlet as a pressure outlet. I have been trying to set the left and right boundaries as cyclics, but am having no success. I set the types for those boundaries to 'cyclic' in the boundary, p, and U files. I am just trying to run icoFoam at the moment. When I run I get the following error after trying to read the p file:

--> FOAM FATAL ERROR : Attempt to cast type patch to type lduInterface#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam::lduInterface const& Foam::refCast<foam::lduinterface>(Foam::fvPatch const&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so"
#3 Foam::cyclicFvPatchField<double>::cyclicFvPatchFie ld(Foam::fvPatch const&, Foam::DimensionedField<double,> const&, Foam::dictionary const&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so"
#4 Foam::fvPatchField<double>::adddictionaryConstruct orToTable<foam::cyclicfvpatchf ield<double> >::New(Foam::fvPatch const&, Foam::DimensionedField<double,> const&, Foam::dictionary const&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so"
#5 Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam::DimensionedField<double,> const&, Foam::dictionary const&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/icoFoam"
#6 Foam::GeometricField<double,>::GeometricBoundaryFi eld::GeometricBoundaryField(Fo am::fvBoundaryMesh const&, Foam::DimensionedField<double,> const&, Foam::dictionary const&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/icoFoam"
#7 Foam::GeometricField<double,>::readField(Foam::Ist ream&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/icoFoam"
#8 Foam::GeometricField<double,>::GeometricField(Foam ::IOobject const&, Foam::fvMesh const&) in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/icoFoam"
#9 main in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/icoFoam"
#10 __libc_start_main in "/lib64/libc.so.6"
#11 Foam::regIOobject::readIfModified() in "/home/Scott/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/icoFoam"


From function refCast<to>(From&)
in file /home/Scott/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/typeInfo.H at line 103.

FOAM aborting


I have also tried using couplePatches and createPatch, but with no success. The OpenFOAM documentation is unclear to me on how to use cyclic bc's. Is this a problem with my setup, or could it somehow be an issue with gmsh (I have used both gmshToFoam and gmsh2ToFoam).

santos May 6, 2008 14:52

Both inlet and outlet patches
 
Both inlet and outlet patches should be combined in a single patch, only then you can assign cyclic bc to it.

Check this thread, it may help you:
http://www.cfd-online.com/OpenFOAM_D...tml?1202795420

sripplinger May 6, 2008 15:11

I had actually just figured th
 
I had actually just figured the single patch issue out. Apparently that was one of two issues. So I went back to gmsh, combined the Right and Left patches into one, then set that single patch as cyclic. After doing this I was still getting some problems, so I ran couplePatches which fixed the face ordering issue. The case is now running on icoFoam, and things seem just fine, pending my results.

mkraposhin May 7, 2008 16:13

Can you post your mesh here?
 
Can you post your mesh here? I mean, who is inlet, who is outlet.

suredross May 27, 2008 05:13

Hi Scott, could you please le
 
Hi Scott,
could you please let us know how your results looked like?i am having a similar problem(kind of)and just wanted some clarification.does the cyclic boundary condition take into account the various boundary conditions in the geometry it is repeating?
anyone with answers?

cheers
davey

suredross June 2, 2008 04:25

hi all, i am having difficult
 
hi all,
i am having difficulties with the cyclic patch and boundary condition.when i combine both patches(inlet and outlet)in my case and assign them as cyclic,and then try to run blockmesh, it gives me an error message:
--> FOAM FATAL ERROR : face 0 in patch 0 does not have neighbour cell face: 8(0 6 18 12 5 17 23 11)#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::polyMesh::facePatchFaceCells(Foam::List<foam ::face> const&, Foam::List<foam::list<int> > const&, Foam::List<foam::list<foam::face> > const&, int) const in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#3 Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Field<foam::vector<double> > const&, Foam::List<foam::cellshape> const&, Foam::List<foam::list<foam::face> > const&, Foam::List<foam::word> const&, Foam::List<foam::word> const&, Foam::word const&, Foam::List<foam::word> const&, bool) in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#4 Foam::blockMesh::createTopology(Foam::IOdictionary &) in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"
#5 Foam::blockMesh::blockMesh(Foam::IOdictionary&) in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"
#6 main in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"
#7 __libc_start_main in "/lib/libc.so.6"
#8 Foam::regIOobject::readIfModified() in "/home/cfd/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"


From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 127.

FOAM aborting

when i try to define the cyclic condition on one patch(say inlet),the results i get are highly distorted.i am at a loss here as i believe the first approach is the right one but in my case its not working.anybody who can help,please??

cheers,
davey


All times are GMT -4. The time now is 22:18.