# adding temperature to simpleFoam

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 January 31, 2011, 09:27 adding temperature to simpleFoam #1 New Member   carlos Join Date: Apr 2010 Posts: 8 Rep Power: 16 Hello, Has any of you foamers added temperature to simpleFoam successfully? Regards, Carlos

 February 1, 2011, 11:23 #2 Senior Member   Elvis Join Date: Mar 2009 Location: Sindelfingen, Germany Posts: 620 Blog Entries: 6 Rep Power: 24 Hi, maybe this link helps you http://openfoamwiki.net/index.php/How_to_add_temperature_to_icoFoam

 February 5, 2011, 09:07 #3 New Member   carlos Join Date: Apr 2010 Posts: 8 Rep Power: 16 Thanks Elvis, I'm building it. It is taking me a while to understand how to implement the Temperature equation for a "steady state" for simpleFoam. I am making analogies with the buoyantBoussinesqSimpleFoam solver in a first step, but I am not sure. Anyway, up to the 12th iteration I get an error message. If I make a step forward implementing simpleTempFoam, i'll post it here. Thanks again, Carlos

 February 6, 2011, 00:51 #4 Member   Bjorn H. Hjertager Join Date: Mar 2009 Posts: 72 Rep Power: 17 Hi, Instead of implementing temperature yourself you could use rhoSimpleFoam. This solver has already the solution of the enthalpy equation included. rgds Bjorn

 February 6, 2011, 02:35 #5 New Member   carlos Join Date: Apr 2010 Posts: 8 Rep Power: 16 Hi Bjorn, Is it possible to use water as heat transfer media in rhoSimpleFoam? I haven't been able to change perfectGas in the thermophysicalproperties file.

 February 6, 2011, 03:28 #6 Member   Bjorn H. Hjertager Join Date: Mar 2009 Posts: 72 Rep Power: 17 Ok, I did not realize that your problem had water as medium. So, you probably need to implement the temperature equation after all. Have you by the way checked the thermomodel: icoPolynomial Incompressible polynomial equation of state, e.g. for liquids as indicated in the User Manual? rgds Bjorn

 June 1, 2011, 10:19 #7 Member   Nickolas P Join Date: Oct 2010 Location: Greece Posts: 30 Rep Power: 15 Hello everyone, I m a relatively new foamer and I mostly work with simpleFoam. I wanted as well to add temperature calculation for my flow as Carlos, so I followed as Bjorn suggested the rhosimpleFoam solver and the instructions from OpenFoam Wiki on how to add temperature to IcoFoam. A lot of erros appeared at the first place but I managed to overcome them, builded the new solver with the temperature and no errors appear. I use Paraview for postprocessing and the problem is that U,p, nu (I work with non - Newtonian flow) is printed normally but I cannot see anywhere the T variable to select to view the results. Did anybody had that problem?I would appreciate any comments. Kindly, Nickolas shiromaniac likes this.

 June 1, 2011, 10:21 #8 Member   Nickolas P Join Date: Oct 2010 Location: Greece Posts: 30 Rep Power: 15 Also, in the past I have succesfully carried out the addition of temperature to icoFoam and Paraview gave me the results as suggested from OpenFoam Wiki about that subject. Thanx

 June 1, 2011, 10:43 #9 Senior Member   Martin Join Date: Oct 2009 Location: Aachen, Germany Posts: 255 Rep Power: 21 Hi Nickolas, just a guess, but have you defined the scalarField for T with option "IOobject::AUTO_WRITE"? Code: ```Info << "Reading field T\n" << endl; volScalarField T ( IOobject ( "T", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE // <---- T should be written out ), mesh );``` Beside of that you can force T to be written out with: Code: `T.write()` near the end of your code. Martin

 June 1, 2011, 10:48 #10 Member   Nickolas P Join Date: Oct 2010 Location: Greece Posts: 30 Rep Power: 15 Yes that is correct. Below I m sending the createFields.H file of my created solver: Info << "Reading field p\n" << endl; volScalarField p ( IOobject ( "p", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); Info << "Reading field U\n" << endl; volVectorField U ( IOobject ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); //adding from here Info<< "Reading field T\n" < turbulence ( incompressible::RASModel::New(U, phi, laminarTransport) So besides that I can add at the end the line you suggested and leave the option IOobject::AUTO_WRITE the same?

 June 1, 2011, 10:57 #11 Senior Member   Martin Join Date: Oct 2009 Location: Aachen, Germany Posts: 255 Rep Power: 21 The AUTO_WRITE option is fine, don't know why it doesn't work. You can add the T.write() additionally, for example in your runTime loop: Code: ``` while (runTime.loop()) { . . . . . . if (runTime.outputTime()) T.write(); }``` or at the very end of your solver: Code: ``` . . . } T.write(); Info<< "End\n" << endl;``` Martin

