From 80393339a9a7453006554230f7c669a2d017cf67 Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Thu, 17 Mar 2011 15:03:15 +0000
Subject: [PATCH] Upgrade of compressible solvers merging in developments from
 OpenFOAM-1.7.x

---
 .../compressible/rhoCentralFoam/Make/options  | 13 ++-
 .../rhoCentralFoam/createFields.H             | 15 +++
 .../rhoCentralDyMFoam/Make/options            |  7 +-
 .../rhoCentralDyMFoam/rhoCentralDyMFoam.C     | 22 +++--
 .../rhoCentralFoam/rhoCentralFoam.C           | 40 +++++---
 .../compressible/rhoPimpleFoam/Allwmake       |  8 ++
 .../compressible/rhoPimpleFoam/createFields.H | 10 ++
 .../solvers/compressible/rhoPimpleFoam/pEqn.H |  6 ++
 .../rhoPimpleFoam/rhoPimpleFoam.C             |  3 +-
 .../rhoPorousMRFPimpleFoam/Make/files         |  0
 .../rhoPorousMRFPimpleFoam/Make/options       |  2 +-
 .../rhoPorousMRFPimpleFoam/UEqn.H             |  0
 .../rhoPorousMRFPimpleFoam/createZones.H      |  5 +
 .../rhoPorousMRFPimpleFoam/pEqn.H             | 32 +++---
 .../rhoPorousMRFPimpleFoam.C                  |  1 +
 .../rhoPorousMRFPimpleFoam/createFields.H     | 77 ---------------
 .../rhoPorousSimpleFoam/createFields.H        | 98 -------------------
 .../compressible/rhoSimpleFoam/Allwmake       |  8 ++
 .../rhoPorousSimpleFoam/Make/files            |  0
 .../rhoPorousSimpleFoam/Make/options          |  1 +
 .../rhoPorousSimpleFoam/UEqn.H                |  0
 .../rhoPorousSimpleFoam/createPorousZones.H   | 27 +++++
 .../rhoPorousSimpleFoam/hEqn.H                |  4 +-
 .../rhoPorousSimpleFoam/pEqn.H                |  0
 .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C |  1 +
 .../rhoSimplecFoam/rhoSimplecFoam.C           |  2 +-
 .../sonicDyMFoam/compressibleContinuityErrs.H | 20 ----
 .../compressible/sonicDyMFoam/createFields.H  | 57 -----------
 .../readThermodynamicProperties.H             | 23 -----
 .../solvers/compressible/sonicFoam/Allwmake   |  9 ++
 .../solvers/compressible/sonicFoam/UEqn.H     |  4 +-
 .../{ => sonicFoam}/sonicDyMFoam/Make/files   |  0
 .../{ => sonicFoam}/sonicDyMFoam/Make/options |  2 +-
 .../sonicFoam/sonicDyMFoam/pEqn.H             | 33 +++++++
 .../sonicDyMFoam/sonicDyMFoam.C               | 53 +---------
 .../compressible/sonicFoam/sonicFoam.C        |  2 +-
 .../sonicLiquidFoam/Make/files                |  0
 .../sonicLiquidFoam/Make/options              |  0
 .../compressibleContinuityErrs.H              |  0
 .../sonicLiquidFoam/createFields.H            |  0
 .../readThermodynamicProperties.H             |  0
 .../readTransportProperties.H                 |  0
 .../sonicLiquidFoam/sonicLiquidFoam.C         |  2 +-
 .../sonicLiquidFoam/readTransportProperties.H | 18 ----
 .../fireFoam/les/smallPoolFire2D/0/p_rgh      | 11 ++-
 .../fireFoam/les/smallPoolFire3D/0/p_rgh      |  9 +-
 .../les/smallPoolFire3D/system/fvSolution     | 10 +-
 .../constant/turbulenceProperties             | 21 ++++
 .../constant/turbulenceProperties             | 21 ++++
 .../forwardStep/constant/turbulenceProperties | 21 ++++
 .../constant/turbulenceProperties             | 21 ++++
 .../shockTube/constant/turbulenceProperties   | 21 ++++
 .../wedge15Ma5/constant/turbulenceProperties  | 21 ++++
 .../les/pitzDaily/system/fvSolution           |  2 +
 .../ras/angledDuct/system/fvSolution          |  2 +
 .../ras/cavity/system/fvSolution              |  2 +
 .../angledDuctExplicit/system/fvSchemes       |  4 +-
 .../angledDuctExplicit/system/fvSolution      |  2 +-
 .../constant/polyMesh/boundary                |  2 +-
 .../angledDuctImplicit/system/fvSchemes       |  4 +-
 .../laminar/shockTube/system/sampleDict       | 11 ++-
 61 files changed, 359 insertions(+), 431 deletions(-)
 create mode 100755 applications/solvers/compressible/rhoPimpleFoam/Allwmake
 rename applications/solvers/compressible/{ => rhoPimpleFoam}/rhoPorousMRFPimpleFoam/Make/files (100%)
 rename applications/solvers/compressible/{ => rhoPimpleFoam}/rhoPorousMRFPimpleFoam/Make/options (94%)
 rename applications/solvers/compressible/{ => rhoPimpleFoam}/rhoPorousMRFPimpleFoam/UEqn.H (100%)
 create mode 100644 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H
 rename applications/solvers/compressible/{ => rhoPimpleFoam}/rhoPorousMRFPimpleFoam/pEqn.H (80%)
 rename applications/solvers/compressible/{ => rhoPimpleFoam}/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C (99%)
 delete mode 100644 applications/solvers/compressible/rhoPorousMRFPimpleFoam/createFields.H
 delete mode 100644 applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H
 create mode 100755 applications/solvers/compressible/rhoSimpleFoam/Allwmake
 rename applications/solvers/compressible/{ => rhoSimpleFoam}/rhoPorousSimpleFoam/Make/files (100%)
 rename applications/solvers/compressible/{ => rhoSimpleFoam}/rhoPorousSimpleFoam/Make/options (98%)
 rename applications/solvers/compressible/{ => rhoSimpleFoam}/rhoPorousSimpleFoam/UEqn.H (100%)
 create mode 100644 applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createPorousZones.H
 rename applications/solvers/compressible/{ => rhoSimpleFoam}/rhoPorousSimpleFoam/hEqn.H (68%)
 rename applications/solvers/compressible/{ => rhoSimpleFoam}/rhoPorousSimpleFoam/pEqn.H (100%)
 rename applications/solvers/compressible/{ => rhoSimpleFoam}/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C (98%)
 delete mode 100644 applications/solvers/compressible/sonicDyMFoam/compressibleContinuityErrs.H
 delete mode 100644 applications/solvers/compressible/sonicDyMFoam/createFields.H
 delete mode 100644 applications/solvers/compressible/sonicDyMFoam/readThermodynamicProperties.H
 create mode 100755 applications/solvers/compressible/sonicFoam/Allwmake
 rename applications/solvers/compressible/{ => sonicFoam}/sonicDyMFoam/Make/files (100%)
 rename applications/solvers/compressible/{ => sonicFoam}/sonicDyMFoam/Make/options (95%)
 create mode 100644 applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H
 rename applications/solvers/compressible/{ => sonicFoam}/sonicDyMFoam/sonicDyMFoam.C (66%)
 rename applications/solvers/compressible/{ => sonicFoam}/sonicLiquidFoam/Make/files (100%)
 rename applications/solvers/compressible/{ => sonicFoam}/sonicLiquidFoam/Make/options (100%)
 rename applications/solvers/compressible/{ => sonicFoam}/sonicLiquidFoam/compressibleContinuityErrs.H (100%)
 rename applications/solvers/compressible/{ => sonicFoam}/sonicLiquidFoam/createFields.H (100%)
 rename applications/solvers/compressible/{ => sonicFoam}/sonicLiquidFoam/readThermodynamicProperties.H (100%)
 rename applications/solvers/compressible/{sonicDyMFoam => sonicFoam/sonicLiquidFoam}/readTransportProperties.H (100%)
 rename applications/solvers/compressible/{ => sonicFoam}/sonicLiquidFoam/sonicLiquidFoam.C (98%)
 delete mode 100644 applications/solvers/compressible/sonicLiquidFoam/readTransportProperties.H
 create mode 100644 tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties
 create mode 100644 tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties
 create mode 100644 tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties
 create mode 100644 tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties
 create mode 100644 tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties
 create mode 100644 tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties

