CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Periodic B.C or Inlet/Outlet B.C (http://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<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!

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 18:07.