
[Sponsors] 
February 13, 2020, 06:29 
periodic set up  cyclicAMI

#1 
New Member
Javier Vinuales
Join Date: May 2016
Posts: 13
Rep Power: 5 
Hi everyone,
I am OpenFOAM newbie, so bear with me! I am a bit confused about cyclicAMI and how to set it up... I have not been able to find some tutorials that replicate what I am trying to do. So, I am studying 3D periodic porous structures. Previously, I had access to commercial software (STAR CCM+) and I will have a set up with a single unit cell with periodic conditions in all 3 directions (in the flow direction, a special type of periodic BC which is called "fully developed flow" that allows specifying certain mass flow rate through the boundary). This set up keeps the domain (and thus cell count) very low, which is important as I have to characterize many different geometries (1001000) every time. The objective is to replicate this set up in OpenFOAM (if possible). I was thinking cyclicAMI may be the best option, as creating periodic meshes can be challenging for complex geometries (as my case). I will be using simpleFOAM at the moment (with a modified version to account for heat transfer later on)  Is it cyclicAMI the right choice?  For the special case of the periodicity in the flow direction, can cyclicAMI be used? how can I specify certain flow through the boundary?  Once I created the mesh, I just have to modify the following files:  constant/polyMesh/boundary  0/U , 0/p , 0/T ... Is this workflow correct? what will be correct set up in each file? Thanks! Javier 

February 14, 2020, 00:39 

#2 
Member
Yogesh Bapat
Join Date: Oct 2010
Posts: 73
Rep Power: 11 
You can use cyclicAMI. But I think translation periodic will need additional implementation. It can be either pressure gradient specification or mass flow rate specification. You can use it for rotational periodic directly.


February 14, 2020, 05:03 

#3  
New Member
Join Date: Mar 2017
Posts: 23
Rep Power: 4 
Quote:
Lets begin with some of your questions. Generally there are two main options to set periodicity. If you are able to generate a conformal mesh, cyclic would be the choice: User Guide: Cyclic In case of non conformal meshes you may choose CyclicAMI oder GGI (foamextend): User Guide: cyclicAMI Conformal mesh means, that the nodes of the faces you want to connect are matching together perfectly. As far i know, you can't specify a flow through an cyclic/cyclicAMI interface. Its only a connection of both sides. It would be nice if you can give us a few more informations like:  which OpenFOAM version do you want to use?  how do you generate the mesh? Greetings bastian Last edited by .bastian; February 14, 2020 at 07:53. 

February 14, 2020, 07:37 

#4 
New Member
Javier Vinuales
Join Date: May 2016
Posts: 13
Rep Power: 5 
Thank you for your answers.
I thought I would go about this step by step:  first, will try to set up cyclicAMI in the 2 directions perpendicular to the flow.  second, I will try to implement periodicity in the flow direction. The first case should be more straightforward. I managed to set it up in 1 direction, and it ran without problems. However, the results seemed odd as not as much flow as expected was getting through the cyclicAMI boundary. Furthermore, if I added the second pair it will not run (file attached). Regarding the second case, I saw that some flow rate can be forced through the boundary with fvOptions (momentumsource:meanVelocityForce), and hopefully works well with cyclicAMI. For the pressure, I saw jumpCyclicAMI, that could work for representing a jump in pressure from inlet to outlet. However, I am not sure about other fields such temperature and turbulence variables. Javier Last edited by jvinuales; February 19, 2020 at 11:24. 

February 14, 2020, 07:46 

#5  
New Member
Javier Vinuales
Join Date: May 2016
Posts: 13
Rep Power: 5 
Quote:
In terms of meshing, currently using cfmesh+ (with a trial)... also still trying to figure out what works better for me. 

February 19, 2020, 08:02 

#6 
New Member
Javier Vinuales
Join Date: May 2016
Posts: 13
Rep Power: 5 
I made some progress with this case.
I have the periodicity in all three directions, and the case run without problems. I used cyclicAMI in all the directions, and add the following to fvOptions: Code:
momentumSource { type meanVelocityForce; selectionMode all; fields (U); Ubar (0.6 0 0); } pRefCell 0; pRefValue 0; Is there any boundary condition I can apply for the pressure that results in a physically realistic condition? Like an undefined constant offset?? or any other set up recommendations? case: https://drive.google.com/file/d/1R85...ew?usp=sharing gyroid_p.JPG gyroid_U.JPG gyroid_U_zx.JPG 

February 20, 2020, 05:44 

#7 
New Member
Javier Vinuales
Join Date: May 2016
Posts: 13
Rep Power: 5 
I found the fixedJumpAMI boundary condition that could be applied in the flow direction:
0/p Code:
x1 { type fixedJumpAMI; patchType cyclicAMI; jump uniform 1; value $internalField; } x2 { type fixedJumpAMI; patchType cyclicAMI; value $internalField; } Code:
x1 { type cyclicAMI; } x2 { type cyclicAMI; } Gyroid_p.JPG Gyroid_U.JPG I will start trying to set up turbulence and temperature. Regarding turbulence, can I assume that the turbulence parameters are periodic (as U)? hence I can use cyclic? 

February 23, 2020, 21:48 

#8 
Senior Member
Peter Baskovich
Join Date: Jul 2014
Posts: 120
Rep Power: 7 
I've done a few simulations almost exactly like this meanvelocityForce is a closed loop control method that applies a pressure gradient to the flow to sustain the desired flow rate. If you watch the logs there should be a printout of the current pressure drop the solver is using.
I've found this to be the most reliable and convergent method. Especially if you want to study the flow at particular flow rates rather than applying pressure drops and hoping to find a flow rate. I used cyclic turbulence parameters and U in my study and p ends up being cyclic with a jump. T can be difficult because if it is cyclic it will blow up. Additionally, if the flow is compressible then the physical properties are dependant on T so a cyclic study is nonphysical. The other way I have achieved good results is using mappedPatch. Inlet is set to mappedPatch type and condition is mapped. Turbulence is mapped from outlet to inlet, outlets are zeroGradient. U is mapped the same but with setAverage true; as is T. p is the only field that does not get mapped. outlet uses the fixedMean condition and inlet uses zeroGradient. Start the flow overdamped and then lower the damping after it's starred and you should see convergence. You may also need to extend your domain to be 2,3, or 4 repetitions of the geometry. 

Yesterday, 06:48 

#9  
New Member
Javier Vinuales
Join Date: May 2016
Posts: 13
Rep Power: 5 
Thanks for your answer! It really helps.
Quote:
Quote:
Quote:
Quote:
I am not sure I fully understand what you mean with this statement? 

Tags 
cyclic, cyclic ami, cyclicami, periodic bc 
Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
[ANSYS Meshing] Solution to periodic boundary problem  SophieLee  ANSYS Meshing & Geometry  1  June 28, 2017 02:51 
cyclicAMI and interDyMFoam for periodic box  kwardle  OpenFOAM  1  March 11, 2014 14:40 
correction of Grub after installing Windows XP and 8  immortality  Lounge  20  January 5, 2014 18:41 
How to set periodic boundaries with initial conditions?  jiandai  OpenFOAM  6  October 24, 2013 08:00 
[snappyHexMesh] determining displacement for added points  CFDnewbie147  OpenFOAM Meshing & Mesh Conversion  1  October 22, 2013 10:53 