CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

How to set up a case for porousSimpleFoam and make it work with openFoam ??

Register Blogs Community New Posts Updated Threads Search

Like Tree3Likes
  • 1 Post By lramutti
  • 2 Post By lramutti

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 14, 2014, 12:02
Post How to set up a case for porousSimpleFoam and make it work with openFoam ??
  #1
Member
 
Mahmoud Aboukhedr
Join Date: Feb 2014
Location: London
Posts: 40
Rep Power: 12
Mahmoud_aboukhedr is on a distinguished road
Am a beginner in using openfoam and am trying to use the porousSimpleFoam for simple shape geometry (box)with 3 zones (inlet_zone, porous_zone, outlet_zone) I need to assign artificial porosity to the porous zone but I can not find any detailed info for the solver as the definition for e1 and e2 vectors or how to add permeability and also how to calculate the number of steps and I tried to copy the case as in the tutorial for the angledDuctImplicit and run it with random numbers for vectors e1=(1 0 0) and e2( 0 1 0) and the solver is not working with my anyway and gives this errors ...

#0 Foam::error:rintStack(Foam::Ostream&) in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMa trix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#6 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam222/platforms/linux64GccDPOpt/bin/porousSimpleFoam"
#8 Foam::fvMatrix<double>::solve() in "/opt/openfoam222/platforms/linux64GccDPOpt/bin/porousSimpleFoam"
#9
in "/opt/openfoam222/platforms/linux64GccDPOpt/bin/porousSimpleFoam"
#10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11
in "/opt/openfoam222/platforms/linux64GccDPOpt/bin/porousSimpleFoam"
Floating point exception (core dumped)


Any one can give steps for seting this case!!!!!
Mahmoud_aboukhedr is offline   Reply With Quote

Old   May 20, 2014, 16:14
Default
  #2
Member
 
Lucas Mutti
Join Date: Aug 2013
Posts: 47
Rep Power: 13
lramutti is on a distinguished road
Hey Mahmoud,

I came across the same error and I saw your post. Seems like it has been a while since you came across this problem but yet I believe that it would be good to share a possible justification for this problem.

1. Dealing specifically with the problem you are facing, be very careful with the fvSolution script.

Code:
#3 Foam::GAMGSolver::scale(Foam::Field<double>&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"[*]#4 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMa trix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"[*]#5 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam222/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
For my particular case study I solved the issue mentioned above by changing the relTol from 0 to 0.1. As previously stated, this error occurs because the relTol has been set to 0. In other words, the solved parameter is not changing per iteration. I believe this is the case for your problem, as it was for mine.

2. When OpenFOAM prints sigFpe is that something is being divided by zero. This is not always the case but still we must be cautious with the values used. In case you are divided something by zero make sure to make it infinitesimally small (i.e. 0.01) and run the solver again.

3.In case dividing by zero is not the problem make sure that your case study is consistent. With that being said, I strongly advice you to keep track of the names used to define each domain. Sometimes a simple typo can make debugging a pain.

4. Consider making modifications to your controlDict script in order to get it to work smoothly. The reason I say so is so that you can stipulate a Courant number that will not blow up the simulation.

Hope it works out for you or for others who come across this issue.

Cheers

Lucas
Mahmoud_aboukhedr likes this.
lramutti is offline   Reply With Quote

Old   May 20, 2014, 17:02
Default
  #3
Member
 
Lucas Mutti
Join Date: Aug 2013
Posts: 47
Rep Power: 13
lramutti is on a distinguished road
Hey Mahmoud,

Try using this controlDict script instead. It works for me.

Code:
application     chtMultiRegionFoam;

startFrom       startTime;

startTime       0;

stopAt          endTime;

endTime         5000;

deltaT          1;//0.11;

writeControl    runTime;

writeInterval   0.05;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

adjustTimeStep true;

maxCo 0.5;
Depending on how your simulation goes it can be quite handy to reduce the maxCo to 0.3~0.4.

Cheers

Lucas
Mahmoud_aboukhedr and Zane like this.
lramutti is offline   Reply With Quote

Old   September 4, 2014, 10:30
Default
  #4
Member
 
Mahmoud Aboukhedr
Join Date: Feb 2014
Location: London
Posts: 40
Rep Power: 12
Mahmoud_aboukhedr is on a distinguished road
thanks a lot
Mahmoud_aboukhedr is offline   Reply With Quote

Old   July 30, 2015, 12:59
Post Meaning of trTU() in porousSimpleFoam
  #5
Member
 
AJAY BHANDARI
Join Date: Jul 2015
Location: INDIA
Posts: 57
Rep Power: 10
AJAY BHANDARI is on a distinguished road
Hi all,

Can somebody please tell me what trTU() means and how it works in Ueqn.H file in porous simple Foam. I am very much confuse about its working. From the code I understand that Ueqn.A() gives the diagnol coeff of matrix U and tensor(I)*Ueqn.A() = tTU . then inverse of of the diagnol coeff of tTU are being stored in trTU(). as trTU() = inv(tTU).

But can someone tell me the maths behind it . How the matrix is being formed. How U is being calculated from that. Plz help. Any help will be appreciated.
AJAY BHANDARI is offline   Reply With Quote

Reply

Tags
openfoam 2.1.1, porous media, porous medium, porous modellling


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
ATTENTION! Reliability problems in CFX 5.7 Joseph CFX 14 April 20, 2010 15:45
Installation OF1.5-dev ttdtud OpenFOAM Installation 46 May 5, 2009 02:32
GAMBIT can't make it work. Achilleas FLUENT 0 December 30, 2006 14:21
a way to make lots of money quick and easy no lies Dob Main CFD Forum 0 October 10, 2006 16:45
Body force - Does it work? Jan Rusås CFX 5 August 27, 2002 09:50


All times are GMT -4. The time now is 06:34.