|
[Sponsors] |
January 31, 2011, 10: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, 12:23 |
|
#2 |
Senior Member
|
||
February 5, 2011, 10: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, 01: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, 03: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, 04: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, 11:19 |
|
#7 |
Member
Nickolas P
Join Date: Oct 2010
Location: Greece
Posts: 30
Rep Power: 16 |
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 |
|
June 1, 2011, 11:21 |
|
#8 |
Member
Nickolas P
Join Date: Oct 2010
Location: Greece
Posts: 30
Rep Power: 16 |
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, 11:43 |
|
#9 |
Senior Member
Martin
Join Date: Oct 2009
Location: Aachen, Germany
Posts: 255
Rep Power: 22 |
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 ); Code:
T.write() Martin |
|
June 1, 2011, 11:48 |
|
#10 |
Member
Nickolas P
Join Date: Oct 2010
Location: Greece
Posts: 30
Rep Power: 16 |
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" <<endl; volScalarField T ( IOobject ( "T", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); //to here # include "createPhi.H" label pRefCell = 0; scalar pRefValue = 0.0; setRefCell(p, mesh.solutionDict().subDict("SIMPLE"), pRefCell, pRefValue); singlePhaseTransportModel laminarTransport(U, phi); dimensionedScalar DT ( mesh.solutionDict().subDict("SIMPLE").lookup("DT") ); autoPtr<incompressible::RASModel> 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, 11:57 |
|
#11 |
Senior Member
Martin
Join Date: Oct 2009
Location: Aachen, Germany
Posts: 255
Rep Power: 22 |
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(); } Code:
. . . } T.write(); Info<< "End\n" << endl; |
|
June 1, 2011, 14:35 |
|
#12 |
Member
Nickolas P
Join Date: Oct 2010
Location: Greece
Posts: 30
Rep Power: 16 |
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 |
|
June 1, 2011, 17:54 |
|
#13 |
Senior Member
Martin
Join Date: Oct 2009
Location: Aachen, Germany
Posts: 255
Rep Power: 22 |
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 |
|
June 2, 2011, 14:13 |
|
#14 |
Member
Nickolas P
Join Date: Oct 2010
Location: Greece
Posts: 30
Rep Power: 16 |
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, 12:21 |
|
#15 | ||
Member
andres
Join Date: Jul 2011
Posts: 31
Rep Power: 15 |
Quote:
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:
|
|||
September 13, 2011, 03:22 |
|
#16 |
Senior Member
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30 |
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, 11:44 |
|
#17 | ||
Member
andres
Join Date: Jul 2011
Posts: 31
Rep Power: 15 |
Quote:
Quote:
|
|||
September 13, 2011, 12:15 |
|
#18 |
Senior Member
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30 |
Did you execute wclean before you tried to wmake again?
|
|
September 13, 2011, 12:19 |
|
#19 | |
Member
andres
Join Date: Jul 2011
Posts: 31
Rep Power: 15 |
No, i havenīt executed wclean.
Quote:
|
||
September 13, 2011, 12:24 |
|
#20 |
Senior Member
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 30 |
Does readSIMPLEcontrols.H exist in "/opt/openfoam200/src/finiteVolume/lnInclude/"?
|
|
Tags |
simplefoam, temperature |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Calculation of the Governing Equations | Mihail | CFX | 7 | September 7, 2014 07:27 |
Adding a new temperature dependent viscositymodel? | dgadensg | OpenFOAM Programming & Development | 10 | May 22, 2010 06:47 |
Adding temperature equation in settlingFoam | sachin | OpenFOAM Running, Solving & CFD | 2 | March 31, 2010 04:21 |
Adding temperature field to InterFoam | yapalparvi | OpenFOAM Running, Solving & CFD | 8 | October 14, 2009 21:18 |
Adding coriolis forces in simplefoam | Xabi | OpenFOAM Running, Solving & CFD | 1 | April 24, 2009 05:43 |