From 35d8078251e34b9604d8bd8b2eb906c449559c8d Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Wed, 25 Feb 2015 12:20:12 +0000
Subject: [PATCH] rhoCentralDyMFoam: Add support for morphing-meshes and
 provide movingCone tutorial case

---
 .../rhoCentralDyMFoam/rhoCentralDyMFoam.C     |   8 +
 .../rhoCentralDyMFoam/movingCone/0/T          |  60 ++++++++
 .../rhoCentralDyMFoam/movingCone/0/U          |  64 ++++++++
 .../rhoCentralDyMFoam/movingCone/0/p          |  66 ++++++++
 .../movingCone/0/pointMotionUx                |  56 +++++++
 .../movingCone/constant/dynamicMeshDict       |  31 ++++
 .../constant/polyMesh/blockMeshDict           | 142 ++++++++++++++++++
 .../movingCone/constant/polyMesh/boundary     |  75 +++++++++
 .../constant/thermophysicalProperties         |  49 ++++++
 .../movingCone/constant/turbulenceProperties  |  21 +++
 .../movingCone/system/controlDict             |  55 +++++++
 .../movingCone/system/cuttingPlane            |  38 +++++
 .../movingCone/system/fvSchemes               |  57 +++++++
 .../movingCone/system/fvSolution              |  94 ++++++++++++
 14 files changed, 816 insertions(+)
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/0/T
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/0/U
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/0/p
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/0/pointMotionUx
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/dynamicMeshDict
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/blockMeshDict
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/thermophysicalProperties
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/turbulenceProperties
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/system/controlDict
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSchemes
 create mode 100644 tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSolution

diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
index 447c3c8d8c1..4f8f95d1195 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
@@ -128,6 +128,13 @@ int main(int argc, char *argv[])
         surfaceScalarField phiv_pos("phiv_pos", U_pos & mesh.Sf());
         surfaceScalarField phiv_neg("phiv_neg", U_neg & mesh.Sf());
 
+        // Make fluxes relative to mesh-motion
+        if (mesh.moving())
+        {
+            phiv_pos -= mesh.phi();
+            phiv_neg -= mesh.phi();
+        }
+
         volScalarField c(sqrt(thermo.Cp()/thermo.Cv()*rPsi));
         surfaceScalarField cSf_pos
         (
@@ -193,6 +200,7 @@ int main(int argc, char *argv[])
           + aSf*p_pos - aSf*p_neg
         );
 
