CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Periodic B.C or Inlet/Outlet B.C (https://www.cfd-online.com/Forums/openfoam/73012-periodic-b-c-inlet-outlet-b-c.html)

 ar_mofidi February 24, 2010 08:41

Periodic B.C or Inlet/Outlet B.C

Hi guys

I want to know that, how can I use icoFoam for the laminar microchannel and which of the boundary condition need to use, periodic or inlet/outlet.

Thanks,

 wenterodt February 25, 2010 02:19

If you want to simulate a fully developed channel flow in constant cross sections or in a periodically repeating geometry, the cyclic boundary condition for the U-field is what you need. The easiest way to prescribe a pressure drop between inlet and outlet is to use the fan-boundary condition. I.e. in constant/polyMesh/blockMeshDict use e.g.
Code:

```cyclic inout   (     (4 7 3 0)     (6 5 1 2)   )```
Then in 0/U
Code:

```  inout   {     type cyclic;     value uniform (0 0 0);   }```
In 0/p write
Code:

```inout   {     type fan;     patchType cyclic;     f List<scalar> 1(-0.005); // p_OF = p_real / rho     value uniform 0;   }```
and mind that the OpenFOAM pressure is divided by the density in incompressible flow. The pressure drop (here 0.005*rho) that is needed for a certain mean velocity can be calculated by the Poisseuille number (if available) or must be guessed and then corrected. (Yes, I know there is channelFoam, but I cannot recommand that for various reasons.)
Here the "value"-entries are only used for the first iteration (and to prevent paraFoam from crashing) and are then overwritten.
Good luck!

 Thomas Baumann February 25, 2010 04:58

Hi,

an other way is to use mapped boundary condtions.

http://www.cfd-online.com/Forums/ope...condition.html

Regards Thomas

 ar_mofidi February 27, 2010 04:36

Quote:
 Originally Posted by wenterodt (Post 247299) If you want to simulate a fully developed channel flow in constant cross sections or in a periodically repeating geometry, the cyclic boundary condition for the U-field is what you need. The easiest way to prescribe a pressure drop between inlet and outlet is to use the fan-boundary condition. I.e. in constant/polyMesh/blockMeshDict use e.g. Code: ```cyclic inout   (     (4 7 3 0)     (6 5 1 2)   )``` Then in 0/U Code: ```  inout   {     type cyclic;     value uniform (0 0 0);   }``` In 0/p write Code: ```inout   {     type fan;     patchType cyclic;     f List 1(-0.005); // p_OF = p_real / rho     value uniform 0;   }``` and mind that the OpenFOAM pressure is divided by the density in incompressible flow. The pressure drop (here 0.005*rho) that is needed for a certain mean velocity can be calculated by the Poisseuille number (if available) or must be guessed and then corrected. (Yes, I know there is channelFoam, but I cannot recommand that for various reasons.) Here the "value"-entries are only used for the first iteration (and to prevent paraFoam from crashing) and are then overwritten. Good luck!
Dear Tammo

thanks for your help. but, I have some other questions. could you tell me, what is the Fan-boundary condition and is it possible to use this B.C in icoFoam. also, I want to know for laminar channel flow, can I use icoFoam?

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