June 1, 2011, 13:35
#12
Member

Nickolas P
Join Date: Oct 2010
Location: Greece
Posts: 30
Rep Power: 15
Martin,

First of all thanks a lot for the useful information.
I tried the method you told me but the problem still remains the same. So I found a similar solver to see if things work out, the solver is the buoyantBoussinesqSimpleFoam. I modified my simpleFoam solver to match with the Boussinesq one. Actually at Boussinesq there is already the code on how to add the temperature but I think in my case I dont implement it correct.

I'm attaching some of the files of the solver to check if I have done anything wrong. Please, I m open to any thoughts, comments!

Kindly,

Nickolas
Attached Files
 createFields.H (1.2 KB, 334 views) my_simpleFoam.C (2.4 KB, 382 views) readTransportProperties.H (148 Bytes, 305 views) TEqn.H (309 Bytes, 477 views)

June 1, 2011, 16:54
#13
Senior Member

Martin
Join Date: Oct 2009
Location: Aachen, Germany
Posts: 255
Rep Power: 21
Hi Nickolas,

in the attachment you find the reviewed solver and a test case.

I made two minor changes to your solver in createFields.H and TEqn.H, have a look at comments with "@ Nickolas:".

To run the test case use:
blockMesh
my_simpleFoam

You can run it in parallel, too. It's configured for 4 cpu cores.

Have fun

Martin
Attached Images
 T.jpg (18.4 KB, 663 views)
Attached Files
 solver_and_case.tar.gz (16.7 KB, 907 views)

 June 2, 2011, 13:13 #14 Member   Nickolas P Join Date: Oct 2010 Location: Greece Posts: 30 Rep Power: 15 Hi Martin, With your suggestions I was able to perform the simulations and the temperature was calculated! Thank you very much. I am now able to understand the code better. Nontheless, I need to validate my results with the theory to check if everythhing works ok, but for the time being the temperature field is plotted. I have another question concerning the "relaxation factors" that I see in the "fvsolution" file. How these factors affect the results of the simulation and I would like to know if there any standard values. Does it have to do with the flow field (meaning Newtonian approximation, non - Newtonian approximation) or the mesh? Or is it just a short of numerical technique? I found OpenFOAM very interesting and I would like to learn as much as possible although I m not very strong at c++. Do you happen to know any books or internet sites for me to study regarding these matter? Again thanks a lot for your comments! Kindly, Nickolas

September 12, 2011, 11:21
#15
Member

andres
Join Date: Jul 2011
Posts: 31
Rep Power: 14
Quote:
 Originally Posted by MartinB Hi Nickolas, in the attachment you find the reviewed solver and a test case. I made two minor changes to your solver in createFields.H and TEqn.H, have a look at comments with "@ Nickolas:". To run the test case use: blockMesh my_simpleFoam You can run it in parallel, too. It's configured for 4 cpu cores. Have fun Martin
Hi
I have taken this file to add Temperature to the simpleFoam solver, I have followed the the instructions in the openfom wiki, but I'm having an error.
Cheers.

Quote:
 usuarioubuntu@SAN1496UBU:/opt/openfoam200/applications/solvers/incompressible/my_simpleFoam\$ wmake Making dependency list for source file my_simpleFoam.C /opt/openfoam200/wmake/scripts/addCompile: 53: cannot create my_simpleFoam.dep: Permission denied /opt/openfoam200/wmake/scripts/addCompile: 57: cannot create my_simpleFoam.dep: Permission denied /opt/openfoam200/wmake/scripts/addCompile: 59: cannot create my_simpleFoam.dep: Permission denied /opt/openfoam200/wmake/scripts/addCompile: 60: cannot create my_simpleFoam.dep: Permission denied /opt/openfoam200/wmake/scripts/addCompile: 61: cannot create my_simpleFoam.dep: Permission denied /opt/openfoam200/wmake/scripts/addCompile: 62: cannot create my_simpleFoam.dep: Permission denied make: *** [my_simpleFoam.dep] Error 2

 September 13, 2011, 02:22 #16 Senior Member     Anton Kidess Join Date: May 2009 Location: Germany Posts: 1,377 Rep Power: 29 Andres, /opt/ is a directory that can only be written to with administrator rights. If you compile the solver in your home directory all should be well.