diff --git a/applications/solvers/compressible/rhoCentralFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/Make/options
index 4714ca611c7..b3be16a505b 100644
--- a/applications/solvers/compressible/rhoCentralFoam/Make/options
+++ b/applications/solvers/compressible/rhoCentralFoam/Make/options
@@ -1,11 +1,18 @@
 EXE_INC = \
+    -IBCs/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -IBCs/lnInclude \
-    -I$(LIB_SRC)/sampling/lnInclude
+    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
+    -I$(LIB_SRC)/dynamicMesh/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
+
 EXE_LIBS = \
     -lfiniteVolume \
     -lbasicThermophysicalModels \
     -lspecie \
-    -lrhoCentralFoam
+    -lrhoCentralFoam \
+    -lcompressibleTurbulenceModel \
+    -lcompressibleRASModels \
+    -lcompressibleLESModels \
+    -lmeshTools
diff --git a/applications/solvers/compressible/rhoCentralFoam/createFields.H b/applications/solvers/compressible/rhoCentralFoam/createFields.H
index fc65b3e5b40..60b40db1d13 100644
--- a/applications/solvers/compressible/rhoCentralFoam/createFields.H
+++ b/applications/solvers/compressible/rhoCentralFoam/createFields.H
@@ -96,3 +96,18 @@ surfaceScalarField neg
     mesh,
     dimensionedScalar("neg", dimless, -1.0)
 );
+
+
+surfaceScalarField phi("phi", mesh.Sf() & fvc::interpolate(rhoU));
+
+Info<< "Creating turbulence model\n" << endl;
+autoPtr<compressible::turbulenceModel> turbulence
+(
+    compressible::turbulenceModel::New
+    (
+        rho,
+        U,
+        phi,
+        thermo
+    )
+);
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
index 403ffc1eef3..250effbee28 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
@@ -1,10 +1,10 @@
 EXE_INC = \
     -I.. \
+    -I../BCs/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-    -I../BCs/lnInclude \
-    -I$(LIB_SRC)/sampling/lnInclude \
+    -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
@@ -13,5 +13,8 @@ EXE_LIBS = \
     -lbasicThermophysicalModels \
     -lspecie \
     -lrhoCentralFoam \
+    -lcompressibleTurbulenceModel \
+    -lcompressibleRASModels \
+    -lcompressibleLESModels \
     -ldynamicMesh \
     -lmeshTools
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
index 64b5fb5d872..8005a77aa70 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2009-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Application
-    rhoCentralFoam
+    rhoCentralDyMFoam
 
 Description
     Density-based compressible flow solver based on central-upwind schemes of
@@ -32,6 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "basicPsiThermo.H"
+#include "turbulenceModel.H"
 #include "zeroGradientFvPatchFields.H"
 #include "fixedRhoFvPatchScalarField.H"
 #include "motionSolver.H"
@@ -185,12 +186,11 @@ int main(int argc, char *argv[])
           + aSf*p_pos - aSf*p_neg
         );
 
-        volTensorField tauMC("tauMC", mu*dev2(Foam::T(fvc::grad(U))));
+        volScalarField muEff(turbulence->muEff());
+        volTensorField tauMC("tauMC", muEff*dev2(Foam::T(fvc::grad(U))));
 
         // --- Solve density
-        Info<< max(rho) << " " << min(rho) << endl;
         solve(fvm::ddt(rho) + fvc::div(phi));
-        Info<< max(rho) << " " << min(rho) << endl;
 
         // --- Solve momentum
         solve(fvm::ddt(rhoU) + fvc::div(phiUp));