+        // Make flux for pressure-work absolute
         if (mesh.moving())
         {
             phiEp += mesh.phi()*(a_pos*p_pos + a_neg*p_neg);
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/T b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/T
new file mode 100644
index 00000000000..6cfc5447285
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/T
@@ -0,0 +1,60 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      T;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 300;
+
+boundaryField
+{
+    movingWall
+    {
+        type            zeroGradient;
+    }
+
+    farFieldMoving
+    {
+        type            zeroGradient;
+    }
+
+    fixedWall
+    {
+        type            zeroGradient;
+    }
+
+    left
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+    }
+
+    farField
+    {
+        type            zeroGradient;
+    }
+
+    back
+    {
+        type            wedge;
+    }
+
+    front
+    {
+        type            wedge;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/U b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/U
new file mode 100644
index 00000000000..2e86739791a
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/U
@@ -0,0 +1,64 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      U;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    movingWall
+    {
+        type            movingWallVelocity;
+        value           $internalField;
+    }
+
+    farFieldMoving
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+
+    fixedWall
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+
+    left
+    {
+        type            pressureInletOutletVelocity;
+        value           $internalField;
+    }
+
+    farField
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+
+    back
+    {
+        type            wedge;
+    }
+
+    front
+    {
+        type            wedge;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/p b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/p
new file mode 100644
index 00000000000..807dc878667
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/p
@@ -0,0 +1,66 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 1e5;
+
+boundaryField
+{
+    movingWall
+    {
+        type            zeroGradient;
+    }
+
+    farFieldMoving
+    {
+        type            zeroGradient;
+    }
+
+    fixedWall
+    {
+        type            zeroGradient;
+    }
+
+    left
+    {
+        type            totalPressure;
+        p0              $internalField;
+        U               U;
+        phi             phi;
+        rho             none;
+        psi             none;
+        gamma           1;
+        value           $internalField;
+    }
+
+    farField
+    {
+        type            zeroGradient;
+    }
+
+    back
+    {
+        type            wedge;
+    }
+
+    front
+    {
+        type            wedge;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/pointMotionUx b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/pointMotionUx
new file mode 100644
index 00000000000..520fbd4b1a0
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/0/pointMotionUx
@@ -0,0 +1,56 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       pointScalarField;
+    object      pointMotionU;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    movingWall
+    {
+        type            uniformFixedValue;
+        uniformValue    constant 160;
+    }
+    farFieldMoving
+    {
+        type            slip;
+    }
+    fixedWall
+    {
+        type            uniformFixedValue;
+        uniformValue    constant 0;
+    }
+    left
+    {
+        type            uniformFixedValue;
+        uniformValue    constant 0;
+    }
+    farField
+    {
+        type            slip;
+    }
+    back
+    {
+        type            wedge;
+    }
+    front
+    {
+        type            wedge;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/dynamicMeshDict b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/dynamicMeshDict
new file mode 100644
index 00000000000..95000b1405e
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/dynamicMeshDict
@@ -0,0 +1,31 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      dynamicMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dynamicFvMesh   dynamicMotionSolverFvMesh;
+
+motionSolverLibs ( "libfvMotionSolvers.so" );
+
+solver          velocityComponentLaplacian;
+
+velocityComponentLaplacianCoeffs
+{
+    component       x;
+    diffusivity     directional (1 200 0);
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/blockMeshDict b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/blockMeshDict
new file mode 100644
index 00000000000..af8f8bfda3d
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/blockMeshDict
@@ -0,0 +1,142 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 0.001;
+
+vertices
+(
+    (-7.5 0 0)
+    (-7 0 0)
+    (-3.5 0 0)
+    (0 0 0)
+    (-7.5 0.75 -0.032745707)
+    (-7 0.75 -0.032745707)
+    (-3.5 2 -0.087321886)
+    (0 2 -0.087321886)
+    (-7.5 2.5 -0.10915236)
+    (-7 2.5 -0.10915236)
+    (-3.5 2.5 -0.10915236)
+    (0 2.5 -0.10915236)
+    (-7.5 0.75 0.032745707)
+    (-7 0.75 0.032745707)
+    (-3.5 2 0.087321886)
+    (0 2 0.087321886)
+    (-7.5 2.5 0.10915236)
+    (-7 2.5 0.10915236)
+    (-3.5 2.5 0.10915236)
+    (0 2.5 0.10915236)
+);
+
+blocks
+(
+    hex (0 1 5 4 0 1 13 12) (15 15 1) simpleGrading (1 1 1)
+    hex (2 3 7 6 2 3 15 14) (20 20 1) simpleGrading (2 0.25 1)
+    hex (4 5 9 8 12 13 17 16) (15 15 1) simpleGrading (1 1 1)
+    hex (5 6 10 9 13 14 18 17) (50 15 1) simpleGrading (1 1 1)
+    hex (6 7 11 10 14 15 19 18) (20 15 1) simpleGrading (2 1 1)
+);
+
+edges
+(
+);
+
+boundary
+(
+    movingWall
+    {
+        type wall;
+        faces
+        (
+            (1 5 13 1)
+            (5 6 14 13)
+            (2 2 14 6)
+        );
+    }
+    farFieldMoving
+    {
+        type patch;
+        faces
+        (
+            (9 17 18 10)
+        );
+    }
+    fixedWall
+    {
+        type wall;
+        faces
+        (
+            (3 7 15 3)
+            (7 11 19 15)
+        );
+    }
+    axis
+    {
+        type empty;
+        faces
+        (
+            (0 1 1 0)
+            (2 3 3 2)
+        );
+    }
+    left
+    {
+        type patch;
+        faces
+        (
+            (0 0 12 4)
+            (4 12 16 8)
+        );
+    }
+    farField
+    {
+        type patch;
+        faces
+        (
+            (8 16 17 9)
+            (10 18 19 11)
+        );
+    }
+    back
+    {
+        type wedge;
+        faces
+        (
+            (0 4 5 1)
+            (2 6 7 3)
+            (4 8 9 5)
+            (5 9 10 6)
+            (6 10 11 7)
+        );
+    }
+    front
+    {
+        type wedge;
+        faces
+        (
+            (0 1 13 12)
+            (2 3 15 14)
+            (12 13 17 16)
+            (13 14 18 17)
+            (14 15 19 18)
+        );
+    }
+);
+
+mergePatchPairs
+(
+);
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary
new file mode 100644
index 00000000000..73ab6c4061a
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/polyMesh/boundary
@@ -0,0 +1,75 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       polyBoundaryMesh;
+    location    "constant/polyMesh";
+    object      boundary;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+8
+(
+    movingWall
+    {
+        type            wall;
+        inGroups        1(wall);
+        nFaces          85;
+        startFace       3665;
+    }
+    farFieldMoving
+    {
+        type            patch;
+        nFaces          50;
+        startFace       3750;
+    }
+    fixedWall
+    {
+        type            wall;
+        inGroups        1(wall);
+        nFaces          35;
+        startFace       3800;
+    }
+    axis
+    {
+        type            empty;
+        inGroups        1(empty);
+        nFaces          0;
+        startFace       3835;
+    }
+    left
+    {
+        type            patch;
+        nFaces          30;
+        startFace       3835;
+    }
+    farField
+    {
+        type            patch;
+        nFaces          35;
+        startFace       3865;
+    }
+    back
+    {
+        type            wedge;
+        inGroups        1(wedge);
+        nFaces          1900;
+        startFace       3900;
+    }
+    front
+    {
+        type            wedge;
+        inGroups        1(wedge);
+        nFaces          1900;
+        startFace       5800;
+    }
+)
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/thermophysicalProperties b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/thermophysicalProperties
new file mode 100644
index 00000000000..582e7e1ac1e
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/thermophysicalProperties
@@ -0,0 +1,49 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            hePsiThermo;
+    mixture         pureMixture;
+    transport       const;
+    thermo          hConst;
+    equationOfState perfectGas;
+    specie          specie;
+    energy          sensibleInternalEnergy;
+}
+
+mixture
+{
+    specie
+    {
+        nMoles      1;
+        molWeight   28.9;
+    }
+    thermodynamics
+    {
+        Cp          1007;
+        Hf          2.544e+06;
+    }
+    transport
+    {
+        mu          1e-3;
+        Pr          0.7;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/turbulenceProperties b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/turbulenceProperties
new file mode 100644
index 00000000000..c2c3b28a1b4
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/controlDict b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/controlDict
new file mode 100644
index 00000000000..9458edb8dd8
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/controlDict
@@ -0,0 +1,55 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     rhoCentralDyMFoam;
+
+startFrom       startTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         0.00002;
+
+deltaT          1e-08;
+
+writeControl    adjustableRunTime;
+
+writeInterval   5e-7;
+
+purgeWrite      0;
+
+writeFormat     binary;
+
+writePrecision  6;
+
+writeCompression off;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable true;
+
+adjustTimeStep  yes;
+
+maxCo           0.2;
+
+maxDeltaT       1;
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane
new file mode 100644
index 00000000000..29b42ee9832
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane
@@ -0,0 +1,38 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+cuttingPlane
+{
+    type            surfaces;
+    functionObjectLibs ("libsampling.so");
+
+    outputControl   outputTime;
+
+    surfaceFormat   vtk;
+    fields          ( p U );
+
+    interpolationScheme cellPoint;
+
+    surfaces
+    (
+        zNormal
+        {
+            type            cuttingPlane;
+            planeType       pointAndNormal;
+            pointAndNormalDict
+            {
+                basePoint       (0 0 0);
+                normalVector    (0 0 1);
+            }
+            interpolate     true;
+        }
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSchemes b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSchemes
new file mode 100644
index 00000000000..ff46e854e69
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSchemes
@@ -0,0 +1,57 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+fluxScheme      Kurganov;
+
+ddtSchemes
+{
+    default         Euler;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+}
+
+divSchemes
+{
+    default         none;
+    div(tauMC)      Gauss linear;
+}
+
+laplacianSchemes
+{
+    default         Gauss linear corrected;
+
+    laplacian(diffusivity,cellMotionU) Gauss linear uncorrected;
+}
+
+interpolationSchemes
+{
+    default         linear;
+    reconstruct(rho) vanLeer;
+    reconstruct(U)  vanLeerV;
+    reconstruct(T)  vanLeer;
+}
+
+snGradSchemes
+{
+    default         corrected;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSolution b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSolution
new file mode 100644
index 00000000000..5161002b216
--- /dev/null
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/fvSolution
@@ -0,0 +1,94 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    p
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-06;
+        relTol          0.01;
+    }
+
+    pFinal
+    {
+        $p;
+        relTol          0;
+    }
+
+    pcorr
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       1e-2;
+        relTol          0;
+    }
+
+    "rho.*"
+    {
+        solver          diagonal;
+        tolerance       1e-05;
+        relTol          0;
+    }
+
+    "(U|h|e|R|k|epsilon|omega)"
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-05;
+        relTol          0.1;
+    }
+
+    "(U|h|e|R|k|epsilon|omega)Final"
+    {
+        $U;
+        relTol          0;
+    }
+
+    cellMotionUx
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       1e-08;
+        relTol          0;
+    }
+}
+
+PIMPLE
+{
+    momentumPredictor   yes;
+    correctPhi          yes;
+    nOuterCorrectors    2;
+    nCorrectors         2;
+    transonic           yes;
+    nNonOrthogonalCorrectors 0;
+
+    rhoMin              0.1;
+    rhoMax              100.0;
+}
+
+relaxationFactors
+{
+    equations
+    {
+        ".*"        1;
+    }
+}
+
+
+// ************************************************************************* //
-- 
GitLab