|
[Sponsors] |
![]() |
![]() |
#1 |
New Member
Martin Brinks
Join Date: Mar 2009
Location: Aachen, Germany
Posts: 5
Rep Power: 17 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Member
Ville Tossavainen
Join Date: Mar 2009
Posts: 60
Rep Power: 17 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#3 |
New Member
Martin Brinks
Join Date: Mar 2009
Location: Aachen, Germany
Posts: 5
Rep Power: 17 ![]() |
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<puremixture<consttransport<speciethermo<hc onstthermo<perfectgas>>>>> 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: ![]() #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" #8 Foam::regIOobject::readIfModified() in "/usr/local/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/rhoPorousSimp leFoam" Floating point exception Martin |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Ville Tossavainen
Join Date: Mar 2009
Posts: 60
Rep Power: 17 ![]() |
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? |
|
![]() |
![]() |
![]() |
![]() |
#5 |
New Member
Martin Brinks
Join Date: Mar 2009
Location: Aachen, Germany
Posts: 5
Rep Power: 17 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#6 |
Member
Ville Tossavainen
Join Date: Mar 2009
Posts: 60
Rep Power: 17 ![]() |
I have made the same mistake for several times
![]() |
|
![]() |
![]() |
![]() |
![]() |
#7 |
New Member
Martin Brinks
Join Date: Mar 2009
Location: Aachen, Germany
Posts: 5
Rep Power: 17 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#8 |
New Member
Martin Brinks
Join Date: Mar 2009
Location: Aachen, Germany
Posts: 5
Rep Power: 17 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#9 | |
New Member
hesam
Join Date: Mar 2013
Posts: 13
Rep Power: 13 ![]() |
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:
|
||
![]() |
![]() |
![]() |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Porous model | jack | FLUENT | 2 | August 11, 2008 04:16 |
Velocity jumps - cont. | momentum_waves | Main CFD Forum | 8 | August 31, 2007 15:26 |
measured pressure in the discharge pipe jumps | Jan | Main CFD Forum | 1 | October 30, 2006 07:54 |
Will jumps of mesh size in FEM cause troubles? | tang | Main CFD Forum | 0 | June 19, 2003 10:59 |
How to use radiation model with porous model? | jacky | CFX | 0 | December 17, 2002 22:51 |