CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Multi porous material simulation with porousSimpleFoam (https://www.cfd-online.com/Forums/openfoam-solving/175494-multi-porous-material-simulation-poroussimplefoam.html)

1988 July 31, 2016 13:40

Multi porous material simulation with porousSimpleFoam
 
1 Attachment(s)
Hello everyone

I am trying to simulate airflow in a porous material with 3 different porosities. As you can see in the attached picture there are three squares with different porosities stick to each other. they are named from left to right, one, two and three
The mesh is imported from Gambit and 3 squares are defined in topoSetDict. I also defined these 3 zones in cellZones and until now everything is OK.
I defined Porosity properties in constant folder in this way:
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.2.0                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "constant";
    object      porosityProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
one
{
    type            DarcyForchheimer;
    active          yes;
    cellZone        one;

    DarcyForchheimerCoeffs
    {
            d  d [0 -2 0 0 0 0 0] (9.65e7 9.65e7 9.65e7);
            f  f [0 -1 0 0 0 0 0] (7.21 7.21 7.21);
       
        coordinateSystem
        {
            e1  (1 0 0);
            e2  (0 1 0);
        }
}

two

type            DarcyForchheimer;
    active          yes;
    cellZone        two;

    DarcyForchheimerCoeffs
    {

            d  d [0 -2 0 0 0 0 0] (20e4 20e4 20e4);
            f  f [0 -1 0 0 0 0 0] (0 0 0);
        coordinateSystem
{

            e1  (1 0 0);
            e2  (0 1 0);
        }

    }


  three

type            DarcyForchheimer;
    active          yes;
    cellZone        three;
    DarcyForchheimerCoeffs
    {
            d  d [0 -2 0 0 0 0 0] (9.65e5 9.65e5 9.65e5);
            f  f [0 -1 0 0 0 0 0] (7.21 7.21 7.21);
       
        coordinateSystem
        {
            e1  (1 0 0);
            e2  (0 1 0);
        }
}

}

// ************************************************************************* //

but when I run the code, OpenFOAM does not consider prosity of square number1 and 2 and it just run the code for number 3.

Code:

Create time

Create mesh for time = 0


SIMPLE: no convergence criteria found. Calculations will run for 100000 steps.

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting RAS turbulence model laminar
Creating finite volume options
No finite volume options present

No MRF models present

Creating porosity model list from porosityProperties

Porosity region one:
    selecting model: DarcyForchheimer
    creating porous zone: three
Using pressure implicit porosity

Starting time loop


How can I fix it? I think there is a problem in my Porosity properties.
Thanks for your help

TobiF August 1, 2016 02:13

Hey,

count your brackets in your porosityProperties;

Code:

porosity1
{
  type DarcyForchheimer;
    active yes;
    cellZone porosity;
    DarcyForchheimerCoeffs
        {
            d    d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
            f      f [0 -1 0 0 0 0 0] (0 0 0);
 
            coordinateSystem
            {
                type cartesian;
                origin (0 0 0);
                coordinateRotation
                {
                    type axesRotation;
                    e1 (0.70710678 0.70710678 0);
                    e2 (0 0 1);
                }
            }
        }
}

you should do this for each porous zone.
In your code the closing brackets for the first two zones are missing...


All times are GMT -4. The time now is 08:47.