CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   simpleFoam with energy equation (

sega October 13, 2009 12:49

simpleFoam with energy equation
Hello world.

I'm dealing with a case in which Navier-Stokes and energy equation can be solved one after the other.

I have little experience in manipulating solvers, but I think it's possible to alter the simpleFoam solver for such a case.

So where do I put the energy equation?

As I want to compute temperature after successfully converged Navier-Stokes-Equation I have thought about opening another time-loop and solving the energy equation there.

Something like this:

  Info<< "\nStarting time loop\n" << endl;

    for (runTime++; !runTime.end(); runTime++)
        Info<< "Time = " << runTime.timeName() << nl << endl;

#      include "readSIMPLEControls.H"
#      include "initConvergenceCheck.H"


        // Pressure-velocity SIMPLE corrector
#          include "UEqn.H"
#          include "pEqn.H"



        Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
            << "  ClockTime = " << runTime.elapsedClockTime() << " s"
            << nl << endl;

#      include "convergenceCheck.H"

#include 'TEqn.H'

    Info<< "End\n" << endl;


TEqn.H will contain the energy equation. So much for the basics of this problem.

Thanks for your ideas. See you.

markusrehm October 14, 2009 02:57

Hi Sebastian,

have a look at buoyantSimpleFoam.

Regards, Markus.

sega October 19, 2009 14:04


Originally Posted by markusrehm (Post 232530)
Hi Sebastian,

have a look at buoyantSimpleFoam.

Regards, Markus.

I did and it looks to me that the enthalpy equation is solved inside the brackets with U and p.

So I will put the energy equation inside it too?


#          include "UEqn.H"
#          include "pEqn.H"
#          include "TEqn.H"

Just to make sure...

sega November 20, 2009 15:21

It took some time before I got back to this construction site:

Do you think buoyantSimpleFoam for itself (without chaning anything) will be the right choice for a simple convective heat transfer problem?

markusrehm November 23, 2009 03:31

It worked well for me. But you can take out the buoyancy term as well.


sdharmar January 25, 2013 16:05

Hi Markus and Sebastian,

Why can't we put the TEqn.H out side the SIMPLE loop. I think we need to calculate temperature field after we got corrected velocity field. Is my idea right or wrong? And since simpleFoam calculates turbulent flows I put my Teqn.H as,


volScalarField kappaEff
turbulence->nu()/Pr + turbulence->nut()/Prt

fvScalarMatrix TEqn
fvm::div(phi, T)
- fvm::laplacian(kappaEff, T)



//rhok = 1.0 - beta*(T - TRef);

Please correct me if I am wrong. My temperature value fluctuates a lot whenever I used it out side the SIMPLE loop. But in pisoFoam I put it in outside the PISO loop and worked really good.

Please advice me.

Best regards,

Hisham January 26, 2013 07:42

Hi Suranga

I think the (rather old) discussion here was about the time loop not the Simple/pimple loop. Naturally one needs to keep the algorithm for the Navier-Stokes equations intact. You can add whatever equation outside the algorithm to let it resole the pressure-velocity coupling in peace. Of course all equations should be inside the time loop unless you need to solve an equation once.


All times are GMT -4. The time now is 07:18.