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

Cyclic Boundary Condition

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   January 28, 2005, 01:28
Default Hi all, If I define two plan
  #1
Luiz Eduardo Bittencourt Sampaio (Sampaio)
Guest
 
Posts: n/a
Hi all,
If I define two planes (paralel planes) as cycle boundaries, I know the velocity will be the same in the "periodic" points. But what about the pressure? Will it be periodic also? Or is its gradient that is periodic?

(I tried to dig into the code to try to figure out this myself, but I think I am still not able to do that... Where should I look for this thing? Should be in the routines that construct the matrix right? Where exactly?)

Thanks,
Luiz
  Reply With Quote

Old   January 28, 2005, 09:35
Default A cyclic boundary is periodic
  #2
Eugene de Villiers (Eugene)
Guest
 
Posts: n/a
A cyclic boundary is periodic for all properties.

The matrix is constructed by fvMatrix. Check the Doxygen documentation.
  Reply With Quote

Old   January 28, 2005, 14:53
Default Then the pressure force (-gra
  #3
Luiz Eduardo Bittencourt Sampaio (Sampaio)
Guest
 
Posts: n/a
Then the pressure force (-grad p) is not necessarely continuos, is it?
Shouldn't we impose continuity (periodicity) on grad p also? So that we can simulate a developed channel, for instance?

Sorry if this is a stupid question...
  Reply With Quote

Old   January 28, 2005, 15:20
Default Take a look at channelOodles
  #4
Henry Weller (Henry)
Guest
 
Posts: n/a
Take a look at channelOodles in which the mean pressure gradient is abstracted from p and handled explicitly so that the remaining "p" field is cyclic between the "inlet" and "outlet" of the channel. The mean pressure gradient is obtained directly from the momentum equation such that the mass-flux remains constant.
  Reply With Quote

Old   February 10, 2005, 17:55
Default Hi, I hope you don't mind
  #5
Brandon Field (Field)
Guest
 
Posts: n/a
Hi,

I hope you don't mind if I pick this thread back up, since it is clearly the area where my question falls.

If I were to try to incorporate this into a multi-phase simulation, could I just copy the createGradP.H and writeGradP.H files and make the appropriate changes to the interFoam.C file (including the modifications to the governing equations) and then re-compile interFoam into something like channelInterFoam? Or is this implementation specific to anything in single-phase or turbulence and thus cause problems with the two-phases?

thanks,
brandon.
  Reply With Quote

Old   February 10, 2005, 19:18
Default Close enough - something like
  #6
Hrvoje Jasak (Hjasak)
Guest
 
Posts: n/a
Close enough - something like that should work.
  Reply With Quote

Old   February 15, 2005, 11:36
Default I'm a little confused about t
  #7
Brandon Field (Field)
Guest
 
Posts: n/a
I'm a little confused about the Ubar vector in the channelOodles solver... the comment in readTransportProperties says that it's the centerline velocity. However, the overbar on a velocity for channel flow usually means cross-sectional average. I'm trying to make two-phase channel flow, and I've got two different velocities for the two different phases. The centerline of the channel is all one phase, so if it were really centerline velocity I could use that, but if it's an average, I need to figure out the average velocity to keep the mass flow rate what it should be...

So, my question is: is Ubar a centerline velocity or a cross-sectional average?

thanks,
brandon.

p.s. Anyone interested in including channel flow into a solver should note that the channelOodles momentum equation is cast for constant density, so the gradP dimensions are [m/s^2]. If you need to leave rho in the momentum equation, you'll need to change the dimensions on gradP.
  Reply With Quote

Old   February 15, 2005, 11:38
Default Ubar is the cross-sectional a
  #8
Henry Weller (Henry)
Guest
 
Posts: n/a
Ubar is the cross-sectional average.
  Reply With Quote

Old   January 14, 2009, 07:59
Default Hi, I am going to simmulate
  #9
New Member
 
Mansuor Alghane
Join Date: Mar 2009
Location: Edinburgh, UK
Posts: 2
Rep Power: 0
ma404 is on a distinguished road
Hi,

I am going to simmulate two phase in channel flow.So, can you help me which tutorial of OpenFOAM 1.5 is suitable to start with because I am new in OpenFOAM

thanks,

mansuor
ma404 is offline   Reply With Quote

Old   January 22, 2009, 04:41
Default Dear Foamers Hi, Can I get
  #10
Member
 
Mahendra
Join Date: Mar 2009
Location: Pune, Maharashtra, India
Posts: 65
Rep Power: 8
mahendra is on a distinguished road
Dear Foamers Hi,

Can I get a tutorial case having cyclic boundary conditions made on a mesh imported from Gambit/Fluent?

I am finding it quite tough to create a case having cyclic boundaries and running it in OpenFOAM-1.5.

Looking forward to hear from you

Regards,
Mahendra
mahendra is offline   Reply With Quote

Old   January 28, 2009, 05:51
Default Hello Mahendra, Can you exp
  #11
Senior Member
 
Rishi .
Join Date: Mar 2009
Posts: 138
Rep Power: 8
hellorishi is on a distinguished road
Hello Mahendra,

Can you explain what it the current difficulty in your mesh import from Fluent?

I am also working on Fluent mesh to OF-1.5, with cyclic BC. Maybe I can provide some input, based on the problem description.
hellorishi is offline   Reply With Quote

Old   January 28, 2009, 06:31
Default Hi Mahendra Check if your
  #12
Senior Member
 
Jens Klostermann
Join Date: Mar 2009
Posts: 117
Rep Power: 8
jens_klostermann is on a distinguished road
Hi Mahendra

Check if your mesh is conformal, OF-1.5 currently is not supporting cyclics on nonconformal meshes as Fluent does. If you use a nonconformal mesh you need OF-1.5-dev.

Jens
jens_klostermann is offline   Reply With Quote

Old   January 28, 2009, 07:11
Default Hi ! I had the same Problem w
  #13
New Member
 
Naish
Join Date: Mar 2009
Location: Germany
Posts: 11
Rep Power: 8
naish is on a distinguished road
Hi !
I had the same Problem with importing from Fluent.
Yesteday I solved it.
Be sure that the BC are cyclic in fluent, renumber the Mesh before saving .
I don`t know if it is necessary but name the cyclic patche so tht they are in alphabetic order that the face numbering is correct.
Go to the end of the .msh file change the cyclics to normal walls.

Now import it by fluent3DMeshToFoam (fluentMeshTo Foam did not work)

And Change in polyMesh/boundaries the types back to cyclic and in every file 0 p ...

Please let meknow if it is working for your case
naish is offline   Reply With Quote

Old   May 28, 2009, 10:05
Default Problem in cyclic boundary condition
  #14
New Member
 
parham momeni
Join Date: Mar 2009
Location: glasgow, uk
Posts: 25
Rep Power: 7
mcjicpm2 is an unknown quantity at this point
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?
mcjicpm2 is offline   Reply With Quote

Old   November 6, 2009, 07:05
Default
  #15
Member
 
Join Date: Sep 2009
Posts: 45
Rep Power: 7
AirS is on a distinguished road
Same error!
did you manage to solve it ?
I tried everything but it still doesn't work.
Thank you.
AirS is offline   Reply With Quote

Old   November 21, 2009, 13:02
Default Modified cyclic boundary
  #16
Member
 
Marta's Avatar
 
Marta Lazzarin
Join Date: Jun 2009
Location: Italy
Posts: 69
Rep Power: 8
Marta is on a distinguished road
Hi, dear Foamers!
I'm trying to modify the cyclic boundary condition for velocity. I want only the velocity component normal to the cyclic patch to be transferred to the other coupled patch, therefore I thought of using the inner product between the velocity components at the cyclic boundaries and the normals to the boundary faces.

I wrote the new modified boundary code, but I got the following problem:

error: no match for ‘operator=’ in ‘((Foam::Field<Foam::SphericalTensor<double> >*)n)->Foam::Field<Foam::SphericalTensor<double> >::<anonymous>.

I think that the problem is related to my parameters types and I saw that the template member function uses tensor fields.

Maybe someone can explain to me how OpenFOAM is able to distinguish among scalarFields, tensorFields and vectorFields, since the template only accounts for tensors (which is the most general case), and I'm not able to correct my mistake!

Thank you in advance!

Marta
Marta is offline   Reply With Quote

Old   November 28, 2009, 15:22
Default
  #17
Member
 
Marta's Avatar
 
Marta Lazzarin
Join Date: Jun 2009
Location: Italy
Posts: 69
Rep Power: 8
Marta is on a distinguished road
Hi, Foamers,
I finally managed to solve the problem I had in modifying the original cyclic boundary condition by using explicit casts, even if I'm not quite sure this is the only way to get through my compiler error...
Now everything seems to work!

Bye bye!

Marta
Marta is offline   Reply With Quote

Old   December 7, 2009, 05:55
Default
  #18
Member
 
Join Date: Sep 2009
Posts: 45
Rep Power: 7
AirS is on a distinguished road
Hi all,

I used createPatch to create a cyclic boundary condition and then when I use changeDictionary (for directMapped), I can see that "value uniform 0;" has been added below "type cyclic" in the boundary file .....
What does that mean ? Do I need to leave it like that or do I need to remove "value uniform 0" which doesn't make sense for a cyclic BC?

Thanks!

AirS is offline   Reply With Quote

Old   December 7, 2009, 06:30
Default
  #19
Member
 
Marta's Avatar
 
Marta Lazzarin
Join Date: Jun 2009
Location: Italy
Posts: 69
Rep Power: 8
Marta is on a distinguished road
Hi AirS,
I don't think that is a problem for your simulation, because uniform 0 is just the initial value used, but during the simulation the boundary condition will be a traditional cyclic.
To be sure that there is no difference in the final solution, you can perform a simple test:
use the traditional cyclic boundary condition with and without the 'value uniform 0' specification, then see if the result changes.

Anyway I used these specifications for my new cyclic boundary condition for velocity and everything worked correctly:

type spongeCyclic;
patchType cyclic;
value uniform (0 0 0);

Hope this helps!

Marta
Marta is offline   Reply With Quote

Old   December 8, 2009, 06:28
Default
  #20
Member
 
Join Date: Sep 2009
Posts: 45
Rep Power: 7
AirS is on a distinguished road
Thanks Marta.
AirS is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Cyclic jump boundary condition hjasak OpenFOAM Running, Solving & CFD 10 April 16, 2010 15:35
Cyclic boundary condition qtian OpenFOAM Running, Solving & CFD 3 November 12, 2008 22:23
Cyclic Boundary Condition SG CD-adapco 0 June 1, 2008 14:56
Cyclic boundary condition in Multi-Block. Las Phoenics 0 November 9, 2002 11:39
About Partial Cyclic Boundary Condition Jiaying Xu CD-adapco 2 October 31, 2002 21:12


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