CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Pre-Processing (
-   -   How does porousSimpleFoam work? (

tehzap October 24, 2013 12:59

How does porousSimpleFoam work?

I am pretty new to OpenFOAM. In my case i wanna simulate a multitubular reactor using the porousSimpleFoam solver. To get into OpenFOAM I started with a simulation of a 2 D plane with a porous zone in the middle. I reconfigured the angleDuctImplicit example to do so and it worked fine. Unfortunately I don't really get why. :D
The walls along the porosity zone are called "porosityWalls" just like in the example. Now there's the thing I don't get. How does OpenFOAM know, where the porous media is located at? In the porosityProperties file it looks something like this:

porosity1 {
cellZone: porosity;

Isn't it necessary to use the same names as in the blockMeshDikt file?

Thank you!

gooya_kabir October 25, 2013 05:06

As I know, it should be modified when you define the geometry, so you should define the porous zone in constant/polymesh/blockmesh directory.

jprobst October 25, 2013 14:49

OpenFOAM will know which cells are porous medium from a so called cellSet. In the examples where the meshes are created using blockMesh, the blockMeshDict is already modified so you will get cellSets during mesh creation.

If you created the mesh without cellSets or if you don't use blockMesh you can always create a cellSet on an existing mesh using the onboard utility topoSet. In system/topoSetDict, try an entry like


        name    porosity;
        type    cellSet;
        action  new;
        source  boxToCell;
            box (-1 -1 -1) (1 1 1);

This will create a cellSet from all cells within the box described by the corner points (-1 -1 -1), (1 1 1) with the name 'porosity'. The same name must be used in constant/porosityProperties (more recent solvers use the file system/fvOptions) as value for the parameter 'cellZone'.

You can have several cellSets with different names and hence use different parameters on them. And you can define other geometries than a box. OpenFOAM has cylinders, spheres and the like.

m5m5kh October 26, 2013 02:52

1. you should import your file to OF
for example for a fluent file you should you fluentMeshToFoam filename.msh (for 2D case) or fluent3DMeshToFoam filename.msh (for 3D case)
note: there is 2 space between command and file name
2. you should modify porous zone
for this step you should use topoSetdict file in your system folder in your case directory
you can see this link to choose what you describes all forms of defining a zone
then use setsToZones in terminal

3. you should modify D and F which are darcy and forchheimer coefficients.I describe it in this thread
you should define them in a porosityProperties file in your constant folder in your case directory
I suppose you can modify transportProperties and RASProperties.

4. finally you should use boundary condition in 0 folder and modify U and P.
then just use porousSimpleFoam and analyze your result

I wish you success !!!

Best Regards

RygeltheXVI July 28, 2017 00:50

Possibly useful reference
Hello All,

This Tech Report may prove helpful for those having difficulty understanding Darcy-Forchheimer settings in OpenFOAM.

Kind Regards,

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