September 13, 2011, 10:44
#17
Member

andres
Join Date: Jul 2011
Posts: 31
Rep Power: 14
Quote:
 Originally Posted by akidess Andres, /opt/ is a directory that can only be written to with administrator rights. If you compile the solver in your home directory all should be well.
Hi Anton, thanks for your answer. I have tried to compile the solver in home directory, but I get a new error. Sorry but I donīt have to much experience working with linux, so some instructions are dificult to follow.
Quote:
 usuarioubuntu@SAN1496UBU:~/myfoam\$ wmake SOURCE=my_simpleFoam.C ; g++ -m32 -Dlinux -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-100 -I/opt/openfoam200/src/turbulenceModels -I/opt/openfoam200/src/turbulenceModels/incompressible/RAS/RASModel -I/opt/openfoam200/src/transportModels -I/opt/openfoam200/src/transportModels/incompressible/singlePhaseTransportModel -I/opt/openfoam200/src/finiteVolume/lnInclude -IlnInclude -I. -I/opt/openfoam200/src/OpenFOAM/lnInclude -I/opt/openfoam200/src/OSspecific/POSIX/lnInclude -fPIC -c \$SOURCE -o Make/linuxGccDPOpt/my_simpleFoam.o my_simpleFoam.C:54:40: fatal error: readSIMPLEControls.H: No such file or directory compilation terminated. make: *** [Make/linuxGccDPOpt/my_simpleFoam.o] Error 1

 September 13, 2011, 11:15 #18 Senior Member     Anton Kidess Join Date: May 2009 Location: Germany Posts: 1,377 Rep Power: 29 Did you execute wclean before you tried to wmake again?

September 13, 2011, 11:19
#19
Member

andres
Join Date: Jul 2011
Posts: 31
Rep Power: 14
Quote:
 Originally Posted by akidess Did you execute wclean before you tried to wmake again?
No, i havenīt executed wclean.

Quote:
 usuarioubuntu@SAN1496UBU:~/myfoam\$ wclean usuarioubuntu@SAN1496UBU:~/myfoam\$ wmake Making dependency list for source file my_simpleFoam.C could not open file readSIMPLEControls.H for source file my_simpleFoam.C SOURCE=my_simpleFoam.C ; g++ -m32 -Dlinux -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-100 -I/opt/openfoam200/src/turbulenceModels -I/opt/openfoam200/src/turbulenceModels/incompressible/RAS/RASModel -I/opt/openfoam200/src/transportModels -I/opt/openfoam200/src/transportModels/incompressible/singlePhaseTransportModel -I/opt/openfoam200/src/finiteVolume/lnInclude -IlnInclude -I. -I/opt/openfoam200/src/OpenFOAM/lnInclude -I/opt/openfoam200/src/OSspecific/POSIX/lnInclude -fPIC -c \$SOURCE -o Make/linuxGccDPOpt/my_simpleFoam.o my_simpleFoam.C:54:40: fatal error: readSIMPLEControls.H: No such file or directory compilation terminated. make: *** [Make/linuxGccDPOpt/my_simpleFoam.o] Error 1
thanks!

 September 13, 2011, 11:24 #20 Senior Member     Anton Kidess Join Date: May 2009 Location: Germany Posts: 1,377 Rep Power: 29 Does readSIMPLEcontrols.H exist in "/opt/openfoam200/src/finiteVolume/lnInclude/"?

 Tags simplefoam, temperature

 Thread Tools Search this Thread Search this Thread: Advanced Search Display Modes Linear Mode

 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 OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Mihail CFX 7 September 7, 2014 06:27 dgadensg OpenFOAM Programming & Development 10 May 22, 2010 05:47 sachin OpenFOAM Running, Solving & CFD 2 March 31, 2010 03:21 yapalparvi OpenFOAM Running, Solving & CFD 8 October 14, 2009 20:18 Xabi OpenFOAM Running, Solving & CFD 1 April 24, 2009 04:43

All times are GMT -4. The time now is 21:48.

 Contact Us - CFD Online - Privacy Statement - Top