@@ -206,7 +206,7 @@ int main(int argc, char *argv[])
             solve
             (
                 fvm::ddt(rho, U) - fvc::ddt(rho, U)
-              - fvm::laplacian(mu, U)
+              - fvm::laplacian(muEff, U)
               - fvc::div(tauMC)
             );
             rhoU = rho*U;
@@ -216,7 +216,7 @@ int main(int argc, char *argv[])
         surfaceScalarField sigmaDotU
         (
             (
-                fvc::interpolate(mu)*mesh.magSf()*fvc::snGrad(U)
+                fvc::interpolate(muEff)*mesh.magSf()*fvc::snGrad(U)
               + (mesh.Sf() & fvc::interpolate(tauMC))
             )
             & (a_pos*U_pos + a_neg*U_neg)
@@ -240,12 +240,12 @@ int main(int argc, char *argv[])
 
         if (!inviscid)
         {
-            volScalarField k("k", thermo.Cp()*mu/Pr);
+            volScalarField k("k", thermo.Cp()*muEff/Pr);
             solve
             (
                 fvm::ddt(rho, e) - fvc::ddt(rho, e)
-              - fvm::laplacian(thermo.alpha(), e)
-              + fvc::laplacian(thermo.alpha(), e)
+              - fvm::laplacian(turbulence->alphaEff(), e)
+              + fvc::laplacian(turbulence->alpha(), e)
               - fvc::laplacian(k, T)
             );
             thermo.correct();
@@ -258,6 +258,8 @@ int main(int argc, char *argv[])
         p.correctBoundaryConditions();
         rho.boundaryField() = psi.boundaryField()*p.boundaryField();
 
+        turbulence->correct();
+
         runTime.write();
 
         Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
index 71ce4c21879..dd0f4ee4a50 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2009-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,6 +32,7 @@ Description
 
 #include "fvCFD.H"
 #include "basicPsiThermo.H"
+#include "turbulenceModel.H"
 #include "zeroGradientFvPatchFields.H"
 #include "fixedRhoFvPatchScalarField.H"
 
@@ -51,7 +52,7 @@ int main(int argc, char *argv[])
 
     #include "readFluxScheme.H"
 
-    dimensionedScalar v_zero("v_zero",dimVolume/dimTime, 0.0);
+    dimensionedScalar v_zero("v_zero", dimVolume/dimTime, 0.0);
 
     Info<< "\nStarting time loop\n" << endl;
 
@@ -128,14 +129,6 @@ int main(int argc, char *argv[])
 
         surfaceScalarField amaxSf("amaxSf", max(mag(am), mag(ap)));
 
-        #include "compressibleCourantNo.H"
-        #include "readTimeControls.H"
-        #include "setDeltaT.H"
-
-        runTime++;
-
-        Info<< "Time = " << runTime.timeName() << nl << endl;
-
         surfaceScalarField aSf(am*a_pos);
 
         if (fluxScheme == "Tadmor")
@@ -152,6 +145,18 @@ int main(int argc, char *argv[])
         surfaceScalarField aphiv_pos(phiv_pos - aSf);
         surfaceScalarField aphiv_neg(phiv_neg + aSf);
 
+        // Reuse amaxSf for the maximum positive and negative fluxes
+        // estimated by the central scheme
+        amaxSf = max(mag(aphiv_pos), mag(aphiv_neg));
+
+        #include "compressibleCourantNo.H"
+        #include "readTimeControls.H"
+        #include "setDeltaT.H"
+
+        runTime++;
+
+        Info<< "Time = " << runTime.timeName() << nl << endl;
+
         surfaceScalarField phi("phi", aphiv_pos*rho_pos + aphiv_neg*rho_neg);
 
         surfaceVectorField phiUp
@@ -167,7 +172,8 @@ int main(int argc, char *argv[])
           + aSf*p_pos - aSf*p_neg
         );
 
-        volTensorField tauMC("tauMC", mu*dev2(Foam::T(fvc::grad(U))));
+        volScalarField muEff(turbulence->muEff());
+        volTensorField tauMC("tauMC", muEff*dev2(Foam::T(fvc::grad(U))));
 
         // --- Solve density
         solve(fvm::ddt(rho) + fvc::div(phi));
@@ -188,7 +194,7 @@ int main(int argc, char *argv[])
             solve
             (
                 fvm::ddt(rho, U) - fvc::ddt(rho, U)
-              - fvm::laplacian(mu, U)
+              - fvm::laplacian(muEff, U)
               - fvc::div(tauMC)
             );
             rhoU = rho*U;
@@ -198,7 +204,7 @@ int main(int argc, char *argv[])
         surfaceScalarField sigmaDotU
         (
             (
-                fvc::interpolate(mu)*mesh.magSf()*fvc::snGrad(U)
+                fvc::interpolate(muEff)*mesh.magSf()*fvc::snGrad(U)
               + (mesh.Sf() & fvc::interpolate(tauMC))
             )
             & (a_pos*U_pos + a_neg*U_neg)
@@ -222,12 +228,12 @@ int main(int argc, char *argv[])
 
         if (!inviscid)
         {
-            volScalarField k("k", thermo.Cp()*mu/Pr);
+            volScalarField k("k", thermo.Cp()*muEff/Pr);
             solve
             (
                 fvm::ddt(rho, e) - fvc::ddt(rho, e)
-              - fvm::laplacian(thermo.alpha(), e)
-              + fvc::laplacian(thermo.alpha(), e)
+              - fvm::laplacian(turbulence->alphaEff(), e)
+              + fvc::laplacian(turbulence->alpha(), e)
               - fvc::laplacian(k, T)
             );
             thermo.correct();
@@ -240,6 +246,8 @@ int main(int argc, char *argv[])
         p.correctBoundaryConditions();
         rho.boundaryField() = psi.boundaryField()*p.boundaryField();
 
+        turbulence->correct();
+
         runTime.write();
 
         Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/Allwmake b/applications/solvers/compressible/rhoPimpleFoam/Allwmake
new file mode 100755
index 00000000000..29bc9180854
--- /dev/null
+++ b/applications/solvers/compressible/rhoPimpleFoam/Allwmake
@@ -0,0 +1,8 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+set -x
+
+wmake
+wmake rhoPorousMRFPimpleFoam
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/solvers/compressible/rhoPimpleFoam/createFields.H b/applications/solvers/compressible/rhoPimpleFoam/createFields.H
index 3c29a987d36..d1ade4b4572 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/createFields.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/createFields.H
@@ -39,6 +39,16 @@
 
     #include "compressibleCreatePhi.H"
 
+    dimensionedScalar rhoMax
+    (
+        mesh.solutionDict().subDict("PIMPLE").lookup("rhoMax")
+    );
+
+    dimensionedScalar rhoMin
+    (
+        mesh.solutionDict().subDict("PIMPLE").lookup("rhoMin")
+    );
+
     Info<< "Creating turbulence model\n" << endl;
     autoPtr<compressible::turbulenceModel> turbulence
     (
diff --git a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H
index 84e64518900..29ceb721c72 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H
@@ -1,4 +1,7 @@
 rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+rho.relax();
 
 U = rAU*UEqn().H();
 
@@ -98,6 +101,9 @@ p.relax();
 
 // Recalculate density from the relaxed pressure
 rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+rho.relax();
 Info<< "rho max/min : " << max(rho).value()
     << " " << min(rho).value() << endl;
 
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index be0e09ee28b..b91675f761d 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2004-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,6 +75,7 @@ int main(int argc, char *argv[])
             if (nOuterCorr != 1)
             {
                 p.storePrevIter();
+                rho.storePrevIter();
             }
 
             #include "UEqn.H"
diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/Make/files b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/files
similarity index 100%
rename from applications/solvers/compressible/rhoPorousMRFPimpleFoam/Make/files
rename to applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/files
diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/options
similarity index 94%
rename from applications/solvers/compressible/rhoPorousMRFPimpleFoam/Make/options
rename to applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/options
index 809b4a63a16..4067875fbc6 100644
--- a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/options
@@ -1,5 +1,5 @@
 EXE_INC = \
-    -I../rhoPimpleFoam \
+    -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/cfdTools \
diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/UEqn.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/UEqn.H
similarity index 100%
rename from applications/solvers/compressible/rhoPorousMRFPimpleFoam/UEqn.H
rename to applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/UEqn.H
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H
new file mode 100644
index 00000000000..487a55d8edd
--- /dev/null
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H
@@ -0,0 +1,5 @@
+    MRFZones mrfZones(mesh);
+    mrfZones.correctBoundaryVelocity(U);
+
+    porousZones pZones(mesh);
+    Switch pressureImplicitPorosity(false);
diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/pEqn.H
similarity index 80%
rename from applications/solvers/compressible/rhoPorousMRFPimpleFoam/pEqn.H
rename to applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/pEqn.H
index 3802c9298a6..87794f8a476 100644
--- a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/pEqn.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/pEqn.H
@@ -1,4 +1,7 @@
 rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+rho.relax();
 
 volScalarField rAU(1.0/UEqn().A());
 U = rAU*UEqn().H();
@@ -96,30 +99,17 @@ else
 #include "rhoEqn.H"
 #include "compressibleContinuityErrs.H"
 
-//if (oCorr != nOuterCorr-1)
-{
-    // Explicitly relax pressure for momentum corrector
-    p.relax();
+// Explicitly relax pressure for momentum corrector
+p.relax();
 
-    rho = thermo.rho();
-    rho = max(rho, rhoMin);
-    rho = min(rho, rhoMax);
-    rho.relax();
-    Info<< "rho max/min : " << max(rho).value()
-        << " " << min(rho).value() << endl;
-}
+rho = thermo.rho();
+rho = max(rho, rhoMin);
+rho = min(rho, rhoMax);
+rho.relax();
+Info<< "rho max/min : " << max(rho).value()
+    << " " << min(rho).value() << endl;
 
 U -= rAU*fvc::grad(p);
 U.correctBoundaryConditions();
 
 DpDt = fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p);
-
-// For closed-volume cases adjust the pressure and density levels
-// to obey overall mass continuity
-/*
-if (closedVolume)
-{
-    p += (initialMass - fvc::domainIntegrate(psi*p))
-        /fvc::domainIntegrate(psi);
-}
-*/
diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
similarity index 99%
rename from applications/solvers/compressible/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
rename to applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
index 0a3a8998213..d72ff3af5a2 100644
--- a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
+    #include "createZones.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/createFields.H b/applications/solvers/compressible/rhoPorousMRFPimpleFoam/createFields.H
deleted file mode 100644
index 9dd30f53cfe..00000000000
--- a/applications/solvers/compressible/rhoPorousMRFPimpleFoam/createFields.H
+++ /dev/null
@@ -1,77 +0,0 @@
-    Info<< "Reading thermophysical properties\n" << endl;
-
-    autoPtr<basicPsiThermo> pThermo
-    (
-        basicPsiThermo::New(mesh)
-    );
-    basicPsiThermo& thermo = pThermo();
-
-    volScalarField& p = thermo.p();
-    volScalarField& h = thermo.h();
-    const volScalarField& psi = thermo.psi();
-
-    volScalarField rho
-    (
-        IOobject
-        (
-            "rho",
-            runTime.timeName(),
-            mesh,
-            IOobject::READ_IF_PRESENT,
-            IOobject::AUTO_WRITE
-        ),
-        thermo.rho()
-    );
-
-    Info<< "Reading field U\n" << endl;
-    volVectorField U
-    (
-        IOobject
-        (
-            "U",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh
-    );
-
-    #include "compressibleCreatePhi.H"
-
-    dimensionedScalar rhoMax
-    (
-        mesh.solutionDict().subDict("PIMPLE").lookup("rhoMax")
-    );
-
-    dimensionedScalar rhoMin
-    (
-        mesh.solutionDict().subDict("PIMPLE").lookup("rhoMin")
-    );
-
-    Info<< "Creating turbulence model\n" << endl;
-    autoPtr<compressible::turbulenceModel> turbulence
-    (
-        compressible::turbulenceModel::New
-        (
-            rho,
-            U,
-            phi,
-            thermo
-        )
-    );
-
-    //dimensionedScalar initialMass = fvc::domainIntegrate(rho);
-
-
-    Info<< "Creating field DpDt\n" << endl;
-    volScalarField DpDt
-    (
-        fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p)
-    );
-
-    MRFZones mrfZones(mesh);
-    mrfZones.correctBoundaryVelocity(U);
-
-    porousZones pZones(mesh);
-    Switch pressureImplicitPorosity(false);
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H b/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H
deleted file mode 100644
index 1a242bdfffa..00000000000
--- a/applications/solvers/compressible/rhoPorousSimpleFoam/createFields.H
+++ /dev/null
@@ -1,98 +0,0 @@
-    Info<< "Reading thermophysical properties\n" << endl;
-
-    autoPtr<basicPsiThermo> pThermo
-    (
-        basicPsiThermo::New(mesh)
-    );
-    basicPsiThermo& thermo = pThermo();
-
-    volScalarField rho
-    (
-        IOobject
-        (
-            "rho",
-            runTime.timeName(),
-            mesh,
-            IOobject::READ_IF_PRESENT,
-            IOobject::AUTO_WRITE
-        ),
-        thermo.rho()
-    );
-
-    volScalarField& p = thermo.p();
-    volScalarField& h = thermo.h();
-    const volScalarField& psi = thermo.psi();
-
-
-    Info<< "Reading field U\n" << endl;
-    volVectorField U
-    (
-        IOobject
-        (
-            "U",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh
-    );
-
-    #include "compressibleCreatePhi.H"
-
-
-    label pRefCell = 0;
-    scalar pRefValue = 0.0;
-    setRefCell(p, mesh.solutionDict().subDict("SIMPLE"), pRefCell, pRefValue);
-
-    dimensionedScalar rhoMax
-    (
-        mesh.solutionDict().subDict("SIMPLE").lookup("rhoMax")
-    );
-
-    dimensionedScalar rhoMin
-    (
-        mesh.solutionDict().subDict("SIMPLE").lookup("rhoMin")
-    );
-
-    Info<< "Creating turbulence model\n" << endl;
-    autoPtr<compressible::RASModel> turbulence
-    (
-        compressible::RASModel::New
-        (
-            rho,
-            U,
-            phi,
-            thermo
-        )
-    );
-
-    dimensionedScalar initialMass = fvc::domainIntegrate(rho);
-
-    thermalPorousZones pZones(mesh);
-    Switch pressureImplicitPorosity(false);
-
-    // nUCorrectors used for pressureImplicitPorosity
-    int nUCorr = 0;
-    if (pZones.size())
-    {
-        // nUCorrectors for pressureImplicitPorosity
-        if (mesh.solutionDict().subDict("SIMPLE").found("nUCorrectors"))
-        {
-            nUCorr = readInt
-            (
-                mesh.solutionDict().subDict("SIMPLE").lookup("nUCorrectors")
-            );
-        }
-
-        if (nUCorr > 0)
-        {
-            pressureImplicitPorosity = true;
-            Info<< "Using pressure implicit porosity" << endl;
-        }
-        else
-        {
-            Info<< "Using pressure explicit porosity" << endl;
-        }
-    }
-
diff --git a/applications/solvers/compressible/rhoSimpleFoam/Allwmake b/applications/solvers/compressible/rhoSimpleFoam/Allwmake
new file mode 100755
index 00000000000..d4c5bc28282
--- /dev/null
+++ b/applications/solvers/compressible/rhoSimpleFoam/Allwmake
@@ -0,0 +1,8 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+set -x
+
+wmake
+wmake rhoPorousSimpleFoam
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/Make/files b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/files
similarity index 100%
rename from applications/solvers/compressible/rhoPorousSimpleFoam/Make/files
rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/files
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
similarity index 98%
rename from applications/solvers/compressible/rhoPorousSimpleFoam/Make/options
rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
index a4cdecf368a..14e73bf2a5c 100644
--- a/applications/solvers/compressible/rhoPorousSimpleFoam/Make/options
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/thermalPorousZone/lnInclude \
     -I$(LIB_SRC)/turbulenceModels \
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/UEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H
similarity index 100%
rename from applications/solvers/compressible/rhoPorousSimpleFoam/UEqn.H
rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createPorousZones.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createPorousZones.H
new file mode 100644
index 00000000000..8640b360e08
--- /dev/null
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createPorousZones.H
@@ -0,0 +1,27 @@
+    thermalPorousZones pZones(mesh);
+    Switch pressureImplicitPorosity(false);
+
+    // nUCorrectors used for pressureImplicitPorosity
+    int nUCorr = 0;
+    if (pZones.size())
+    {
+        // nUCorrectors for pressureImplicitPorosity
+        if (mesh.solutionDict().subDict("SIMPLE").found("nUCorrectors"))
+        {
+            nUCorr = readInt
+            (
+                mesh.solutionDict().subDict("SIMPLE").lookup("nUCorrectors")
+            );
+        }
+
+        if (nUCorr > 0)
+        {
+            pressureImplicitPorosity = true;
+            Info<< "Using pressure implicit porosity" << endl;
+        }
+        else
+        {
+            Info<< "Using pressure explicit porosity" << endl;
+        }
+    }
+
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/hEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/hEqn.H
similarity index 68%
rename from applications/solvers/compressible/rhoPorousSimpleFoam/hEqn.H
rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/hEqn.H
index 9e5138de8ad..ff0b91bcb7a 100644
--- a/applications/solvers/compressible/rhoPorousSimpleFoam/hEqn.H
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/hEqn.H
@@ -5,8 +5,8 @@
       - fvm::Sp(fvc::div(phi), h)
       - fvm::laplacian(turbulence->alphaEff(), h)
      ==
-        fvc::div(phi/fvc::interpolate(rho)*fvc::interpolate(p, "div(U,p)"))
-      - p*fvc::div(phi/fvc::interpolate(rho))
+        fvc::div(phi/fvc::interpolate(rho), rho/psi, "div(U,p)")
+      - (rho/psi)*fvc::div(phi/fvc::interpolate(rho))
     );
 
     pZones.addEnthalpySource(thermo, rho, hEqn);
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H
similarity index 100%
rename from applications/solvers/compressible/rhoPorousSimpleFoam/pEqn.H
rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
similarity index 98%
rename from applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
rename to applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index 2b77cf6265c..005e27b4a5a 100644
--- a/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
@@ -43,6 +43,7 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
+    #include "createPorousZones.H"
     #include "initContinuityErrs.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C b/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C
index fa6c9f3594f..c804e4e45d8 100644
--- a/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C
+++ b/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2010-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/solvers/compressible/sonicDyMFoam/compressibleContinuityErrs.H b/applications/solvers/compressible/sonicDyMFoam/compressibleContinuityErrs.H
deleted file mode 100644
index 1d869cc58da..00000000000
--- a/applications/solvers/compressible/sonicDyMFoam/compressibleContinuityErrs.H
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    #include "rhoEqn.H"
-}
-{
-    scalar sumLocalContErr =
-        sum
-        (
-            mag(rho.internalField() - (psi*p)().internalField())
-        )/sum(rho.internalField());
-
-    scalar globalContErr =
-        sum(rho.internalField() - (psi*p)().internalField())
-       /sum(rho.internalField());
-
-    cumulativeContErr += globalContErr;
-
-    Info<< "time step continuity errors : sum local = " << sumLocalContErr
-         << ", global = " << globalContErr
-         << ", cumulative = " << cumulativeContErr << endl;
-}
diff --git a/applications/solvers/compressible/sonicDyMFoam/createFields.H b/applications/solvers/compressible/sonicDyMFoam/createFields.H
deleted file mode 100644
index 8367d7e3311..00000000000
--- a/applications/solvers/compressible/sonicDyMFoam/createFields.H
+++ /dev/null
@@ -1,57 +0,0 @@
-    Info<< "Reading thermophysical properties\n" << endl;
-
-    autoPtr<basicPsiThermo> pThermo
-    (
-        basicPsiThermo::New(mesh)
-    );
-    basicPsiThermo& thermo = pThermo();
-
-    volScalarField& p = thermo.p();
-    volScalarField& e = thermo.e();
-    const volScalarField& psi = thermo.psi();
-
-    volScalarField rho
-    (
-        IOobject
-        (
-            "rho",
-            runTime.timeName(),
-            mesh
-        ),
-        thermo.rho()
-    );
-
-    Info<< "Reading field U\n" << endl;
-    volVectorField U
-    (
-        IOobject
-        (
-            "U",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh
-    );
-
-#   include "compressibleCreatePhi.H"
-
-
-    Info<< "Creating turbulence model\n" << endl;
-    autoPtr<compressible::turbulenceModel> turbulence
-    (
-        compressible::turbulenceModel::New
-        (
-            rho,
-            U,
-            phi,
-            thermo
-        )
-    );
-
-    Info<< "Creating field DpDt\n" << endl;
-    volScalarField DpDt
-    (
-        fvc::DDt(surfaceScalarField("phiU", phi/fvc::interpolate(rho)), p)
-    );
diff --git a/applications/solvers/compressible/sonicDyMFoam/readThermodynamicProperties.H b/applications/solvers/compressible/sonicDyMFoam/readThermodynamicProperties.H
deleted file mode 100644
index 4e19adaae48..00000000000
--- a/applications/solvers/compressible/sonicDyMFoam/readThermodynamicProperties.H
+++ /dev/null
@@ -1,23 +0,0 @@
-    Info<< "Reading thermodynamicProperties\n" << endl;
-
-    IOdictionary thermodynamicProperties
-    (
-        IOobject
-        (
-            "thermodynamicProperties",
-            runTime.constant(),
-            mesh,
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    );
-
-    dimensionedScalar R
-    (
-        thermodynamicProperties.lookup("R")
-    );
-
-    dimensionedScalar Cv
-    (
-        thermodynamicProperties.lookup("Cv")
-    );
diff --git a/applications/solvers/compressible/sonicFoam/Allwmake b/applications/solvers/compressible/sonicFoam/Allwmake
new file mode 100755
index 00000000000..27c1194eaf6
--- /dev/null
+++ b/applications/solvers/compressible/sonicFoam/Allwmake
@@ -0,0 +1,9 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+set -x
+
+wmake
+wmake sonicDyMFoam
+wmake sonicLiquidFoam
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/solvers/compressible/sonicFoam/UEqn.H b/applications/solvers/compressible/sonicFoam/UEqn.H
index 25506783aee..27edbece47f 100644
--- a/applications/solvers/compressible/sonicFoam/UEqn.H
+++ b/applications/solvers/compressible/sonicFoam/UEqn.H
@@ -1,8 +1,8 @@
 fvVectorMatrix UEqn
 (
     fvm::ddt(rho, U)
-    + fvm::div(phi, U)
-    + turbulence->divDevRhoReff(U)
+  + fvm::div(phi, U)
+  + turbulence->divDevRhoReff(U)
 );
 
 solve(UEqn == -fvc::grad(p));
diff --git a/applications/solvers/compressible/sonicDyMFoam/Make/files b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/files
similarity index 100%
rename from applications/solvers/compressible/sonicDyMFoam/Make/files
rename to applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/files
diff --git a/applications/solvers/compressible/sonicDyMFoam/Make/options b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
similarity index 95%
rename from applications/solvers/compressible/sonicDyMFoam/Make/options
rename to applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
index 81495fb1f65..73e3e02dc4a 100644
--- a/applications/solvers/compressible/sonicDyMFoam/Make/options
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
@@ -1,5 +1,5 @@
 EXE_INC = \
-    -I../sonicFoam \
+    -I.. \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H
new file mode 100644
index 00000000000..98cc22d15a5
--- /dev/null
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H
@@ -0,0 +1,33 @@
+rho = thermo.rho();
+
+volScalarField rAU(1.0/UEqn.A());
+U = UEqn.H()/UEqn.A();
+
+surfaceScalarField phid
+(
+    "phid",
+    fvc::interpolate(psi)
+   *(
+        (fvc::interpolate(U) & mesh.Sf())
+      - fvc::meshPhi(rho, U)
+    )
+);
+
+for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
+{
+    fvScalarMatrix pEqn
+    (
+        fvm::ddt(psi, p)
+      + fvm::div(phid, p)
+      - fvm::laplacian(rho*rAU, p)
+    );
+
+    pEqn.solve();
+
+    phi = pEqn.flux();
+}
+
+#include "compressibleContinuityErrs.H"
+
+U -= rAU*fvc::grad(p);
+U.correctBoundaryConditions();
diff --git a/applications/solvers/compressible/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
similarity index 66%
rename from applications/solvers/compressible/sonicDyMFoam/sonicDyMFoam.C
rename to applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
index 453a84b9a3f..dd870e9a311 100644
--- a/applications/solvers/compressible/sonicDyMFoam/sonicDyMFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2004-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -62,14 +62,7 @@ int main(int argc, char *argv[])
 
         #include "rhoEqn.H"
 
-        fvVectorMatrix UEqn
-        (
-            fvm::ddt(rho, U)
-          + fvm::div(phi, U)
-          + turbulence->divDevRhoReff(U)
-        );
-
-        solve(UEqn == -fvc::grad(p));
+        #include "UEqn.H"
 
         #include "eEqn.H"
 
@@ -78,50 +71,12 @@ int main(int argc, char *argv[])
 
         for (int corr=0; corr<nCorr; corr++)
         {
-            U = UEqn.H()/UEqn.A();
-
-            surfaceScalarField phid
-            (
-                "phid",
-                fvc::interpolate(psi)
-               *(
-                    (fvc::interpolate(U) & mesh.Sf()) - fvc::meshPhi(rho, U)
-                )
-            );
-
-            for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
-            {
-                fvScalarMatrix pEqn
-                (
-                    fvm::ddt(psi, p)
-                  + fvm::div(phid, p)
-                  - fvm::laplacian(rho/UEqn.A(), p)
-                );
-
-                pEqn.solve();
-
-                phi = pEqn.flux();
-            }
-
-            #include "compressibleContinuityErrs.H"
-
-            U -= fvc::grad(p)/UEqn.A();
-            U.correctBoundaryConditions();
+            #include "pEqn.H"
         }
 
-        DpDt = fvc::DDt
-        (
-            surfaceScalarField
-            (
-                "phiU",
-                phi/fvc::interpolate(rho) + fvc::meshPhi(rho, U)
-            ),
-            p
-        );
-
         turbulence->correct();
 
-        rho = psi*p;
+        rho = thermo.rho();
 
         runTime.write();
 
diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C
index 820945edeac..2923446e2fc 100644
--- a/applications/solvers/compressible/sonicFoam/sonicFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2004-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/solvers/compressible/sonicLiquidFoam/Make/files b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/files
similarity index 100%
rename from applications/solvers/compressible/sonicLiquidFoam/Make/files
rename to applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/files
diff --git a/applications/solvers/compressible/sonicLiquidFoam/Make/options b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/options
similarity index 100%
rename from applications/solvers/compressible/sonicLiquidFoam/Make/options
rename to applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/options
diff --git a/applications/solvers/compressible/sonicLiquidFoam/compressibleContinuityErrs.H b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/compressibleContinuityErrs.H
similarity index 100%
rename from applications/solvers/compressible/sonicLiquidFoam/compressibleContinuityErrs.H
rename to applications/solvers/compressible/sonicFoam/sonicLiquidFoam/compressibleContinuityErrs.H
diff --git a/applications/solvers/compressible/sonicLiquidFoam/createFields.H b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/createFields.H
similarity index 100%
rename from applications/solvers/compressible/sonicLiquidFoam/createFields.H
rename to applications/solvers/compressible/sonicFoam/sonicLiquidFoam/createFields.H
diff --git a/applications/solvers/compressible/sonicLiquidFoam/readThermodynamicProperties.H b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/readThermodynamicProperties.H
similarity index 100%
rename from applications/solvers/compressible/sonicLiquidFoam/readThermodynamicProperties.H
rename to applications/solvers/compressible/sonicFoam/sonicLiquidFoam/readThermodynamicProperties.H
diff --git a/applications/solvers/compressible/sonicDyMFoam/readTransportProperties.H b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/readTransportProperties.H
similarity index 100%
rename from applications/solvers/compressible/sonicDyMFoam/readTransportProperties.H
rename to applications/solvers/compressible/sonicFoam/sonicLiquidFoam/readTransportProperties.H
diff --git a/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
similarity index 98%
rename from applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C
rename to applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
index 86987d92c91..c948d4737ce 100644
--- a/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2004-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/solvers/compressible/sonicLiquidFoam/readTransportProperties.H b/applications/solvers/compressible/sonicLiquidFoam/readTransportProperties.H
deleted file mode 100644
index c30f65b4458..00000000000
--- a/applications/solvers/compressible/sonicLiquidFoam/readTransportProperties.H
+++ /dev/null
@@ -1,18 +0,0 @@
-    Info<< "Reading transportProperties\n" << endl;
-
-    IOdictionary transportProperties
-    (
-        IOobject
-        (
-            "transportProperties",
-            runTime.constant(),
-            mesh,
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    );
-
-    dimensionedScalar mu
-    (
-        transportProperties.lookup("mu")
-    );
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh
index 1e165b9bbfb..356077d3243 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh
@@ -24,12 +24,17 @@ boundaryField
     outlet
     {
         type            buoyantPressure;
-        value           uniform 101325;
+        value           $internalField;
     }
-
     sides
     {
-        type            fixedValue;
+        type            totalPressure;
+        p0              $internalField;
+        U               U;
+        phi             phi;
+        rho             none;
+        psi             none;
+        gamma           1;
         value           $internalField;
     }
     base
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh
index 47b78e4c87f..38b3c31d20b 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh
@@ -26,10 +26,15 @@ boundaryField
         type            buoyantPressure;
         value           $internalField;
     }
-
     sides
     {
-        type            fixedValue;
+        type            totalPressure;
+        p0              $internalField;
+        U               U;
+        phi             phi;
+        rho             none;
+        psi             none;
+        gamma           1;
         value           $internalField;
     }
     base
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSolution b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSolution
index 8c855503fc9..72c26cef38e 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSolution
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSolution
@@ -18,18 +18,11 @@ FoamFile
 
 solvers
 {
-    rho
+    "(rho|rhoFinal)"
     {
         solver              PCG;
         preconditioner      DIC;
         tolerance           1e-7;
-        relTol              0.1;
-    };
-
-    rhoFinal
-    {
-        $rho;
-        tolerance           1e-7;
         relTol              0;
     };
 
@@ -69,7 +62,6 @@ solvers
         relTol          0;
     };
 
-
     Ii
     {
         solver              GAMG;
diff --git a/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties
new file mode 100644
index 00000000000..d0a0998654c
--- /dev/null
+++ b/tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties
new file mode 100644
index 00000000000..d0a0998654c
--- /dev/null
+++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties
new file mode 100644
index 00000000000..d0a0998654c
--- /dev/null
+++ b/tutorials/compressible/rhoCentralFoam/forwardStep/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties
new file mode 100644
index 00000000000..d0a0998654c
--- /dev/null
+++ b/tutorials/compressible/rhoCentralFoam/obliqueShock/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties
new file mode 100644
index 00000000000..d0a0998654c
--- /dev/null
+++ b/tutorials/compressible/rhoCentralFoam/shockTube/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties
new file mode 100644
index 00000000000..d0a0998654c
--- /dev/null
+++ b/tutorials/compressible/rhoCentralFoam/wedge15Ma5/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSolution
index 0cfde23d316..739c8a48a61 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSolution
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSolution
@@ -52,6 +52,8 @@ PIMPLE
     nOuterCorrectors 2;
     nCorrectors     1;
     nNonOrthogonalCorrectors 0;
+    rhoMin          rhoMin [ 1 -3 0 0 0 ] 0.5;
+    rhoMax          rhoMax [ 1 -3 0 0 0 ] 2.0;
 }
 
 relaxationFactors
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSolution
index 58e0443d468..8c260da89ef 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSolution
+++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSolution
@@ -55,6 +55,8 @@ PIMPLE
     nOuterCorrectors 50;
     nCorrectors     1;
     nNonOrthogonalCorrectors 0;
+    rhoMin          rhoMin [ 1 -3 0 0 0 ] 0.5;
+    rhoMax          rhoMax [ 1 -3 0 0 0 ] 2.0;
 }
 
 relaxationFactors
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSolution
index 80bab234da9..197228f4bce 100644
--- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSolution
+++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSolution
@@ -59,6 +59,8 @@ PIMPLE
     nOuterCorrectors 1;
     nCorrectors     2;
     nNonOrthogonalCorrectors 0;
+    rhoMin          rhoMin [ 1 -3 0 0 0 ] 0.5;
+    rhoMax          rhoMax [ 1 -3 0 0 0 ] 2.0;
 }
 
 
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes
index 184f6b4d1b2..8792a00a157 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSchemes
@@ -23,8 +23,6 @@ ddtSchemes
 gradSchemes
 {
     default         Gauss linear;
-    grad(U)         Gauss linear;
-    grad(p)         Gauss linear;
 }
 
 divSchemes
@@ -34,6 +32,7 @@ divSchemes
     div(phi,h)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(phi,k)      Gauss upwind;
+    div(U,p)        Gauss upwind;
 }
 
 laplacianSchemes
@@ -50,7 +49,6 @@ laplacianSchemes
 interpolationSchemes
 {
     default         linear;
-    div(U,p)        upwind phi;
 }
 
 snGradSchemes
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution
index f9e889652c7..e6b7b5ec15b 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctExplicit/system/fvSolution
@@ -57,7 +57,7 @@ solvers
 SIMPLE
 {
     nNonOrthogonalCorrectors 0;
-    rhoMin          rhoMin [ 1 -3 0 0 0 ] 1.0;
+    rhoMin          rhoMin [ 1 -3 0 0 0 ] 0.5;
     rhoMax          rhoMax [ 1 -3 0 0 0 ] 1.5;
 }
 
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
index dc9ecffb7b8..117139f5052 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/polyMesh/boundary
@@ -8,7 +8,7 @@
 FoamFile
 {
     version     2.0;
-    format      ascii;
+    format      binary;
     class       polyBoundaryMesh;
     location    "constant/polyMesh";
     object      boundary;
diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes
index 92ad9e08559..a5f9ea99dda 100644
--- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes
+++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvSchemes
@@ -23,8 +23,6 @@ ddtSchemes
 gradSchemes
 {
     default         Gauss linear;
-    grad(U)         Gauss linear;
-    grad(p)         Gauss linear;
 }
 
 divSchemes
@@ -34,6 +32,7 @@ divSchemes
     div(phi,h)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(phi,k)      Gauss upwind;
+    div(U,p)        Gauss upwind;
 }
 
 laplacianSchemes
@@ -49,7 +48,6 @@ laplacianSchemes
 interpolationSchemes
 {
     default         linear;
-    div(U,p)        upwind phi;
 }
 
 snGradSchemes
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict
index 5c511b54cb2..2e59f91be1f 100644
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict
@@ -19,21 +19,22 @@ interpolationScheme cellPoint;
 
 setFormat       raw;
 
+surfaceFormat   dx;
+surfaces        ();
+
 sets
 (
     data
     {
         type    uniform;
         axis    x;
-        start   ( -4.995 0 0 );
-        end     ( 4.995 0 0 );
+        start   (-4.995 0 0);
+        end     (4.995 0 0);
         nPoints 1000;
     }
 );
 
-surfaces        ();
-
-fields          ( T magU p );
+fields          (T magU p);
 
 
 // ************************************************************************* //
-- 
GitLab