CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   How to model porous jumps (https://www.cfd-online.com/Forums/openfoam-solving/58381-how-model-porous-jumps.html)

 mat October 28, 2008 07:53

Hello everyone, I'm student a

Hello everyone,
I'm student apprentice and my task is to try some test cases in OpenFOAM for my company and to compare that with Fluent.
Now I have a test case, which i can not solve by myself, maybe you can help me. I have already simulated some perforated sheets to get the pressure loss and the drag coefficient. I shall now replace the perforated sheet with a porous jump condition. This worked well in Fluent, but I do not know how to do a porous jump in OpenFOAM. I already know that there are no interior faces in OpenFOAM and build a geometry which has a split at the location where I want the porous jump to be. But I could not find a boundary condition for OpenFOAM which simulates a cyclic condition and a pressure drop. Is there such a condition? Or can I solve that problem in a different way (maybe with a porous zone) ?

Regards,

Martin

 villet October 29, 2008 10:35

Hi Martin, for starters che

Hi Martin,

for starters check out the tutorial cases for "rhoPorousSimpleFoam" and the source code. The present method corresponds to the Fluent's "porous zone" model (volume). Jasak mentioned some months ago about his "porous jump" implementation which is based on cyclic BC. Search forum for that.

If you import the mesh from Fluent's preprocessor, make sure you have defined a separate porous volume. The name should match to the name mentioned in "/constant/porousZones" dictionary. Only Darcy's law is mentioned in the dictionary in the example case, but you can also define the porosity by exponential constants. Those should be the only changes compared to running with "rhoSimpleFoam". Making your own porous solver for incompressible flows is quite straightforward.

Hope this helps you!

Ville

 mat October 30, 2008 05:45

Hi Ville, first, thanks for

Hi Ville,

first, thanks for your help, I started setting up a case for a porous zone with rhoPorousSimpleFoam. For the mesh, I did not define a porous volume in the preprocessor. After the mesh conversion I used cellSet to define a set and then used setsToZones. I guess that is equivalent.
I get an error, I suppose I forgot a value in one of the dictionarys. If you need files, I can post them here or send them to your mail address.

Here is the output:
/*---------------------------------------------------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.5 |
| \ / A nd | Web: http://www.OpenFOAM.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/
Exec : /usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimpl eFoam
Date : Oct 30 2008
Time : 10:43:20
Host : wum
PID : 19079
Case : /data/Projekte/Intern/Test_OpenFOAM/Vergleich_Fluent-OpenFOAM/Blech_30_630x630_e in_Blech/porousJump
nProcs : 1

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Selecting thermodynamics package hThermo<puremixture<consttransport<speciethermo<hc onstthermo<perfectgas>>>>>

Creating turbulence model

Selecting RAS turbulence model realizableKE
realizableKECoeffs
{
Cmu 0.09;
A0 4;
C2 1.9;
alphak 1;
alphaEps 0.833333;
alphah 1;
}

Starting time loop

Time = 1

DILUPBiCG: Solving for Ux, Initial residual = 0.99909, Final residual = 0.040439, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.999011, Final residual = 0.0435777, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 0.0673226, No Iterations 1
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib/libc.so.6"
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#4 void Foam::divide<foam::fvspatchfield,>(Foam::Geometric Field<double,>&, Foam::GeometricField<double,> const&, Foam::GeometricField<double,> const&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam"
#5 Foam::tmp<foam::geometricfield<double,> > Foam::operator/<foam::fvspatchfield,>(Foam::GeometricField<double ,> const&, Foam::tmp<foam::geometricfield<double,> > const&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam"
#6 main in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam"
#7 __libc_start_main in "/lib/libc.so.6"
Floating point exception

Martin

 villet October 31, 2008 15:11

I think you have used the righ

I think you have used the right utilities. I'm not sure if I'm that much of help, but you can send the files here so someone else can also help you.

Have you tried to run your case first without porous media using "rhoSimpleFoam" solver? I was thinking you have used zero values (instead of absolute pressure e.g. 1e5) in "/0/p"-file?

 mat November 4, 2008 03:54

Hi Ville, actually, you are

Hi Ville,

actually, you are very helpful, because I have used zero pressure. Now when using absolute pressure, the computation works.
Thank you very much.

Martin

 villet November 4, 2008 10:27

I have made the same mistake f

I have made the same mistake for several times http://www.cfd-online.com/OpenFOAM_D...part/happy.gif

 mat November 5, 2008 03:37

Hello, I have another probl

Hello,

I have another problem: For some reason I don't seem to have an inflow. I'm using the flowRateInletVelocity. Here is my inlet:

inlet
{
type flowRateInletVelocity;
flowRate 0.04;
value uniform (0 0 0);
}

even if I use higher values for flowRate I still get a very low velocity, which is likely to be introduced by temperature gradients.
In the forum I read that the "value" entry is a dummy and it's ok to set it zero.
Do you know what's my mistake here?

Martin

 mat November 5, 2008 11:44

Hey, forget the post above,

Hey,

forget the post above, I seem to be unable to change files properly.

But I have another question: I'm also simulating a compressible flow with heat conduction. But I don't find a way to enter the heat conductivity of my material. The simulations I have done so far overestimate the conduction. How can I lower the heat conductivity?

Thanks,
Martin

 hesamgh April 17, 2013 04:34

cellset

hi
i'm beginer in of
would you mind please explain me how can i separate the porous zone?
i convert my face from gambit to of, but the of did not recognize my porous media and all the faces ?!!

thanks

Quote:
 Originally Posted by mat (Post 203716) Hi Ville, first, thanks for your help, I started setting up a case for a porous zone with rhoPorousSimpleFoam. For the mesh, I did not define a porous volume in the preprocessor. After the mesh conversion I used cellSet to define a set and then used setsToZones. I guess that is equivalent. I get an error, I suppose I forgot a value in one of the dictionarys. If you need files, I can post them here or send them to your mail address. Here is the output: /*---------------------------------------------------------------------------*\ | ========= | | | \ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \ / O peration | Version: 1.5 | | \ / A nd | Web: http://www.OpenFOAM.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ Exec : /usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimpl eFoam Date : Oct 30 2008 Time : 10:43:20 Host : wum PID : 19079 Case : /data/Projekte/Intern/Test_OpenFOAM/Vergleich_Fluent-OpenFOAM/Blech_30_630x630_e in_Blech/porousJump nProcs : 1 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading thermophysical properties Selecting thermodynamics package hThermo>>>> Reading field U Reading/calculating face flux field phi Creating turbulence model Selecting RAS turbulence model realizableKE realizableKECoeffs { Cmu 0.09; A0 4; C2 1.9; alphak 1; alphaEps 0.833333; alphah 1; } Starting time loop Time = 1 DILUPBiCG: Solving for Ux, Initial residual = 0.99909, Final residual = 0.040439, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.999011, Final residual = 0.0435777, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 0.0673226, No Iterations 1 #0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so" #2 ?? in "/lib/libc.so.6" #3 Foam::divide(Foam::Field&, Foam::UList const&, Foam::UList const&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so" #4 void Foam::divide(Foam::Geometric Field&, Foam::GeometricField const&, Foam::GeometricField const&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam" #5 Foam::tmp > Foam::operator/(Foam::GeometricField const&, Foam::tmp > const&) in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam" #6 main in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam" #7 __libc_start_main in "/lib/libc.so.6" #8 Foam::regIOobject::readIfModified() in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam" Floating point exception Martin

 All times are GMT -4. The time now is 22:30.