diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep
new file mode 100644
index 0000000000000000000000000000000000000000..91573a0262e76574c33b87feeb659bc6a2a80445
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRep
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      GRep;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -1 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp
new file mode 100644
index 0000000000000000000000000000000000000000..39e5b0d4d5ca401c26d932f43bc4512330988ff2
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/GRxp
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      GRxp;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers
new file mode 100644
index 0000000000000000000000000000000000000000..b908ab1d38a9111ef49e7c28df9bc0507e3b1c39
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/RPers
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      RPers;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su
new file mode 100644
index 0000000000000000000000000000000000000000..83506af59e1b53d770481a06c2c9b939ae98ecc7
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Su
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Su;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform 0.5;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/T b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/T
new file mode 100644
index 0000000000000000000000000000000000000000..ec6430d27b2774c4fcf5dbb0ede676aea7213b21
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/T
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      T;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 300;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu
new file mode 100644
index 0000000000000000000000000000000000000000..3dd7d9ef60d0ebcc5931a5d3e3d354c66cc94f93
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Tu
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Tu;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 300;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/U b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/U
new file mode 100644
index 0000000000000000000000000000000000000000..fd04393804fb642088e0810361332c238ebb5219
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/U
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     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
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    mergingFaces
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    wallFaces
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi
new file mode 100644
index 0000000000000000000000000000000000000000..8df42d17908e1af38cf503ef3c738431b73cc145
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xi
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Xi;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp
new file mode 100644
index 0000000000000000000000000000000000000000..3561760892e973826d0cff631dfc38d0d18845ae
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/Xp
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Xp;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/b b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/b
new file mode 100644
index 0000000000000000000000000000000000000000..de1bd852a700e9def854ef248cfb1258d6ab8842
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/b
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      b;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon
new file mode 100644
index 0000000000000000000000000000000000000000..83eea113dff87da9ff33822da8de3c2827a6a14b
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/epsilon
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      epsilon;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -3 0 0 0 0];
+
+internalField   uniform 1e-05;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            epsilonWallFunction;
+        value           $internalField;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            epsilonWallFunction;
+        value           $internalField;
+    }
+    wallFaces
+    {
+        type            epsilonWallFunction;
+        value           $internalField;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft
new file mode 100644
index 0000000000000000000000000000000000000000..3b93fe741f2f7c3e3b1b9a59af0f01035eff1750
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/ft
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      ft;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/k b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/k
new file mode 100644
index 0000000000000000000000000000000000000000..a2bba748a9b78c1092a988e0fe23bdaf23fbb55a
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/k
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      k;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform 0.00015;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            kqRWallFunction;
+        value           $internalField;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            kqRWallFunction;
+        value           $internalField;
+    }
+    wallFaces
+    {
+        type            kqRWallFunction;
+        value           $internalField;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut
new file mode 100644
index 0000000000000000000000000000000000000000..224fc7a466fce1e7454e4c275d35707b2f9dde31
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/nut
@@ -0,0 +1,60 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      nut;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type        inletOutlet;
+        inletValue  $internalField;
+        value       $internalField;
+    }
+
+    seaGround
+    {
+        type    nutkWallFunction;
+        value   $internalField;
+    }
+
+    blockedFaces
+    {
+        type    zeroGradient;
+    }
+
+    mergingFaces
+    {
+        type    nutkWallFunction;
+        value   $internalField;
+    }
+
+    wallFaces
+    {
+        type    nutkWallFunction;
+        value   $internalField;
+    }
+
+    ySymmetry
+    {
+        type    symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/0.orig/p b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/p
new file mode 100644
index 0000000000000000000000000000000000000000..dc7c467281112a0bfdf625b9b449f721b2207768
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/0.orig/p
@@ -0,0 +1,53 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 100000;
+
+boundaryField
+{
+    outer
+    {
+        type            waveTransmissive;
+        gamma           1.3;
+        fieldInf        100000;
+        lInf            5;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/Allclean b/tutorials/combustion/PDRFoam/pipeLattice/Allclean
new file mode 100755
index 0000000000000000000000000000000000000000..64ab01a64efa43371760ad8a6f8833179e2b339e
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/Allclean
@@ -0,0 +1,13 @@
+#!/bin/sh
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions      # Tutorial clean functions
+#------------------------------------------------------------------------------
+
+cleanCase0
+
+# Remove some generated files
+rm -f panelList
+rm -f constant/ignitionPoint
+rm -f system/PDRMeshDict
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/Allrun b/tutorials/combustion/PDRFoam/pipeLattice/Allrun
new file mode 100755
index 0000000000000000000000000000000000000000..96cbf639e0fecca1a377c2b63a4a2da885cdfd69
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/Allrun
@@ -0,0 +1,34 @@
+#!/bin/sh
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+#------------------------------------------------------------------------------
+
+# For post-processing
+runApplication -s dryrun PDRsetFields -dry-run
+
+restore0Dir
+
+runApplication PDRblockMesh
+
+runApplication PDRsetFields
+
+# Get location for ignition
+
+echo "Ignition point from constant/combustionProperties > system/ignitionPoint"
+echo "// Ignition point extracted from constant/combustionProperties" >| \
+    constant/ignitionPoint
+
+foamDictionary -entry ignitionSites \
+    constant/combustionProperties | \
+    sed -ne 's/^.*\(location *([^;]*\).*$/\1;/p' >> constant/ignitionPoint
+
+# Use constant/ignitionPoint for topoSet
+runApplication topoSet
+
+runApplication refineHexMesh ignition
+
+runApplication setFields
+
+runApplication $(getApplication)
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties
new file mode 100644
index 0000000000000000000000000000000000000000..0a01b14cd66a228cb9aa5ce4d90cda4da83db53e
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/PDRProperties
@@ -0,0 +1,286 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      PDRProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+StSmoothCoef    1000.0;
+
+//No smooth if >100
+
+schelkin
+{
+    subGridSchelkin true;
+    uPrimeCoef  1.0;
+    lCoef       0.336;
+    maxSchFac   100.0;
+    nrCoef      0.1;
+    nrExp       0.0;
+    nrExp2      0.05;
+}
+
+PDRDragModel    basic;
+
+basicCoeffs
+{
+    drag        on;
+    Csu         0.5;
+    Csk         0.05;
+}
+
+basicSchCoeffs
+{
+    drag        on;
+    $schelkin;
+    Csu         0.0;
+    Csk         0.0;
+}
+
+XiModel         transport;
+
+algebraicCoeffs
+{
+    XiShapeCoef 1;
+    XpShapeCoef 1;
+    CpfiDot     0.0;
+    CpfiCross   0.0;
+    GEtaExp     0.0;
+    LOverCw     0.01;
+}
+
+transportTwoEqsCoeffs
+{
+    XiShapeCoef 1;
+    XpShapeCoef 1;
+    CpfiDot     0.0;
+    CpfiCross   0.0;
+    GEtaExp     0.0;
+    LOverCw     0.01;
+}
+
+k3Coeffs
+{
+    k3Obs       10.0;
+    k3Open      1.0;
+}
+
+transportThreeEqsCoeffs
+{
+    $transportTwoEqsCoeffs;
+    $k3Coeffs;
+}
+
+transportFourEqsCoeffs
+{
+    $transportTwoEqsCoeffs;
+    $k3Coeffs;
+}
+
+transportOneEqObsCoeffs
+{
+    XiShapeCoef 1;
+    Cpfi        0.0;
+    GEtaExp     0.0;
+}
+
+transportXp
+{
+}
+
+transportCoeffs
+{
+    XiShapeCoef 1;
+    GEtaExp     0.28;
+}
+
+fixedCoeffs
+{
+}
+
+
+/*---------------------------------------------------------------------------*\
+                          XiEqModel : Model for XiEq
+\*---------------------------------------------------------------------------*/
+
+XiEqModel       instability;
+
+BLMcoeffs
+{
+    XiEqCoef    1.0;
+    alphaCoefP  0.023;
+    alphaCoefN  0.085;
+    betaCoefP   -0.0103;
+    betaCoefN   -0.0075;
+    maLim       30.0;
+    maLim1      7.0;
+    quenchCoef  34.0;
+    quenchExp   -1.8;
+    quenchM     -4.0;
+    quenchRate1 0.6;
+    quenchRate2 0.14;
+}
+
+instability2XiEqCoeffs
+{
+    defaultCIn  12.6;
+    XiEqInFade  1.0;
+
+    XiEqModel   BLMgMaXiEq;
+
+    BLMgMaXiEqCoeffs
+    {
+        $schelkin;
+        gulderCoef  1.0; //this value is not usssed 1.0.
+        kaCoef      0.25;
+        lowK0       0.1;
+        lowKg       0.0;
+        gMaCoef     0.032; //not used
+        gMaCoef1    0.0;  // not used
+        $BLMcoeffs;
+    }
+
+    BLMXiEqCoeffs
+    {
+        $schelkin;
+        gulderCoef  0.31;
+        kaCoef      0.25;
+        lowK1       0.02;
+        lowK2       0.05;
+        $BLMcoeffs;
+     }
+}
+
+instabilityCoeffs
+{
+
+    XiEqIn      2.5;
+    XiEqModel   Gulder;
+    GulderCoeffs
+    {
+        uPrimeCoef      1.0;
+        subGridSchelkin true;
+        XiEqCoef        0.62;
+    }
+
+    SCOPEBlendCoeffs
+    {
+        XiEqModelL
+        {
+            XiEqModel   Gulder;
+
+            GulderCoeffs
+            {
+                $schelkin;
+                XiEqCoef    0.62;
+            }
+        }
+
+        XiEqModelH
+        {
+            XiEqModel       SCOPEXiEq;
+
+            SCOPEXiEqCoeffs
+            {
+                $schelkin;
+                XiEqCoef    1.6;
+                XiEqExp     0.33333;
+            }
+        }
+    }
+}
+
+
+/*---------------------------------------------------------------------------*\
+                     XiGModel : Model for generation of Xi
+\*---------------------------------------------------------------------------*/
+
+XiGModel            instabilityG;
+
+instability2GCoeffs
+{
+    lambdaIn        0.0001;
+    defaultCIn      10.0;
+    GInMult         5.0;
+    GInFade         4.0;
+
+    XiGModel KTS;
+
+    KTSCoeffs
+    {
+        GEtaCoef    0.28;
+    }
+}
+
+instabilityGCoeffs
+{
+    lambdaIn        4.5e-3;
+    GIn             1.917;
+
+    XiGModel        KTS;
+    KTSCoeffs
+    {
+         GEtaCoef   0.28;
+    }
+}
+
+
+/*---------------------------------------------------------------------------*\
+                          XpEqGModel : Model for XpEq
+\*---------------------------------------------------------------------------*/
+
+XpEqModel       normBasicSubGrid;
+
+normBasicSubGridCoeffs
+{
+    Cxpe1       800.0;
+    Cxpe2       40.0;
+    Cxpe3       400.0;
+    Cxpe4       1.0;
+}
+
+basicSubGridCoeffs
+{
+}
+
+
+/*---------------------------------------------------------------------------*\
+                     XpGModel : Model for generation of Xp
+\*---------------------------------------------------------------------------*/
+
+XpGModel        normBasicSubGridG;
+
+normBasicSubGridGCoeffs
+{
+    k1          0.0;
+    kb1         14.0;
+    kbe         1.5;
+    kbx         0.4;
+    k2          1.0;
+    LOverCw     0.01;
+    Cxpe1       800.0;
+    Cxpe2       40.0;
+    Cxpe3       400.0;
+    Cxpe4       1.0;
+}
+
+basicSubGridGCoeffs
+{
+    XpGModel    KTS;
+    KTSCoeffs
+    {
+        GEtaCoef    0.28;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/combustionProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/combustionProperties
new file mode 100644
index 0000000000000000000000000000000000000000..86df5fda40fa1c322a5df7c67d84ffe3da2e84c3
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/combustionProperties
@@ -0,0 +1,43 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      combustionProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+laminarFlameSpeedCorrelation    SCOPE;
+
+fuel        Methane;
+
+fuelFile    "fuels/methane";
+
+ignite      yes;
+
+ignitionSites
+(
+{
+    location    (2.129836154 2.129836154 0.1773225);
+    diameter    0.0525394295667244;
+    start       2E-05;
+    duration    0.5;
+    strength    10.0;
+}
+);
+
+ignitionSphereFraction  1.0;
+
+ignitionThickness       0.05;
+
+ignitionCircleFraction  0.5;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/g b/tutorials/combustion/PDRFoam/pipeLattice/constant/g
new file mode 100644
index 0000000000000000000000000000000000000000..d2f1c1c7d6c6af4fa2ad0042f93e89687bdf0bd6
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/g
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       uniformDimensionedVectorField;
+    location    "constant";
+    object      g;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -2 0 0 0 0];
+
+value           ( 0 0 0 );
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/thermophysicalProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/thermophysicalProperties
new file mode 100644
index 0000000000000000000000000000000000000000..e75e4d05653cafeda50186fc5f693cce26b17945
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/thermophysicalProperties
@@ -0,0 +1,145 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+//thermoType  hhuMixtureThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>;
+
+thermoType
+{
+    type            heheuPsiThermo;
+    mixture         inhomogeneousMixture;
+    //mixture         sprayHomogeneousMixtureDisp;
+    //mixture         sprayInhomogeneousMixture;
+    //mixture         inhomogeneousMixture;
+    transport       sutherland;
+    thermo          janaf;
+    equationOfState perfectGas;
+    specie          specie;
+    energy          absoluteEnthalpy;
+}
+
+inertSpecie     AIR;
+
+liquids
+{
+    //liquidComponents ( H2OPS );
+    H2OPS
+    {
+        defaultCoeffs   yes;
+    }
+    water
+    {
+        defaultCoeffs   yes;
+    }
+}
+
+solids
+{
+    //solidComponents ( );
+}
+
+stoichiometricAirFuelMassRatio 17.1667;
+
+fuel
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       16.043;
+    }
+    thermodynamics
+    {
+        Tlow            20;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    (1.68348e+000 1.02372e-002 -3.87513e-006 6.78559e-010 -4.50342e-014 -10080.799805 9.623400);
+        lowCpCoeffs     (7.78741e-001 1.74767e-002 -2.78341e-005 3.04971e-008 -1.22393e-011 -9825.230469 13.722200);
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+oxidant
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       28.8504;
+    }
+    thermodynamics
+    {
+        Tlow            20;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    (3.08854e+000 1.30434e-003 -4.75532e-007 8.34944e-011 -5.57380e-015 -988.135710 5.394344);
+        lowCpCoeffs     (3.28067e+000 1.34928e-003 -3.25182e-006 4.73272e-009 -2.11558e-012 -1017.613519 4.388088);
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+burntProducts
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       27.633;
+    }
+    thermodynamics
+    {
+        Tlow            20;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 3.02337e+000 1.94303e-003 -6.93814e-007 1.17760e-010 -7.62884e-015 -10994.911525 5.489135);
+        lowCpCoeffs     ( 3.21823e+000 2.61002e-003 -5.03021e-006 6.01014e-009 -2.42546e-012 -11067.319096 4.284645);
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+steam
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       18.02;
+    }
+    thermodynamics
+    {
+        Tlow            200.00;
+        Thigh           5000.00;
+        Tcommon         1000.00;
+        highCpCoeffs    ( 2.67215e+00 3.05629e-03 -8.73026e-07 1.20100e-10 -6.39162e-15 -29899.199219 6.862820);
+        lowCpCoeffs     ( 3.38684e+00 3.47498e-03 -6.35470e-06 6.96858e-09 -2.50659e-12 -30208.099609 2.590230);
+    }
+    transport
+    {
+        As      1.6721e-06;
+        Ts      1.7067e+02;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/constant/turbulenceProperties b/tutorials/combustion/PDRFoam/pipeLattice/constant/turbulenceProperties
new file mode 100644
index 0000000000000000000000000000000000000000..bb3ff5e8194da994d0770ba501d36ab85292c76e
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/constant/turbulenceProperties
@@ -0,0 +1,107 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  RAS;
+
+RAS
+{
+    RASModel    PDRkEpsilon;
+
+    PDRkEpsilonCoeffs
+    {
+        Cmu             0.09;
+        C1              1.44;
+        C2              1.92;
+        C3              -0.33;//0; (Original : -0.33)
+        C4              0.1;
+        alphah          1;
+        alphak          1;
+        alphaEps        0.76923;
+    }
+
+    PDRkEpsilonFiltCoeffs
+    {
+        Cmu             0.09;
+        C1              1.44;
+        C2              1.92;
+        C3              -0.33;
+        C5              1.5;
+        C6              1.0;
+        alphah          1;
+        alphak          1;
+        alphaEps        0.76923;
+        noTurbUntil     0.0;
+        LOverLobs       0.2;
+        LOverMobs       0.0;
+        maxLOverCellW   2.0;
+        lCoef           0.35;
+        resCoef         0.0;
+        maxResFac       1.0;
+        filtRadMult     6.0;
+        bFilt           0.85;
+        flameFilteredG  1;
+    }
+
+    PDRRNGkEpsilonCoeffs
+    {
+        Cmu             0.0845;
+        C1              1.42;
+        C2              1.68;
+        C3              -0.33;
+        sigmak          0.71942;
+        sigmaEps        0.71942;
+        eta0            4.38;
+        beta            0.012;
+        LOverLobs       0.5;
+        LOverMobs       0.5;
+        maxLOverCellW   2.0;
+        lCoef           0.35;
+        C5              1.5;
+        C6              1.0;
+        alphah          1;
+        alphak          1;
+        alphaEps        0.76923;
+    }
+
+
+    PDRrealkEpsilonCoeffs
+    {
+        Cmu             0.09;
+        A0              4.0;
+        C2              1.9;
+        C3              -0.33;
+        sigmak          1;
+        sigmaEps        0.71942;
+        eta0            4.38;
+        beta            0.012;
+        LOverLobs       0.5;
+        LOverMobs       0.5;
+        maxLOverCellW   2.0;
+        lCoef           0.35 ;
+        C5              1.5;
+        C6              1.0;
+        alphah          1;
+        alphak          1;
+        alphaEps        0.76923;
+    }
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/fuels/methane b/tutorials/combustion/PDRFoam/pipeLattice/fuels/methane
new file mode 100644
index 0000000000000000000000000000000000000000..12168eed0f05965f414ae786456b68d8f8bb76c3
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/fuels/methane
@@ -0,0 +1,152 @@
+// -*- C++ -*-
+
+name    methane;
+
+SCOPECoeffs
+{
+    lowerFlammabilityLimit  0.502449441017432;
+    upperFlammabilityLimit  1.68468341988198;
+
+    lowerSuPolynomial
+    {
+        lowerLimit      0.545;
+        upperLimit      1.16;
+        coefficients
+        (
+            0.35
+            0.907851467
+            -6.629714256
+            -8.646022633
+            16.38787781
+            37.29584992
+            0.0
+        );
+    }
+
+    upperSuPolynomial
+    {
+        lowerLimit      1.1;
+        upperLimit      1.6;
+        coefficients
+        (
+            0.057804451
+            80.27932789
+            -411.9361947
+            642.8456718
+            -168.8792404
+            -221.4502558
+            0.0
+        );
+    }
+
+    lowerMaPolynomial
+    {
+        lowerLimit      0.5;
+        upperLimit      1.0581;
+        coefficients
+        (
+            3.73
+            1.6
+            4.0
+            1.0
+            -12.0
+            -11.0
+            0.0
+        );
+    }
+
+    upperMaPolynomial
+    {
+        lowerLimit      1.0579;
+        upperLimit      2.684;
+        coefficients
+        (
+            4.13
+            0.0
+            0.0
+            0.0
+            0.0
+            0.0
+            0.0
+        );
+    }
+
+    Texp    2.0;
+    pexp    -0.5;
+    CIn     10.2;
+}
+
+
+thermophysicalProperties
+{
+    thermoType  hhuMixtureThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>;
+
+    stoichiometricAirFuelMassRatio  17.1667;
+
+    fuel
+    {
+        specie
+        {
+            nMoles          1;
+            molWeight       16.043;
+        }
+
+        thermodynamics
+        {
+            Tlow            20;
+            Thigh           5000;
+            Tcommon         1000;
+            highCpCoeffs    (1.68348e+000 1.02372e-002 -3.87513e-006 6.78559e-010 -4.50342e-014 -10080.799805 9.623400);
+            lowCpCoeffs     (7.78741e-001 1.74767e-002 -2.78341e-005 3.04971e-008 -1.22393e-011 -9825.230469 13.722200);
+        }
+        transport
+        {
+            As              1.67212e-06;
+            Ts              170.672;
+        }
+    }
+
+    oxidant
+    {
+        specie
+        {
+            nMoles          1;
+            molWeight       28.8504;
+        }
+        thermodynamics
+        {
+            Tlow            20;
+            Thigh           5000;
+            Tcommon         1000;
+            highCpCoeffs    (3.08854e+000 1.30434e-003 -4.75532e-007 8.34944e-011 -5.57380e-015 -988.135710 5.394344);
+            lowCpCoeffs     (3.28067e+000 1.34928e-003 -3.25182e-006 4.73272e-009 -2.11558e-012 -1017.613519 4.388088);
+        }
+        transport
+        {
+            As              1.67212e-06;
+            Ts              170.672;
+        }
+    }
+
+    burntProducts
+    {
+        specie
+        {
+            nMoles         1;
+            molWeight      27.633;
+        }
+        thermodynamics
+        {
+            Tlow           20;
+            Thigh          5000;
+            Tcommon        1000;
+            highCpCoeffs   ( 3.02337e+000 1.94303e-003 -6.93814e-007 1.17760e-010 -7.62884e-015 -10994.911525 5.489135);
+            lowCpCoeffs    ( 3.21823e+000 2.61002e-003 -5.03021e-006 6.01014e-009 -2.42546e-012 -11067.319096 4.284645);
+        }
+        transport
+        {
+            As             1.67212e-06;
+            Ts             170.672;
+        }
+    }
+}
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict b/tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict
new file mode 100644
index 0000000000000000000000000000000000000000..6f28d05f4f46f65973d1c6e3fc5225c71bcc64d8
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/geometry/obstaclesDict
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale   1.0;
+verbose 0;
+
+#include "pipeLattice"
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice b/tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice
new file mode 100644
index 0000000000000000000000000000000000000000..c619493a6906e90fa7c9f4dc465a5c8ace84e7cf
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/geometry/pipeLattice
@@ -0,0 +1,153 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_11z
+{
+    groupId 11;
+
+    enabled true;
+
+    // Dimensions
+    zpipe   { direction z; length 2.132; diameter 0.082; }
+
+    locations
+    (
+        (0 0.13325 0)
+        (0 0.39975 0)
+        (0 0.66625 0)
+        (0 0.93275 0)
+        (0 1.19925 0)
+        (0 1.46575 0)
+        (0 1.73225 0)
+        (0 1.99875 0)
+        (0 2.26525 0)
+        (0 2.53175 0)
+        (0 2.79825 0)
+        (0 3.06475 0)
+        (0 3.33125 0)
+        (0 3.59775 0)
+        (0 3.86425 0)
+        (0 4.13075 0)
+    );
+
+    // z-direction
+    obstacles
+    (
+        cyl { point (0.13325 0 0); $zpipe; }
+        cyl { point (0.39975 0 0); $zpipe; }
+        cyl { point (0.66625 0 0); $zpipe; }
+        cyl { point (0.93275 0 0); $zpipe; }
+        cyl { point (1.19925 0 0); $zpipe; }
+        cyl { point (1.46575 0 0); $zpipe; }
+        cyl { point (1.73225 0 0); $zpipe; }
+        cyl { point (1.99875 0 0); $zpipe; }
+        cyl { point (2.26525 0 0); $zpipe; }
+        cyl { point (2.53175 0 0); $zpipe; }
+        cyl { point (2.79825 0 0); $zpipe; }
+        cyl { point (3.06475 0 0); $zpipe; }
+        cyl { point (3.33125 0 0); $zpipe; }
+        cyl { point (3.59775 0 0); $zpipe; }
+        cyl { point (3.86425 0 0); $zpipe; }
+        cyl { point (4.13075 0 0); $zpipe; }
+    );
+}
+
+
+_11y
+{
+    groupId 11;
+    enabled true;
+
+    // Dimensions
+    ypipe   { direction y; length 4.26;  diameter 0.082; }
+
+    locations
+    (
+        (0.13325 0 0)
+        (0.39975 0 0)
+        (0.66625 0 0)
+        (0.93275 0 0)
+        (1.19925 0 0)
+        (1.46575 0 0)
+        (1.73225 0 0)
+        (1.99875 0 0)
+        (2.26525 0 0)
+        (2.53175 0 0)
+        (2.79825 0 0)
+        (3.06475 0 0)
+        (3.33125 0 0)
+        (3.59775 0 0)
+        (3.86425 0 0)
+        (4.13075 0 0)
+    );
+
+    // y-direction
+    obstacles
+    (
+        cyl { point (0 0 0.13325); $ypipe; }
+        cyl { point (0 0 0.39975); $ypipe; }
+        cyl { point (0 0 0.66625); $ypipe; }
+        cyl { point (0 0 0.93275); $ypipe; }
+        cyl { point (0 0 1.19925); $ypipe; }
+        cyl { point (0 0 1.46575); $ypipe; }
+        cyl { point (0 0 1.73225); $ypipe; }
+        cyl { point (0 0 1.99875); $ypipe; }
+    );
+}
+
+_11x
+{
+    groupId 11;
+    enabled true;
+
+    // Dimensions
+    xpipe   { direction x; length 4.26; diameter 0.082; }
+
+    locations
+    (
+        (0 0.13325 0)
+        (0 0.39975 0)
+        (0 0.66625 0)
+        (0 0.93275 0)
+        (0 1.19925 0)
+        (0 1.46575 0)
+        (0 1.73225 0)
+        (0 1.99875 0)
+        (0 2.26525 0)
+        (0 2.53175 0)
+        (0 2.79825 0)
+        (0 3.06475 0)
+        (0 3.33125 0)
+        (0 3.59775 0)
+        (0 3.86425 0)
+        (0 4.13075 0)
+    );
+
+    // x-direction
+    obstacles
+    (
+        cyl { point (0 0 0.13325); $xpipe; }
+        cyl { point (0 0 0.39975); $xpipe; }
+        cyl { point (0 0 0.66625); $xpipe; }
+        cyl { point (0 0 0.93275); $xpipe; }
+        cyl { point (0 0 1.19925); $xpipe; }
+        cyl { point (0 0 1.46575); $xpipe; }
+        cyl { point (0 0 1.73225); $xpipe; }
+        cyl { point (0 0 1.99875); $xpipe; }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..be0b184c482c7ba0eb29e335827a13495fbf31ee
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRblockMeshDict
@@ -0,0 +1,80 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      PDRblockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale   1.0;
+
+x
+{
+    points  ( -19.4 0 4.26 23.66 );
+    nCells  ( 14 13 14 );
+    ratios  ( 0.0887187064230887 1 10.6993205379072 );
+}
+
+y
+{
+    points  ( -19.42 0 4.26 23.68 );
+    nCells  ( 14 13 14 );
+    ratios  ( 0.0887187064230887 1 10.6993205379072 );
+}
+
+z
+{
+    points  (0 2.13 23.17  );
+    nCells  ( 6 14 );
+    ratios  ( 1 10.6993205379072 );
+}
+
+
+// Or could use defaultFaces = outer instead
+defaultPatch
+{
+    name    defaultFaces;
+    type    wall;
+}
+
+
+// Faces: 0 = xmin, 1 = xmax, 2 = ymin, 3 = ymax, 4 = zmin, 5 = zmax
+
+boundary
+(
+    // Or with defaultFaces = outer
+    outer
+    {
+        type    patch;
+        faces   ( 0 1 2 3 5 );
+    }
+
+    mergingFaces
+    {
+        type    wall;
+        faces   ();
+    }
+
+    blockedFaces
+    {
+        type    wall;
+        faces   ();
+    }
+
+    wallFaces
+    {
+        type    wall;
+        faces   ( 4 );
+    }
+);
+
+
+//***************************************************************************//
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict
new file mode 100644
index 0000000000000000000000000000000000000000..b7b56e52d492a000f72c04ca1e50aa619a7ab420
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/PDRsetFieldsDict
@@ -0,0 +1,38 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      PDRsetFieldsDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// Data dictionary for PDRsetFields
+
+// Replace by the relevant names
+
+obsFileDir      "<case>/geometry";
+
+obsFileNames    (obstaclesDict);
+
+// legacyObsSpec   true;
+//
+// obsFileNames    (position.obs base.obs);
+
+// Some parameters for PDRfitMesh are read from this file, including
+
+cellWidth       0.22;
+
+outer           (20 0);
+
+outerCombFac    0;
+
+sea_ground      0.0;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/controlDict b/tutorials/combustion/PDRFoam/pipeLattice/system/controlDict
new file mode 100644
index 0000000000000000000000000000000000000000..33f3ad490ed882edae33ad0aa5f5d4bf5208bad5
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/controlDict
@@ -0,0 +1,58 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     PDRFoam;
+
+startFrom       latestTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         0.125;
+
+deltaT          5e-06;
+
+writeControl    runTime;
+
+writeInterval   0.001;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  8;
+
+writeCompression off;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable yes;
+
+adjustTimeStep  yes;
+
+maxCo           0.3;
+
+maxDeltaT       1;
+
+functions
+{
+    #include "probes"
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes
new file mode 100644
index 0000000000000000000000000000000000000000..80826a40dd424a4cdc4f4f667af2e0ae2cf9dcdb
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemes
@@ -0,0 +1,124 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         Euler;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+    grad(p)         Gauss linear;
+    grad(b)         Gauss pointLinear;
+}
+
+divSchemes
+{
+    default none;
+
+    div(phi,U)      Gauss limitedLinearV 1;
+    div(phiU,p)     Gauss limitedLinear 1;
+    div(phid,p)     Gauss limitedLinear 1;
+    div(phi,k)      Gauss limitedLinear 1;
+    div(phi,epsilon) Gauss limitedLinear 1;
+
+    div(phiXi,Xi)   Gauss limitedLinear 1;
+    div(phiXi,Xp)   Gauss limitedLinear 1;
+
+    div(phi,Ep)     Gauss limitedLinear 1;
+    div(phi,Xp)     Gauss limitedLinear 1;
+
+    div(phiXi,GRxp) Gauss limitedLinear 1;
+    div(phiXi,GRep) Gauss limitedLinear 1;
+    div(phiXi,Ep)   Gauss limitedLinear 1;
+    div(phiSt,b)    Gauss limitedLinear 1;
+
+    div(phi,K)      Gauss limitedLinear 1;
+
+    div(phi,ft_b_ha_hau_H2OPS_Y) Gauss multivariateSelection
+    {
+        ft          limitedLinear01 1;
+        b           limitedLinear01 1;
+        Xi          limitedLinear 1;
+        Xp          limitedLinear 1;
+        Ep          limitedLinear 1;
+        h           limitedLinear 1;
+        hu          limitedLinear 1;
+        ha          limitedLinear 1;
+        hau         limitedLinear 1;
+        H2OPS       limitedLinear 1;
+        water       limitedLinear 1;
+        Y           limitedLinear 1;
+        AIR         limitedLinear 1;
+    };
+
+    div(phi,ft_b_h_hu) Gauss multivariateSelection
+    {
+        ft          limitedLinear01 1;
+        b           limitedLinear01 1;
+        Xi          limitedLinear 1;
+        Xp          limitedLinear 1;
+        Ep          limitedLinear 1;
+        h           limitedLinear 1;
+        hu          limitedLinear 1;
+        ha          limitedLinear 1;
+        hau         limitedLinear 1;
+    };
+
+    div(phi,ft_b_ha_hau) Gauss multivariateSelection
+    {
+        ft          limitedLinear01 1;
+        b           limitedLinear01 1;
+        Xi          limitedLinear 1;
+        Xp          limitedLinear 1;
+        Ep          limitedLinear 1;
+        h           limitedLinear 1;
+        hu          limitedLinear 1;
+        ha          limitedLinear 1;
+        hau         limitedLinear 1;
+    };
+
+    div((Su*grad(b)))                   Gauss linear;
+    div((U+((Su*Xi)*grad(b))))          Gauss linear;
+    div((muEff*dev2(T(grad(U)))))       Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
+    div(Ud)                             Gauss linear;
+}
+
+laplacianSchemes
+{
+    default Gauss linear uncorrected;
+}
+
+interpolationSchemes
+{
+    default linear;
+}
+
+snGradSchemes
+{
+    default uncorrected;
+}
+
+fluxRequired
+{
+    default         no;
+    p;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemesUp b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemesUp
new file mode 100644
index 0000000000000000000000000000000000000000..e1121ee86fc2b9540d040feacf74e2f22c813995
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSchemesUp
@@ -0,0 +1,98 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         Euler;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+    grad(p)         Gauss linear;
+    grad(b)         fourth;
+}
+
+divSchemes
+{
+    default         Gauss upwind;
+/*
+    div(phi,U)      Gauss limitedLinearV 1;
+    div(phiU,p)     Gauss limitedLinear 1;
+    div(phid,p)     Gauss limitedLinear 1;
+    div(phi,k)      Gauss limitedLinear 1;
+    div(phi,epsilon) Gauss limitedLinear 1;
+
+    div(phiXi,Xi)   Gauss limitedLinear 1;
+    div(phiSt,b)    Gauss limitedLinear01 1;
+
+    div(phi,K)      Gauss limitedLinear 1;
+*/
+    div(phi,ft_b_h_hu) Gauss multivariateSelection
+    {
+        ft              upwind;//limitedLinear01 1;
+        b               upwind;//limitedLinear01 1;
+        Xi              upwind;//limitedLinear 1;
+        h               upwind;//limitedLinear 1;
+        hu              upwind;//limitedLinear 1;
+        Xp              upwind;
+        Ep              upwind;
+    };
+
+    div((Su*grad(b)))               Gauss linear;
+    div((U+((Su*Xi)*grad(b))))      Gauss linear;
+    //div((muEff*dev2(T(grad(U)))))   Gauss linear;
+    div(U)                          Gauss linear;
+    div((muEff*dev2(T(grad(Ubet)))))  Gauss linear;
+    div(phi,Ubet)       Gauss linear;
+}
+
+laplacianSchemes
+{
+    default none;
+
+    laplacian(muEff,Ubet)  Gauss linear limited 0.333;
+    laplacian(DkEff,k) Gauss linear limited 0.333;
+    laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333;
+    laplacian((rho*inv((((1)*A(Ubet))+tDragDcu))),p) Gauss linear limited 0.333;
+    //laplacian((rho*inv((((1)*A(U))+((((0.5*rho)*CR)*mag(U))+((((Csu*(1))*betav)*muEff)*sqr(Aw)))))),p) Gauss linear limited 0.333;
+    laplacian(Db,b) Gauss linear limited 0.333;
+    laplacian(Db,ft) Gauss linear limited 0.333;
+    laplacian(Db,h) Gauss linear limited 0.333;
+    laplacian(Db,hu) Gauss linear limited 0.333;
+    laplacian(Db,Ep) Gauss linear limited 0.333;
+    laplacian(Db,GRxp) Gauss linear limited 0.333;
+    laplacian(Db,GRep) Gauss linear limited 0.333;
+}
+
+interpolationSchemes
+{
+    default linear;
+}
+
+snGradSchemes
+{
+    default limited 0.333;
+}
+
+fluxRequired
+{
+    default no;
+    p;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution
new file mode 100644
index 0000000000000000000000000000000000000000..52a81a47ea2bf9abd61f5a317bf67e304b8954b4
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolution
@@ -0,0 +1,166 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    rho
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       1e-09;
+        relTol          0.0;
+    }
+
+    rhoFinal
+    {
+        $rho;
+    }
+
+    p
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       1e-09;
+        relTol          0.01;
+    }
+
+    pFinal
+    {
+        $p;
+        relTol          0;
+    }
+
+    /* "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)"
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-09;
+        relTol          0.01;
+    }
+
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)Final"
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-09;
+        relTol          0;
+    }*/
+
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|h|hu|ha|hau|k|epsilon)"
+    {
+        solver      smoothSolver;
+        smoother    GaussSeidel;
+        tolerance   1e-09;
+        relTol      0.05;
+    }
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|h|hu|ha|hau|k|epsilon)Final"
+    {
+        solver      smoothSolver;
+        smoother    GaussSeidel;
+        tolerance   1e-09;
+        relTol      0;
+    }
+}
+
+
+PIMPLE
+{
+  /* nCorrectors     3;
+    nOuterCorrectors  1;
+    nNonOrthogonalCorrectors 3;
+    momentumPredictor true;*/
+
+    nCorrectors         1;
+    nOuterCorrectors    10;
+    nNonOrthogonalCorrectors 3;
+    momentumPredictor   true;
+    residualControl
+    {
+        b
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        p
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Xi
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Xp
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Ep
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        ft
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        h
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        hu
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        k
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        epsilon
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        U
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+    }
+}
+
+relaxationFactors
+{
+    fields
+    {
+    }
+    equations
+    {
+        "U"         0.9;
+        "UFinal"    1.0;
+        "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)" 0.9;
+        "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)Final" 1.0;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolutionTrans b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolutionTrans
new file mode 100644
index 0000000000000000000000000000000000000000..9dfa3f82877003d5a4cc4e48ef0193bc262be206
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/fvSolutionTrans
@@ -0,0 +1,168 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    rho
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       1e-09;
+        relTol          0.0;
+    }
+
+    rhoFinal
+    {
+        $rho;
+    }
+
+    p
+    {
+        solver              PBiCG;
+        preconditioner      DILU;
+        tolerance           1e-9;
+        relTol              0.01;
+    }
+
+    pFinal
+    {
+        $p;
+        relTol              0;
+    }
+
+    /* "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)"
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-09;
+        relTol          0.01;
+    }
+
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)Final"
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-09;
+        relTol          0;
+     }
+     */
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|h|hu|ha|hau|k|epsilon)"
+    {
+        solver      smoothSolver;
+        smoother    GaussSeidel;
+        tolerance   1e-09;
+        relTol      0.05;
+    }
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|h|hu|ha|hau|k|epsilon)Final"
+    {
+        solver      smoothSolver;
+        smoother    GaussSeidel;
+        tolerance   1e-09;
+        relTol      0;
+    }
+}
+
+
+PIMPLE
+{
+  /*  nCorrectors         3;
+    nOuterCorrectors    1;
+    nNonOrthogonalCorrectors 3;
+    momentumPredictor   true;
+    transonic           true;*/
+
+    nCorrectors         1;
+    nOuterCorrectors    10;
+    nNonOrthogonalCorrectors 3;
+    momentumPredictor   true;
+    transonic           true;
+
+    residualControl
+    {
+        b
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        p
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Xi
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Xp
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Ep
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        ft
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        h
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        hu
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        k
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        epsilon
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        U
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+    }
+}
+
+relaxationFactors
+{
+    fields
+    {
+    }
+    equations
+    {
+        "U"         0.9;
+        "UFinal"    1.0;
+        "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)" 0.9;
+        "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)Final" 1.0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/probes b/tutorials/combustion/PDRFoam/pipeLattice/system/probes
new file mode 100644
index 0000000000000000000000000000000000000000..6a6f2e3ebd1355089dcf42ab093c4c07eee09c61
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/probes
@@ -0,0 +1,87 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+probes
+{
+    type    probes;
+    libs    (sampling);
+
+    name    probes;
+
+    writeControl   timeStep;
+    writeInterval  1;
+
+    fields
+    (
+        p
+        b
+        epsilon
+        ft
+        k
+        rho
+        St
+        Su
+        T
+        U
+        Xi
+    );
+
+    probeLocations
+    (
+        (2.     1.95    0.1)
+        (2.     1.6     0.1)
+        (2.     1.2     0.1)
+        (2.     0.8     0.1)
+        (2.     0.4     0.1)
+        (2.     0.0     0.1)
+        (2.8    2.8     0.1)
+        (2      3.6     0.1)
+        (2.     2.      0.9)
+        (2.     2.      1.7)
+        (2.     -0.2    0.1)
+        (2.     -0.4    0.1)
+
+        (2      2       0.1)
+        (2.8    2       0.1)
+        (3.6    2       0.1)
+        (4.6    2       0.1)
+        (5.6    2       0.1)
+        (2      2.8     0.1)
+        (2      3.6     0.1)
+        (2      8.448   0.1)
+        (2      5.6     0.1)
+        (2      2       0.9)
+        (2.8    2       0.9)
+        (3.6    2       0.9)
+        (4.6    2       0.9)
+        (5.6    2       0.9)
+        (2      2.8     0.9)
+        (2      3.6     0.9)
+        (2      8.448   0.9)
+        (2      5.6     0.9)
+        (2      2       1.9)
+        (2.8    2       1.9)
+        (3.6    2       1.9)
+        (4.6    2       1.9)
+        (5.6    2       1.9)
+        (2      2.8     1.9)
+        (2      3.6     1.9)
+        (2      8.448   1.9)
+        (2      5.6     1.9)
+        (2      2       2.9)
+        (2.8    2.8     0.1)
+        (2.8    2.8     0.9)
+        (2.8    2.8     1.9)
+        (3.6    3.6     0.1)
+        (3.6    3.6     0.9)
+        (3.6    3.6     1.9)
+    );
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict b/tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict
new file mode 100644
index 0000000000000000000000000000000000000000..dbd9cc0f1cce858d49afe67669eeabf481a5ec03
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/setFieldsDict
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      setFieldsDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+defaultFieldValues
+(
+    volScalarFieldValue p       100000
+    volScalarFieldValue T       287
+    volScalarFieldValue Tu      287
+    volScalarFieldValue ft      0
+);
+
+
+regions
+(
+    boxToCell
+    {
+        box    (0 0 0) (4.0 4.0 2.0);
+
+        fieldValues
+        (
+            volScalarFieldValue ft 0.0550457705582192
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict b/tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict
new file mode 100644
index 0000000000000000000000000000000000000000..3803ba26636fd59c9b2dcec4344db5aab8cd9593
--- /dev/null
+++ b/tutorials/combustion/PDRFoam/pipeLattice/system/topoSetDict
@@ -0,0 +1,55 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      topoSetDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+// Generated file
+#include "<constant>/ignitionPoint"
+
+actions
+(
+    {
+        name    ignition;
+        type    cellSet;
+        action  new;
+        source  nearestToCell;
+        points  ( $location );
+    }
+
+    // Optionally grow cellSet by attached?
+
+    /*
+    {
+        name    corners;
+        type    pointSet;
+        action  new;
+        source  cellToPoint;
+        set     ignition;
+        option  all;
+    }
+
+    {
+        name    ignition;
+        type    cellSet;
+        action  add;
+        source  pointToCell;
+
+        set     corners;
+        option  edge;
+    }
+    */
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRep b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRep
new file mode 100644
index 0000000000000000000000000000000000000000..91573a0262e76574c33b87feeb659bc6a2a80445
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRep
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      GRep;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -1 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRxp b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRxp
new file mode 100644
index 0000000000000000000000000000000000000000..39e5b0d4d5ca401c26d932f43bc4512330988ff2
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/GRxp
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      GRxp;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/RPers b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/RPers
new file mode 100644
index 0000000000000000000000000000000000000000..b908ab1d38a9111ef49e7c28df9bc0507e3b1c39
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/RPers
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      RPers;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Su b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Su
new file mode 100644
index 0000000000000000000000000000000000000000..83506af59e1b53d770481a06c2c9b939ae98ecc7
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Su
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Su;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform 0.5;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/T b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/T
new file mode 100644
index 0000000000000000000000000000000000000000..ec6430d27b2774c4fcf5dbb0ede676aea7213b21
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/T
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      T;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 300;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Tu b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Tu
new file mode 100644
index 0000000000000000000000000000000000000000..3dd7d9ef60d0ebcc5931a5d3e3d354c66cc94f93
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Tu
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Tu;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 300;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/U b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/U
new file mode 100644
index 0000000000000000000000000000000000000000..5af04f5243f2206733e048679e9bdcd30ca8405f
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/U
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     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
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    mergingFaces
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    wallFaces
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xi b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xi
new file mode 100644
index 0000000000000000000000000000000000000000..8df42d17908e1af38cf503ef3c738431b73cc145
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xi
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Xi;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xp b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xp
new file mode 100644
index 0000000000000000000000000000000000000000..3561760892e973826d0cff631dfc38d0d18845ae
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/Xp
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      Xp;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/b b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/b
new file mode 100644
index 0000000000000000000000000000000000000000..de1bd852a700e9def854ef248cfb1258d6ab8842
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/b
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      b;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/epsilon b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/epsilon
new file mode 100644
index 0000000000000000000000000000000000000000..6499b26ea34756c763f1efa28219bcc730f91649
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/epsilon
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      epsilon;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -3 0 0 0 0];
+
+internalField   uniform 1e-05;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            compressible::epsilonWallFunction;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            compressible::epsilonWallFunction;
+    }
+    wallFaces
+    {
+        type            compressible::epsilonWallFunction;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/ft b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/ft
new file mode 100644
index 0000000000000000000000000000000000000000..3b93fe741f2f7c3e3b1b9a59af0f01035eff1750
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/ft
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      ft;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/k b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/k
new file mode 100644
index 0000000000000000000000000000000000000000..645bc86628bae9cef2c9a8818ac363ccf979f8ae
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/k
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      k;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform 0.00015;
+
+boundaryField
+{
+    outer
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            compressible::kqRWallFunction;
+        value           $internalField;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            compressible::kqRWallFunction;
+        value           $internalField;
+    }
+    wallFaces
+    {
+        type            compressible::kqRWallFunction;
+        value           $internalField;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/p b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/p
new file mode 100644
index 0000000000000000000000000000000000000000..dc7c467281112a0bfdf625b9b449f721b2207768
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/0.orig/p
@@ -0,0 +1,53 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 100000;
+
+boundaryField
+{
+    outer
+    {
+        type            waveTransmissive;
+        gamma           1.3;
+        fieldInf        100000;
+        lInf            5;
+        value           $internalField;
+    }
+    seaGround
+    {
+        type            zeroGradient;
+    }
+    blockedFaces
+    {
+        type            zeroGradient;
+    }
+    mergingFaces
+    {
+        type            zeroGradient;
+    }
+    wallFaces
+    {
+        type            zeroGradient;
+    }
+    ySymmetry
+    {
+        type            symmetryPlane;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/Allclean b/tutorials/preProcessing/PDRsetFields/simplePipeCage/Allclean
new file mode 100755
index 0000000000000000000000000000000000000000..00bc8f41d32c3a8cb527a0e5ce1f555a1dfcbf40
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/Allclean
@@ -0,0 +1,11 @@
+#!/bin/sh
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions      # Tutorial clean functions
+#------------------------------------------------------------------------------
+
+cleanCase0
+
+rm -f panelList
+rm -f system/PDRMeshDict
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/Allrun b/tutorials/preProcessing/PDRsetFields/simplePipeCage/Allrun
new file mode 100755
index 0000000000000000000000000000000000000000..20c1699a003f1edf19ac07100949473296f4cb59
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/Allrun
@@ -0,0 +1,15 @@
+#!/bin/sh
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+#------------------------------------------------------------------------------
+
+# Special version of blockMesh for i-j-k meshes
+runApplication PDRblockMesh
+
+restore0Dir
+
+runApplication topoSet
+
+runApplication PDRsetFields
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/PDRProperties b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/PDRProperties
new file mode 100644
index 0000000000000000000000000000000000000000..4e6cdbaaef7d8e67a55ae8fd8d10ce153d9a961e
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/PDRProperties
@@ -0,0 +1,98 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      PDRProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+PDRDragModel basic;
+
+basicCoeffs
+{
+    drag     on;
+    Csu      0.5;
+    Csk      0.05;
+}
+
+XiModel transport;
+
+transportCoeffs
+{
+    XiShapeCoef 1;
+}
+
+XiEqModel instability;
+
+instabilityCoeffs
+{
+    XiEqIn 2.5;
+
+    XiEqModel basicSubGrid;
+
+    basicSubGridCoeffs
+    {
+        XiEqModel SCOPEBlend;
+
+        SCOPEBlendCoeffs
+        {
+            XiEqModelL
+            {
+                XiEqModel       Gulder;
+
+                GulderCoeffs
+                {
+                    XiEqCoef   0.62;
+                    uPrimeCoef      1.0;
+                    subGridSchelkin true;
+                }
+            }
+
+            XiEqModelH
+            {
+                XiEqModel       SCOPEXiEq;
+
+                SCOPEXiEqCoeffs
+                {
+                    XiEqCoef   1.6;
+                    XiEqExp    0.33333;
+                    lCoef      0.336;
+                    uPrimeCoef      1.0;
+                    subGridSchelkin true;
+                }
+            }
+        }
+    }
+}
+
+XiGModel instabilityG;
+
+instabilityGCoeffs
+{
+    lambdaIn        lambdaIn   [0 1 0 0 0 0 0] 0.6;
+    GIn             GIn        [0 0 -1 0 0 0 0] 1.917;
+
+    XiGModel basicSubGridG;
+
+    basicSubGridGCoeffs
+    {
+        k1 0.5;
+
+        XiGModel KTS;
+
+        KTSCoeffs
+        {
+             GEtaCoef   0.28;
+        }
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/combustionProperties b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/combustionProperties
new file mode 100644
index 0000000000000000000000000000000000000000..10285def2f989a23fbfb12277c2efc073a4f8aba
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/combustionProperties
@@ -0,0 +1,45 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      combustionProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+laminarFlameSpeedCorrelation SCOPE;
+
+fuel        Propane;
+
+fuelFile    "fuels/propane.dat";
+
+ignite      yes;
+
+ignitionSites
+(
+
+    {
+        location        (1.5 1.5 0.5);
+        diameter        0.1;
+        start           1E-05;
+        duration        0.05;
+        strength        60.0;
+    }
+);
+
+ignitionSphereFraction  1;
+
+ignitionThickness   ignitionThickness [0 1 0 0 0 0 0] 0;
+
+ignitionCircleFraction  0;
+
+ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0;
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/dynamicMeshDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/dynamicMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..5cc1535a20f341067a71c336a90d6b1835810137
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/dynamicMeshDict
@@ -0,0 +1,53 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      dynamicMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dynamicFvMesh      dynamicRefineFvMesh;
+
+// Refine every refineInterval timesteps
+refineInterval 1;
+
+// Maximum refinement level (starts from 0)
+maxRefinement 2;
+
+// Maximum cell limit (approximate)
+maxCells 10000;
+
+// volScalarField to base refinement on
+field normalisedGradP;
+
+nBufferLayers 1;
+
+dumpLevel true;
+
+lowerRefineLevel 0.5;
+upperRefineLevel 1.5;
+
+unrefineLevel 0.5;
+
+nBufferLayers 1;
+// Newly introduced patch points optionally get projected onto a surface
+//projectSurfaces ("fixedWalls4.stl");
+//projectPatches (fixedWalls);
+// Maximum project distance
+//projectDistance 1;
+
+// Fluxes to adapt. For newly created faces or split faces the flux
+// gets estimated from an interpolated volVectorField ('velocity')
+// First is name of the flux to adapt, second is velocity that will
+// be interpolated and inner-producted with the face area vector.
+correctFluxes ((phi rhoU) (phi_0 none));
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/g b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/g
new file mode 100644
index 0000000000000000000000000000000000000000..bf2b7b10ab10e01d72e7b2937be35adc522c030c
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/g
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       uniformDimensionedVectorField;
+    object      g;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -2 0 0 0 0];
+value           (0 0 -9.8);
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/thermophysicalProperties b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/thermophysicalProperties
new file mode 100644
index 0000000000000000000000000000000000000000..02466ff11a14c094803ae069d070ad440bb620f3
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/thermophysicalProperties
@@ -0,0 +1,93 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heheuPsiThermo;
+    mixture         inhomogeneousMixture;
+    transport       sutherland;
+    thermo          janaf;
+    equationOfState perfectGas;
+    specie          specie;
+    energy          absoluteEnthalpy;
+}
+
+stoichiometricAirFuelMassRatio  stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.5776;
+
+fuel
+{
+    specie
+    {
+        molWeight       44.0962;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 );
+        lowCpCoeffs     ( 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017  );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+oxidant
+{
+    specie
+    {
+        molWeight       28.8504;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           6000;
+        Tcommon         1000;
+        highCpCoeffs    ( 3.10131 0.00124137 -4.18816e-07 6.64158e-11 -3.91274e-15 -985.266 5.35597 );
+        lowCpCoeffs     ( 3.58378 -0.000727005 1.67057e-06 -1.09203e-10 -4.31765e-13 -1050.53 3.11239 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+burntProducts
+{
+    specie
+    {
+        molWeight      28.3233;
+    }
+    thermodynamics
+    {
+        Tlow           200;
+        Thigh          6000;
+        Tcommon        1000;
+        highCpCoeffs   ( 3.10558 0.00179747 -5.94696e-07 9.05605e-11 -5.08443e-15 -11003.6 5.12104 );
+        lowCpCoeffs    ( 3.49796 0.000638555 -1.83881e-07 1.20989e-09 -7.68691e-13 -11080.5 3.18188 );
+    }
+    transport
+    {
+        As             1.67212e-06;
+        Ts             170.672;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/turbulenceProperties b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/turbulenceProperties
new file mode 100644
index 0000000000000000000000000000000000000000..e15633083e18964ce7eedf94a8c01994a871afcf
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/constant/turbulenceProperties
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  RAS;
+
+RAS
+{
+    RASModel PDRkEpsilon;
+
+    PDRkEpsilonCoeffs
+    {
+        Cmu              0.09;
+        C1               1.44;
+        C2               1.92;
+        C3               0;
+        C4               0.1;
+        alphah           1;
+        alphak           1;
+        alphaEps         0.76923;
+    }
+
+    turbulence      on;
+
+    printCoeffs     on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group01 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group01
new file mode 100644
index 0000000000000000000000000000000000000000..4d1c628811521c6888bca821efc5972c455204e8
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group01
@@ -0,0 +1,66 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_01
+{
+    groupId 1;
+
+    obstacles
+    (
+        box { point (0 0 0); size (0.05 0.05 2); }
+        box { point (1 0 0); size (0.05 0.05 2); }
+        box { point (2 0 0); size (0.05 0.05 2); }
+        box { point (3 0 0); size (0.05 0.05 2); }
+        box { point (0 1 0); size (0.05 0.05 2); }
+        box { point (1 1 0); size (0.05 0.05 2); }
+        box { point (2 1 0); size (0.05 0.05 2); }
+        box { point (3 1 0); size (0.05 0.05 2); }
+        box { point (0 2 0); size (0.05 0.05 2); }
+        box { point (1 2 0); size (0.05 0.05 2); }
+        box { point (2 2 0); size (0.05 0.05 2); }
+        box { point (3 2 0); size (0.05 0.05 2); }
+        box { point (0 3 0); size (0.05 0.05 2); }
+        box { point (1 3 0); size (0.05 0.05 2); }
+        box { point (2 3 0); size (0.05 0.05 2); }
+        box { point (3 3 0); size (0.05 0.05 2); }
+        box { point (0 0 0); size (0.05 3.05 0.05); }
+        box { point (1 0 0); size (0.05 3.05 0.05); }
+        box { point (2 0 0); size (0.05 3.05 0.05); }
+        box { point (3 0 0); size (0.05 3.05 0.05); }
+        box { point (0 0 1); size (0.05 3.05 0.05); }
+        box { point (1 0 1); size (0.05 3.05 0.05); }
+        box { point (2 0 1); size (0.05 3.05 0.05); }
+        box { point (3 0 1); size (0.05 3.05 0.05); }
+        box { point (0 0 2); size (0.05 3.05 0.05); }
+        box { point (1 0 2); size (0.05 3.05 0.05); }
+        box { point (2 0 2); size (0.05 3.05 0.05); }
+        box { point (3 0 2); size (0.05 3.05 0.05); }
+        box { point (0 0 0); size (3.05 0.05 0.05); }
+        box { point (0 1 0); size (3.05 0.05 0.05); }
+        box { point (0 2 0); size (3.05 0.05 0.05); }
+        box { point (0 3 0); size (3.05 0.05 0.05); }
+        box { point (0 0 1); size (3.05 0.05 0.05); }
+        box { point (0 1 1); size (3.05 0.05 0.05); }
+        box { point (0 2 1); size (3.05 0.05 0.05); }
+        box { point (0 3 1); size (3.05 0.05 0.05); }
+        box { point (0 0 2); size (3.05 0.05 0.05); }
+        box { point (0 1 2); size (3.05 0.05 0.05); }
+        box { point (0 2 2); size (3.05 0.05 0.05); }
+        box { point (0 3 2); size (3.05 0.05 0.05); }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group11 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group11
new file mode 100644
index 0000000000000000000000000000000000000000..e90a7ecba8bb31c596d6f22c692381fbc80c552b
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group11
@@ -0,0 +1,58 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_11
+{
+    groupId 11;
+
+    zpipe { direction z; length 0.947; diameter 0.026; }
+    box1  { size (0.006 3.05 0.05); }
+
+    obstacles
+    (
+        box { point (1.012   0.95    0.05  ); size (1.038  0.05   0.006); }
+        box { point (1.012   0.95    0.997 ); size (1.038  0.05   0.006); }
+        box { point (1.012   2.05    0.05  ); size (1.038  0.05   0.006); }
+        box { point (1.012   2.05    0.997 ); size (1.038  0.05   0.006); }
+        box { point (0.95    1.012   0.05  ); size (0.05   1.038  0.006); }
+        box { point (0.95    1.012   0.997 ); size (0.05   1.038  0.006); }
+        box { point (2.05    1.012   0.05  ); size (0.05   1.038  0.006); }
+        box { point (2.05    1.012   0.997 ); size (0.05   1.038  0.006); }
+
+        cyl { point (1.031   0.975   0.056); $zpipe; }
+        cyl { point (1.281   0.975   0.056); $zpipe; }
+        cyl { point (1.531   0.975   0.056); $zpipe; }
+        cyl { point (1.781   0.975   0.056); $zpipe; }
+        cyl { point (2.031   0.975   0.056); $zpipe; }
+        cyl { point (1.031   2.075   0.056); $zpipe; }
+        cyl { point (1.281   2.075   0.056); $zpipe; }
+        cyl { point (1.531   2.075   0.056); $zpipe; }
+        cyl { point (1.781   2.075   0.056); $zpipe; }
+        cyl { point (2.031   2.075   0.056); $zpipe; }
+        cyl { point (0.975   1.031   0.056); $zpipe; }
+        cyl { point (0.975   1.281   0.056); $zpipe; }
+        cyl { point (0.975   1.531   0.056); $zpipe; }
+        cyl { point (0.975   1.781   0.056); $zpipe; }
+        cyl { point (0.975   2.031   0.056); $zpipe; }
+        cyl { point (2.075   1.031   0.056); $zpipe; }
+        cyl { point (2.075   1.281   0.056); $zpipe; }
+        cyl { point (2.075   1.531   0.056); $zpipe; }
+        cyl { point (2.075   1.781   0.056); $zpipe; }
+        cyl { point (2.075   2.031   0.056); $zpipe; }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group14 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group14
new file mode 100644
index 0000000000000000000000000000000000000000..b49e826db50952f40e6aee36185e0ea12b19281f
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group14
@@ -0,0 +1,81 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_14
+{
+    groupId 14;
+    xpipe { direction x; length 0.947; diameter 0.026; }
+    box1  { size (0.006 3.05 0.05); }
+
+    locations
+    (
+        (0 0 0.15)
+        (0 0 0.45)
+    );
+
+    obstacles
+    (
+        box { point (0.05    0       1.05 ); $box1; }
+        box { point (0.997   0       1.05 ); $box1; }
+        box { point (1.05    0       1.05 ); $box1; }
+        box { point (1.997   0       1.05 ); $box1; }
+        box { point (2.05    0       1.05 ); $box1; }
+        box { point (2.997   0       1.05 ); $box1; }
+        cyl { point (0.05    0.025   1.075); $xpipe; }
+        cyl { point (0.05    0.275   1.075); $xpipe; }
+        cyl { point (0.05    0.525   1.075); $xpipe; }
+        cyl { point (0.05    0.775   1.075); $xpipe; }
+        cyl { point (0.05    1.025   1.075); $xpipe; }
+        cyl { point (0.05    1.275   1.075); $xpipe; }
+        cyl { point (0.05    1.525   1.075); $xpipe; }
+        cyl { point (0.05    1.775   1.075); $xpipe; }
+        cyl { point (0.05    2.025   1.075); $xpipe; }
+        cyl { point (0.05    2.275   1.075); $xpipe; }
+        cyl { point (0.05    2.525   1.075); $xpipe; }
+        cyl { point (0.05    2.775   1.075); $xpipe; }
+        cyl { point (0.05    3.025   1.075); $xpipe; }
+        cyl { point (1.05    0.025   1.075); $xpipe; }
+        cyl { point (1.05    0.275   1.075); $xpipe; }
+        cyl { point (1.05    0.525   1.075); $xpipe; }
+        cyl { point (1.05    0.775   1.075); $xpipe; }
+        cyl { point (1.05    1.025   1.075); $xpipe; }
+        cyl { point (1.05    1.275   1.075); $xpipe; }
+        cyl { point (1.05    1.525   1.075); $xpipe; }
+        cyl { point (1.05    1.775   1.075); $xpipe; }
+        cyl { point (1.05    2.025   1.075); $xpipe; }
+        cyl { point (1.05    2.275   1.075); $xpipe; }
+        cyl { point (1.05    2.525   1.075); $xpipe; }
+        cyl { point (1.05    2.775   1.075); $xpipe; }
+        cyl { point (1.05    3.025   1.075); $xpipe; }
+        cyl { point (2.05    0.025   1.075); $xpipe; }
+        cyl { point (2.05    0.275   1.075); $xpipe; }
+        cyl { point (2.05    0.525   1.075); $xpipe; }
+        cyl { point (2.05    0.775   1.075); $xpipe; }
+        cyl { point (2.05    1.025   1.075); $xpipe; }
+        cyl { point (2.05    1.275   1.075); $xpipe; }
+        cyl { point (2.05    1.525   1.075); $xpipe; }
+        cyl { point (2.05    1.775   1.075); $xpipe; }
+        cyl { point (2.05    2.025   1.075); $xpipe; }
+        cyl { point (2.05    2.275   1.075); $xpipe; }
+        cyl { point (2.05    2.525   1.075); $xpipe; }
+        cyl { point (2.05    2.775   1.075); $xpipe; }
+        cyl { point (2.05    3.025   1.075); $xpipe; }
+    );
+
+    #remove (pipe box1)
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group15 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group15
new file mode 100644
index 0000000000000000000000000000000000000000..7e9565deacbe25a37c692e8ba3c052d86d1edec9
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group15
@@ -0,0 +1,110 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_15
+{
+    groupId 15;
+
+    xpipe { direction x; length 0.947; diameter 0.026; }
+
+    obstacles
+    (
+        box { point (0.05    0 1.05); size (0.006 3.05 0.05); }
+        box { point (0.997   0 1.05); size (0.006 3.05 0.05); }
+        box { point (1.05    0 1.05); size (0.006 3.05 0.05); }
+        box { point (1.997   0 1.05); size (0.006 3.05 0.05); }
+        box { point (2.05    0 1.05); size (0.006 3.05 0.05); }
+        box { point (2.997   0 1.05); size (0.006 3.05 0.05); }
+
+        cyl { point (0.05    0.025   1.075); $xpipe; }
+        cyl { point (0.05    0.15    1.075); $xpipe; }
+        cyl { point (0.05    0.275   1.075); $xpipe; }
+        cyl { point (0.05    0.4     1.075); $xpipe; }
+        cyl { point (0.05    0.525   1.075); $xpipe; }
+        cyl { point (0.05    0.65    1.075); $xpipe; }
+        cyl { point (0.05    0.775   1.075); $xpipe; }
+        cyl { point (0.05    0.9     1.075); $xpipe; }
+        cyl { point (0.05    1.025   1.075); $xpipe; }
+        cyl { point (0.05    1.15    1.075); $xpipe; }
+        cyl { point (0.05    1.275   1.075); $xpipe; }
+        cyl { point (0.05    1.4     1.075); $xpipe; }
+        cyl { point (0.05    1.525   1.075); $xpipe; }
+        cyl { point (0.05    1.65    1.075); $xpipe; }
+        cyl { point (0.05    1.775   1.075); $xpipe; }
+        cyl { point (0.05    1.9     1.075); $xpipe; }
+        cyl { point (0.05    2.025   1.075); $xpipe; }
+        cyl { point (0.05    2.15    1.075); $xpipe; }
+        cyl { point (0.05    2.275   1.075); $xpipe; }
+        cyl { point (0.05    2.4     1.075); $xpipe; }
+        cyl { point (0.05    2.525   1.075); $xpipe; }
+        cyl { point (0.05    2.65    1.075); $xpipe; }
+        cyl { point (0.05    2.775   1.075); $xpipe; }
+        cyl { point (0.05    2.9     1.075); $xpipe; }
+        cyl { point (0.05    3.025   1.075); $xpipe; }
+        cyl { point (1.05    0.025   1.075); $xpipe; }
+        cyl { point (1.05    0.15    1.075); $xpipe; }
+        cyl { point (1.05    0.275   1.075); $xpipe; }
+        cyl { point (1.05    0.4     1.075); $xpipe; }
+        cyl { point (1.05    0.525   1.075); $xpipe; }
+        cyl { point (1.05    0.65    1.075); $xpipe; }
+        cyl { point (1.05    0.775   1.075); $xpipe; }
+        cyl { point (1.05    0.9     1.075); $xpipe; }
+        cyl { point (1.05    1.025   1.075); $xpipe; }
+        cyl { point (1.05    1.15    1.075); $xpipe; }
+        cyl { point (1.05    1.275   1.075); $xpipe; }
+        cyl { point (1.05    1.4     1.075); $xpipe; }
+        cyl { point (1.05    1.525   1.075); $xpipe; }
+        cyl { point (1.05    1.65    1.075); $xpipe; }
+        cyl { point (1.05    1.775   1.075); $xpipe; }
+        cyl { point (1.05    1.9     1.075); $xpipe; }
+        cyl { point (1.05    2.025   1.075); $xpipe; }
+        cyl { point (1.05    2.15    1.075); $xpipe; }
+        cyl { point (1.05    2.275   1.075); $xpipe; }
+        cyl { point (1.05    2.4     1.075); $xpipe; }
+        cyl { point (1.05    2.525   1.075); $xpipe; }
+        cyl { point (1.05    2.65    1.075); $xpipe; }
+        cyl { point (1.05    2.775   1.075); $xpipe; }
+        cyl { point (1.05    2.9     1.075); $xpipe; }
+        cyl { point (1.05    3.025   1.075); $xpipe; }
+        cyl { point (2.05    0.025   1.075); $xpipe; }
+        cyl { point (2.05    0.15    1.075); $xpipe; }
+        cyl { point (2.05    0.275   1.075); $xpipe; }
+        cyl { point (2.05    0.4     1.075); $xpipe; }
+        cyl { point (2.05    0.525   1.075); $xpipe; }
+        cyl { point (2.05    0.65    1.075); $xpipe; }
+        cyl { point (2.05    0.775   1.075); $xpipe; }
+        cyl { point (2.05    0.9     1.075); $xpipe; }
+        cyl { point (2.05    1.025   1.075); $xpipe; }
+        cyl { point (2.05    1.15    1.075); $xpipe; }
+        cyl { point (2.05    1.275   1.075); $xpipe; }
+        cyl { point (2.05    1.4     1.075); $xpipe; }
+        cyl { point (2.05    1.525   1.075); $xpipe; }
+        cyl { point (2.05    1.65    1.075); $xpipe; }
+        cyl { point (2.05    1.775   1.075); $xpipe; }
+        cyl { point (2.05    1.9     1.075); $xpipe; }
+        cyl { point (2.05    2.025   1.075); $xpipe; }
+        cyl { point (2.05    2.15    1.075); $xpipe; }
+        cyl { point (2.05    2.275   1.075); $xpipe; }
+        cyl { point (2.05    2.4     1.075); $xpipe; }
+        cyl { point (2.05    2.525   1.075); $xpipe; }
+        cyl { point (2.05    2.65    1.075); $xpipe; }
+        cyl { point (2.05    2.775   1.075); $xpipe; }
+        cyl { point (2.05    2.9     1.075); $xpipe; }
+        cyl { point (2.05    3.025   1.075); $xpipe; }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group17 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group17
new file mode 100644
index 0000000000000000000000000000000000000000..661b534e0be6e1c38848c535e4940a903cfba626
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group17
@@ -0,0 +1,80 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_17
+{
+    groupId 17;
+
+    locations
+    (
+        (0 0 0)
+        (0 0 0.30)
+    );
+
+    ypipe { direction y; length 0.947; diameter 0.026; }
+
+    obstacles
+    (
+        box { point (0       0.05    1.05); size (3.05 0.006 0.05); }
+        box { point (0       0.997   1.05); size (3.05 0.006 0.05); }
+        box { point (0       1.05    1.05); size (3.05 0.006 0.05); }
+        box { point (0       1.997   1.05); size (3.05 0.006 0.05); }
+        box { point (0       2.05    1.05); size (3.05 0.006 0.05); }
+        box { point (0       2.997   1.05); size (3.05 0.006 0.05); }
+
+        cyl { point (0.025   0.05    1.075); $ypipe; }
+        cyl { point (0.275   0.05    1.075); $ypipe; }
+        cyl { point (0.525   0.05    1.075); $ypipe; }
+        cyl { point (0.775   0.05    1.075); $ypipe; }
+        cyl { point (1.025   0.05    1.075); $ypipe; }
+        cyl { point (1.275   0.05    1.075); $ypipe; }
+        cyl { point (1.525   0.05    1.075); $ypipe; }
+        cyl { point (1.775   0.05    1.075); $ypipe; }
+        cyl { point (2.025   0.05    1.075); $ypipe; }
+        cyl { point (2.275   0.05    1.075); $ypipe; }
+        cyl { point (2.525   0.05    1.075); $ypipe; }
+        cyl { point (2.775   0.05    1.075); $ypipe; }
+        cyl { point (3.025   0.05    1.075); $ypipe; }
+        cyl { point (0.025   1.05    1.075); $ypipe; }
+        cyl { point (0.275   1.05    1.075); $ypipe; }
+        cyl { point (0.525   1.05    1.075); $ypipe; }
+        cyl { point (0.775   1.05    1.075); $ypipe; }
+        cyl { point (1.025   1.05    1.075); $ypipe; }
+        cyl { point (1.275   1.05    1.075); $ypipe; }
+        cyl { point (1.525   1.05    1.075); $ypipe; }
+        cyl { point (1.775   1.05    1.075); $ypipe; }
+        cyl { point (2.025   1.05    1.075); $ypipe; }
+        cyl { point (2.275   1.05    1.075); $ypipe; }
+        cyl { point (2.525   1.05    1.075); $ypipe; }
+        cyl { point (2.775   1.05    1.075); $ypipe; }
+        cyl { point (3.025   1.05    1.075); $ypipe; }
+        cyl { point (0.025   2.05    1.075); $ypipe; }
+        cyl { point (0.275   2.05    1.075); $ypipe; }
+        cyl { point (0.525   2.05    1.075); $ypipe; }
+        cyl { point (0.775   2.05    1.075); $ypipe; }
+        cyl { point (1.025   2.05    1.075); $ypipe; }
+        cyl { point (1.275   2.05    1.075); $ypipe; }
+        cyl { point (1.525   2.05    1.075); $ypipe; }
+        cyl { point (1.775   2.05    1.075); $ypipe; }
+        cyl { point (2.025   2.05    1.075); $ypipe; }
+        cyl { point (2.275   2.05    1.075); $ypipe; }
+        cyl { point (2.525   2.05    1.075); $ypipe; }
+        cyl { point (2.775   2.05    1.075); $ypipe; }
+        cyl { point (3.025   2.05    1.075); $ypipe; }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group21 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group21
new file mode 100644
index 0000000000000000000000000000000000000000..55896c2b56a69dbe7f8d82186ee67ac447e5090b
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group21
@@ -0,0 +1,61 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_21
+{
+    groupId 21;
+
+    zpipe { direction z; length 0.947; diameter 0.026; }
+
+    obstacles
+    (
+        box { point (0.831   0.8     0.05 ); size (1.338   0.05    0.006); }
+        box { point (0.831   0.8     0.997); size (1.338   0.05    0.006); }
+        box { point (0.8     0.831   0.05 ); size (0.05    1.338   0.006); }
+        box { point (0.8     0.831   0.997); size (0.05    1.338   0.006); }
+        box { point (0.831   2.2     0.05 ); size (1.338   0.05    0.006); }
+        box { point (0.831   2.2     0.997); size (1.338   0.05    0.006); }
+        box { point (2.2     0.831   0.05 ); size (0.05    1.338   0.006); }
+        box { point (2.2     0.831   0.997); size (0.05    1.338   0.006); }
+
+        cyl { point (0.875   0.825   0.056); $zpipe; }
+        cyl { point (1.125   0.825   0.056); $zpipe; }
+        cyl { point (1.375   0.825   0.056); $zpipe; }
+        cyl { point (1.625   0.825   0.056); $zpipe; }
+        cyl { point (1.875   0.825   0.056); $zpipe; }
+        cyl { point (2.125   0.825   0.056); $zpipe; }
+        cyl { point (0.875   2.225   0.056); $zpipe; }
+        cyl { point (1.125   2.225   0.056); $zpipe; }
+        cyl { point (1.375   2.225   0.056); $zpipe; }
+        cyl { point (1.625   2.225   0.056); $zpipe; }
+        cyl { point (1.875   2.225   0.056); $zpipe; }
+        cyl { point (2.125   2.225   0.056); $zpipe; }
+        cyl { point (0.825   0.875   0.056); $zpipe; }
+        cyl { point (0.825   1.125   0.056); $zpipe; }
+        cyl { point (0.825   1.375   0.056); $zpipe; }
+        cyl { point (0.825   1.625   0.056); $zpipe; }
+        cyl { point (0.825   1.875   0.056); $zpipe; }
+        cyl { point (0.825   2.125   0.056); $zpipe; }
+        cyl { point (2.225   0.875   0.056); $zpipe; }
+        cyl { point (2.225   1.125   0.056); $zpipe; }
+        cyl { point (2.225   1.375   0.056); $zpipe; }
+        cyl { point (2.225   1.625   0.056); $zpipe; }
+        cyl { point (2.225   1.875   0.056); $zpipe; }
+        cyl { point (2.225   2.125   0.056); $zpipe; }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group31 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group31
new file mode 100644
index 0000000000000000000000000000000000000000..34773281b42c5212ac33764f23efa82d0808ff85
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group31
@@ -0,0 +1,65 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_31
+{
+    groupId 31;
+
+    zpipe { direction z; length 0.947; diameter 0.026; }
+
+    obstacles
+    (
+        box { point (0.681   0.65    0.05 ); size (1.638   0.05    0.006); }
+        box { point (0.681   0.65    0.997); size (1.638   0.05    0.006); }
+        box { point (0.681   2.35    0.05 ); size (1.638   0.05    0.006); }
+        box { point (0.681   2.35    0.997); size (1.638   0.05    0.006); }
+        box { point (0.65    0.681   0.05 ); size (0.05    1.638   0.006); }
+        box { point (0.65    0.681   0.997); size (0.05    1.638   0.006); }
+        box { point (2.35    0.681   0.05 ); size (0.05    1.638   0.006); }
+        box { point (2.35    0.681   0.997); size (0.05    1.638   0.006); }
+
+        cyl { point (0.75    0.675   0.056); $zpipe; }
+        cyl { point (1       0.675   0.056); $zpipe; }
+        cyl { point (1.25    0.675   0.056); $zpipe; }
+        cyl { point (1.5     0.675   0.056); $zpipe; }
+        cyl { point (1.75    0.675   0.056); $zpipe; }
+        cyl { point (2       0.675   0.056); $zpipe; }
+        cyl { point (2.25    0.675   0.056); $zpipe; }
+        cyl { point (0.75    2.375   0.056); $zpipe; }
+        cyl { point (1       2.375   0.056); $zpipe; }
+        cyl { point (1.25    2.375   0.056); $zpipe; }
+        cyl { point (1.5     2.375   0.056); $zpipe; }
+        cyl { point (1.75    2.375   0.056); $zpipe; }
+        cyl { point (2       2.375   0.056); $zpipe; }
+        cyl { point (2.25    2.375   0.056); $zpipe; }
+        cyl { point (0.675   0.75    0.056); $zpipe; }
+        cyl { point (0.675   1       0.056); $zpipe; }
+        cyl { point (0.675   1.25    0.056); $zpipe; }
+        cyl { point (0.675   1.5     0.056); $zpipe; }
+        cyl { point (0.675   1.75    0.056); $zpipe; }
+        cyl { point (0.675   2       0.056); $zpipe; }
+        cyl { point (0.675   2.25    0.056); $zpipe; }
+        cyl { point (2.375   0.75    0.056); $zpipe; }
+        cyl { point (2.375   1       0.056); $zpipe; }
+        cyl { point (2.375   1.25    0.056); $zpipe; }
+        cyl { point (2.375   1.5     0.056); $zpipe; }
+        cyl { point (2.375   1.75    0.056); $zpipe; }
+        cyl { point (2.375   2       0.056); $zpipe; }
+        cyl { point (2.375   2.25    0.056); $zpipe; }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group41 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group41
new file mode 100644
index 0000000000000000000000000000000000000000..b97404e028faa4eb8fc9a051a1ed94525071cace
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/groups/group41
@@ -0,0 +1,69 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+_41
+{
+    groupId 41;
+
+    zpipe { direction z; length 0.947; diameter 0.026; }
+
+    obstacles
+    (
+        box { point (0.531   0.5     0.05 ); size (1.938   0.05    0.006); }
+        box { point (0.531   0.5     0.997); size (1.938   0.05    0.006); }
+        box { point (0.531   2.5     0.05 ); size (1.938   0.05    0.006); }
+        box { point (0.531   2.5     0.997); size (1.938   0.05    0.006); }
+        box { point (0.5     0.531   0.05 ); size (0.05    1.938   0.006); }
+        box { point (0.5     0.531   0.997); size (0.05    1.938   0.006); }
+        box { point (2.5     0.531   0.05 ); size (0.05    1.938   0.006); }
+        box { point (2.5     0.531   0.997); size (0.05    1.938   0.006); }
+
+        cyl { point (0.625   0.525   0.056); $zpipe; }
+        cyl { point (0.875   0.525   0.056); $zpipe; }
+        cyl { point (1.125   0.525   0.056); $zpipe; }
+        cyl { point (1.375   0.525   0.056); $zpipe; }
+        cyl { point (1.625   0.525   0.056); $zpipe; }
+        cyl { point (1.875   0.525   0.056); $zpipe; }
+        cyl { point (2.125   0.525   0.056); $zpipe; }
+        cyl { point (2.375   0.525   0.056); $zpipe; }
+        cyl { point (0.625   2.525   0.056); $zpipe; }
+        cyl { point (0.875   2.525   0.056); $zpipe; }
+        cyl { point (1.125   2.525   0.056); $zpipe; }
+        cyl { point (1.375   2.525   0.056); $zpipe; }
+        cyl { point (1.625   2.525   0.056); $zpipe; }
+        cyl { point (1.875   2.525   0.056); $zpipe; }
+        cyl { point (2.125   2.525   0.056); $zpipe; }
+        cyl { point (2.375   2.525   0.056); $zpipe; }
+        cyl { point (0.525   0.625   0.056); $zpipe; }
+        cyl { point (0.525   0.875   0.056); $zpipe; }
+        cyl { point (0.525   1.125   0.056); $zpipe; }
+        cyl { point (0.525   1.375   0.056); $zpipe; }
+        cyl { point (0.525   1.625   0.056); $zpipe; }
+        cyl { point (0.525   1.875   0.056); $zpipe; }
+        cyl { point (0.525   2.125   0.056); $zpipe; }
+        cyl { point (0.525   2.375   0.056); $zpipe; }
+        cyl { point (2.525   0.625   0.056); $zpipe; }
+        cyl { point (2.525   0.875   0.056); $zpipe; }
+        cyl { point (2.525   1.125   0.056); $zpipe; }
+        cyl { point (2.525   1.375   0.056); $zpipe; }
+        cyl { point (2.525   1.625   0.056); $zpipe; }
+        cyl { point (2.525   1.875   0.056); $zpipe; }
+        cyl { point (2.525   2.125   0.056); $zpipe; }
+        cyl { point (2.525   2.375   0.056); $zpipe; }
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/obstaclesDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/obstaclesDict
new file mode 100644
index 0000000000000000000000000000000000000000..d754d0dc2a2d917d159c23a3a4df92978309ba8e
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/geometry/obstaclesDict
@@ -0,0 +1,30 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      obstaclesDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale   1.0;
+
+verbose 0;
+
+#include "groups/group01"
+#include "groups/group11"
+#include "groups/group14"
+#include "groups/group15"
+#include "groups/group17"
+#include "groups/group21"
+#include "groups/group31"
+#include "groups/group41"
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/PDRblockMeshDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/PDRblockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..16ddb4db71a7c8488c37b1992da0be6cff1361a9
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/PDRblockMeshDict
@@ -0,0 +1,77 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      PDRblockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale   1.0;
+
+x
+{
+    points  ( -11.87 0.03 1.03 2.03 3.05 15.32 );
+    nCells  ( 14 5 5 5 14 );
+    ratios  ( 0.0887187064230887 1 1 1.04060401 10.6993205379072 );
+}
+
+y
+{
+    points  ( -11.64 0.04 1.03 2.03 3.05 15.31 );
+    nCells  ( 14 5 5 5 14 );
+    ratios  ( 0.0887187064230887 1 1 1.04060401 10.6993205379072 );
+}
+
+z
+{
+    points  ( 0 1.02 2.05 14.19 );
+    nCells  ( 5 5 14 );
+    ratios  ( 1 1 10.6993205379072 );
+}
+
+// Or could use defaultFaces = outer instead
+defaultPatch
+{
+    name    defaultFaces;
+    type    wall;
+}
+
+// Faces: 0 = xmin, 1 = xmax, 2 = ymin, 3 = ymax, 4 = zmin, 5 = zmax
+
+boundary
+(
+    // Or with defaultFaces = outer
+    outer
+    {
+        type    patch;
+        faces   ( 0 1 2 3 5 );
+    }
+
+    mergingFaces
+    {
+        type    wall;
+        faces   ();
+    }
+
+    blockedFaces
+    {
+        type    wall;
+        faces   ();
+    }
+
+    wallFaces
+    {
+        type    wall;
+        faces   ( 4 );
+    }
+);
+
+//***************************************************************************//
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/PDRsetFieldsDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/PDRsetFieldsDict
new file mode 100644
index 0000000000000000000000000000000000000000..b7b56e52d492a000f72c04ca1e50aa619a7ab420
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/PDRsetFieldsDict
@@ -0,0 +1,38 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      PDRsetFieldsDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// Data dictionary for PDRsetFields
+
+// Replace by the relevant names
+
+obsFileDir      "<case>/geometry";
+
+obsFileNames    (obstaclesDict);
+
+// legacyObsSpec   true;
+//
+// obsFileNames    (position.obs base.obs);
+
+// Some parameters for PDRfitMesh are read from this file, including
+
+cellWidth       0.22;
+
+outer           (20 0);
+
+outerCombFac    0;
+
+sea_ground      0.0;
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/controlDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/controlDict
new file mode 100644
index 0000000000000000000000000000000000000000..15bb4b8c04d36097a1dd4f8ae8bf1e87cf4ee97e
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/controlDict
@@ -0,0 +1,58 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     PDRFoam;
+
+startFrom       latestTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         0.3;
+
+deltaT          5e-06;
+
+writeControl    runTime;
+
+writeInterval   0.01;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  8;
+
+writeCompression off;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable yes;
+
+adjustTimeStep  yes;
+
+maxCo           0.3;
+
+maxDeltaT       1;
+
+functions
+{
+    #include "probes"
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/createPatchDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/createPatchDict
new file mode 100644
index 0000000000000000000000000000000000000000..3ef842fce868b315d08e4bdf93f81d9c5eb4ce84
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/createPatchDict
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      createPatchDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+pointSync   false;
+
+// Patches to create
+patches
+(
+    {
+        //- Master side patch
+        name            inner_outer;
+        patchInfo
+        {
+            type            cyclicAMI;
+            matchTolerance  0.0001;
+            neighbourPatch  AMI2;
+            transform       noOrdering;
+        }
+        constructFrom patches;
+        patches (inner_outer);
+    }
+
+    {
+        //- Slave side patch
+        name            outer_inner;
+        patchInfo
+        {
+            type            cyclicAMI;
+            matchTolerance  0.0001;
+            neighbourPatch  AMI1;
+            transform       noOrdering;
+        }
+        constructFrom patches;
+        patches (outer_inner);
+    }
+);
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/decomposeParDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/decomposeParDict
new file mode 100644
index 0000000000000000000000000000000000000000..5042fea2a26fd51ce112976f04bef76d2352f9c8
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/decomposeParDict
@@ -0,0 +1,26 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      decompositionDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberOfSubdomains  4;
+
+method  simple;
+
+coeffs
+{
+    n  (2 2 1);
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/fvSchemes b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/fvSchemes
new file mode 100644
index 0000000000000000000000000000000000000000..2d812d9e2271e691cc1845233b65d7c235f2e39c
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/fvSchemes
@@ -0,0 +1,111 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         Euler;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+    grad(p)         Gauss linear;
+    grad(b)         Gauss pointLinear;
+}
+
+divSchemes
+{
+    default         none;
+
+    div(phi,U)      Gauss limitedLinearV 1;
+    div(phiU,p)     Gauss limitedLinear 1;
+    div(phid,p)     Gauss limitedLinear 1;
+    div(phi,k)      Gauss limitedLinear 1;
+    div(phi,epsilon) Gauss limitedLinear 1;
+
+    div(phiXi,Xi)   Gauss limitedLinear 1;
+    div(phiXi,Xp)   Gauss limitedLinear 1;
+
+    div(phi,Ep)   Gauss limitedLinear 1;
+    div(phi,Xp)   Gauss limitedLinear 1;
+
+    div(phiXi,GRxp)   Gauss limitedLinear 1;
+    div(phiXi,GRep)   Gauss limitedLinear 1;
+    div(phiXi,Ep)   Gauss limitedLinear 1;
+    div(phiSt,b)    Gauss limitedLinear 1;
+
+    div(phi,K)      Gauss limitedLinear 1;
+
+    div(phi,ft_b_ha_hau_H2OPS_Y) Gauss multivariateSelection
+    {
+        ft              limitedLinear01 1;
+        b               limitedLinear01 1;
+        Xi              limitedLinear 1;
+        Xp              limitedLinear 1;
+        Ep              limitedLinear 1;
+        h               limitedLinear 1;
+        hu              limitedLinear 1;
+        ha              limitedLinear 1;
+        hau             limitedLinear 1;
+        H2OPS           limitedLinear 1;
+        water           limitedLinear 1;
+        Y               limitedLinear 1;
+        AIR             limitedLinear 1;
+    }
+
+    div(phi,ft_b_h_hu) Gauss multivariateSelection
+    {
+        ft              limitedLinear01 1;
+        b               limitedLinear01 1;
+        Xi              limitedLinear 1;
+        Xp              limitedLinear 1;
+        Ep              limitedLinear 1;
+        h               limitedLinear 1;
+        hu              limitedLinear 1;
+        ha              limitedLinear 1;
+        hau             limitedLinear 1;
+    }
+
+    div((Su*grad(b)))                   Gauss linear;
+    div((U+((Su*Xi)*grad(b))))          Gauss linear;
+    div((muEff*dev2(T(grad(U)))))       Gauss linear;
+    div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
+
+    div(Ud)                             Gauss linear;
+}
+
+laplacianSchemes
+{
+    default         Gauss linear uncorrected;
+}
+
+interpolationSchemes
+{
+    default         linear;
+}
+
+snGradSchemes
+{
+    default         uncorrected;
+}
+
+fluxRequired
+{
+    default         no;
+    p;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/fvSolution b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/fvSolution
new file mode 100644
index 0000000000000000000000000000000000000000..7d0e81d6a1d5c16b6ad4826a98aca0b15b2b941c
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/fvSolution
@@ -0,0 +1,161 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    rho
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       1e-09;
+        relTol          0.0;
+    }
+
+    rhoFinal
+    {
+        $rho;
+    }
+
+    p
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-9;
+        relTol          0.01;
+    }
+
+    pFinal
+    {
+        $p;
+        relTol          0;
+    }
+
+    /*
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)"
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-09;
+        relTol          0.01;
+    }
+
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)Final"
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-09;
+        relTol          0;
+    }
+*/
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|h|hu|ha|hau|k|epsilon)"
+    {
+        solver          smoothSolver;
+        smoother        GaussSeidel;
+        tolerance       1e-09;
+        relTol          0.05;
+     }
+    "(b|Xi|Xp|Ep|GRxp|GRep|ft|h|hu|ha|hau|k|epsilon)Final"
+    {
+        solver          smoothSolver;
+        smoother        GaussSeidel;
+        tolerance       1e-09;
+        relTol          0.0;
+    }
+}
+
+PIMPLE
+{
+    nCorrectors         1;
+    nOuterCorrectors    10;
+    nNonOrthogonalCorrectors 3;
+    momentumPredictor   true;
+    transonic           true;
+
+    residualControl
+    {
+        b
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        p
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Xi
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Xp
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        Ep
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        ft
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        h
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        hu
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        k
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        epsilon
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+        U
+        {
+            tolerance   1e-5;
+            relTol      0;
+        }
+    }
+}
+
+relaxationFactors
+{
+    fields
+    {
+    }
+    equations
+    {
+        U       0.9;
+        UFinal  1.0;
+        "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)" 0.9;
+        "(b|Xi|Xp|Ep|GRxp|GRep|ft|ha|hau|k|epsilon|H2OPS)Final" 1.0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/mapFieldsDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/mapFieldsDict
new file mode 100644
index 0000000000000000000000000000000000000000..a0f9e8e516deb4036e637faccc4c7db42b6348f7
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/mapFieldsDict
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      mapFieldsDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+patchMap        ( );
+
+cuttingPatches  ( );
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/probes b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/probes
new file mode 100644
index 0000000000000000000000000000000000000000..20eeefe3783c5432715e47f784d560fb2165210f
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/probes
@@ -0,0 +1,71 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      probes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+probes
+{
+    name    probes;
+    type    probes;
+
+    libs    ("libsampling.so");
+
+    writeControl   timeStep;
+    writeInterval  1;
+
+    probeLocations
+    (
+        (1.5125 1.5125 0.5)
+        (1.6000 1.5125 0.5)
+        (1.7000 1.5125 0.5)
+        (1.8000 1.5125 0.5)
+        (1.9000 1.5125 0.5)
+        (2.0000 1.5125 0.5)
+        (2.1000 1.5125 0.5)
+        (2.2000 1.5125 0.5)
+        (2.3000 1.5125 0.5)
+        (2.4000 1.5125 0.5)
+        (2.5000 1.5125 0.5)
+        (2.6000 1.5125 0.5)
+        (2.7000 1.5125 0.5)
+        (2.8000 1.5125 0.5)
+        (2.9000 1.5125 0.5)
+        (3.0000 1.5125 0.5)
+        (3.2000 1.5125 0.5)
+        (3.4000 1.5125 0.5)
+        (3.6000 1.5125 0.5)
+        (3.8000 1.5125 0.5)
+        (4.0000 1.5125 0.5)
+        (4.3000 1.5125 0.5)
+        (4.6000 1.5125 0.5)
+        (5.0000 1.5125 0.5)
+    );
+
+    fields
+    (
+        p
+        b
+        epsilon
+        ft
+        k
+        rho
+        St
+        Su
+        T
+        U
+        Xi
+    );
+}
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/refineMeshDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/refineMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..5fe7bd44fbe24c72c304ceb40ec1ab564bfae34d
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/refineMeshDict
@@ -0,0 +1,64 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      refineMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+// Cells to refine; name of 'cellSet'
+set             c0;
+
+// Type of coordinate system:
+// - global : coordinate system same for every cell. Usually aligned with
+//   x,y,z axis. Specify in globalCoeffs section below.
+// - patchLocal : coordinate system different for every cell. Specify in
+//   patchLocalCoeffs section below.
+coordinateSystem global;
+
+// Specifies 2 directions by a name and a vector. The normal direction is
+// calculated as tan1^tan2
+globalCoeffs
+{
+    tan1            ( 1 0 0 );
+    tan2            ( 0 1 0 );
+}
+
+patchLocalCoeffs
+{
+    // Normal direction is face normal of zero'th face of patch
+    patch           outside;
+    tan1            ( 1 0 0 );
+    tan2            ( 0 0 1 );
+}
+
+// Specifies the direction to be refined by the name used above
+// To refine in the third direction, use the keyword 'normal'
+directions
+(
+    tan1
+    tan2
+    normal
+);
+
+// Whether to use hex topology. This will
+// - if patchLocal: all cells on selected patch should be hex
+// - split all hexes in 2x2x2 through the middle of edges.
+useHexTopology  yes;
+
+// Cut purely geometric (will cut hexes through vertices) or take
+// topology into account. Incompatible with 'useHexTopology'
+geometricCut    no;
+
+// Write meshes from intermediate steps
+writeMesh       no;
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/setFieldsDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/setFieldsDict
new file mode 100644
index 0000000000000000000000000000000000000000..36595b78cce214eabed27d0374fa87e334448e34
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/setFieldsDict
@@ -0,0 +1,38 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      setFieldsDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+defaultFieldValues
+(
+    volScalarFieldValue p       100000
+    volScalarFieldValue T       287
+    volScalarFieldValue Tu      287
+    volScalarFieldValue ft      0
+);
+
+regions
+(
+    boxToCell
+    {
+        box    (0 0 0) (3.0 3.0 2.0);
+
+        fieldValues
+        (
+            volScalarFieldValue ft 0.0659567323835564
+        );
+    }
+);
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/setFieldsDict1 b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/setFieldsDict1
new file mode 100644
index 0000000000000000000000000000000000000000..9f342fbbe59bf86ed6ea82a6b9aa08749380f6f9
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/setFieldsDict1
@@ -0,0 +1,48 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      setFieldsDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+defaultFieldValues
+(
+);
+
+regions
+(
+    boxToCell
+    {
+        box     (0 0 0) (1 1 1);
+
+        fieldValues
+        (
+            volScalarFieldValue betav 1.0
+            volScalarFieldValue Ep  0.0
+            volScalarFieldValue Lobs  0.1
+            volScalarFieldValue GRep 0.0
+            volScalarFieldValue Xi 1.0
+            volScalarFieldValue Xp 1.0
+            volScalarFieldValue GRxp 0.0
+            volScalarFieldValue Aw 0.0
+            volScalarFieldValue Nv 0.0
+            volSymmTensorFieldValue betai (1 0 0 1 0 1)
+            volSymmTensorFieldValue Blong (0 0 0 0 0 0)
+            volSymmTensorFieldValue Bv (0 0 0 0 0 0)
+            volSymmTensorFieldValue CR (0 0 0 0 0 0)
+            volSymmTensorFieldValue CT (0 0 0 0 0 0)
+            volSymmTensorFieldValue nsv (0 0 0 0 0 0)
+        );
+    }
+);
+
+// ************************************************************************* //
diff --git a/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/topoSetDict b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/topoSetDict
new file mode 100644
index 0000000000000000000000000000000000000000..eb7e519d4f56ebc9ea1c6c4dff9efceec915d9c3
--- /dev/null
+++ b/tutorials/preProcessing/PDRsetFields/simplePipeCage/system/topoSetDict
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v1912                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      topoSetDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+actions
+(
+    {
+        name    c0;
+        type    cellSet;
+        action  new;
+        source  boxToCell;
+        box     (1.505 1.505 0.4845) (1.555 1.555 0.5355);
+    }
+);
+
+// ************************************************************************* //