text: /*---------------------------------------------------------------------------*\
    =========                 |
    \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
     \\    /   O peration     |
      \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
       \\/     M anipulation  |
  -------------------------------------------------------------------------------
  License
      This file is part of OpenFOAM.
  
      OpenFOAM is free software: you can redistribute it and/or modify it
      under the terms of the GNU General Public License as published by
      the Free Software Foundation, either version 3 of the License, or
      (at your option) any later version.
  
      OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
      ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      for more details.
  
      You should have received a copy of the GNU General Public License
      along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
  
  Application
      buoyantPimpleFoam
  
  Description
      Transient solver for buoyant, turbulent flow of compressible fluids for
      ventilation and heat-transfer.
  
      Turbulence is modelled using a run-time selectable compressible RAS or
      LES model.
  
  \*---------------------------------------------------------------------------*/
  
  #include "fvCFD.H"
  #include "rhoThermo.H"
  #include "turbulenceModel.H"
  #include "radiationModel.H"
  #include "fvIOoptionList.H"
  #include "pimpleControl.H"
  #include "fixedFluxPressureFvPatchScalarField.H"
  
  // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  
  int main(int argc, char *argv[])
  {
      #include "setRootCase.H"
      #include "createTime.H"
      #include "createMesh.H"
      #include "readGravitationalAcceleration.H"
      #include "createFields.H"
      #include "createFvOptions.H"
      #include "createRadiationModel.H"
      #include "initContinuityErrs.H"
      #include "readTimeControls.H"
      #include "compressibleCourantNo.H"
      #include "setInitialDeltaT.H"
  
      pimpleControl pimple(mesh);
  
      // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
  
      Info<< "\nStarting time loop\n" << endl;
  
      while (runTime.run())
      {
          #include "readTimeControls.H"
          #include "compressibleCourantNo.H"
          #include "setDeltaT.H"
  
          runTime++;
  
          Info<< "Time = " << runTime.timeName() << nl << endl;
  
          #include "rhoEqn.H"
  
          // --- Pressure-velocity PIMPLE corrector loop
          while (pimple.loop())
          {
              #include "UEqn.H"
              #include "EEqn.H"
  
              // --- Pressure corrector loop
              while (pimple.correct())
              {
                  #include "pEqn.H"
              }
  
              if (pimple.turbCorr())
              {
                  turbulence->correct();
              }
          }
  
          rho = thermo.rho();
  
          runTime.write();
  
          Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
              << "  ClockTime = " << runTime.elapsedClockTime() << " s"
              << nl << endl;
      }
  
      Info<< "End\n" << endl;
  
      return 0;
  }
  
  
  // ************************************************************************* //
  