From eefaf72069f0fc95547e46f26e594423c755e40c Mon Sep 17 00:00:00 2001
From: graham <g.macpherson@opencfd.co.uk>
Date: Thu, 18 Jun 2009 14:52:31 +0100
Subject: [PATCH] Added four dsmc tutorials and run/clean scripts.

---
 .../dsmc/freeSpacePeriodic/0/boundaryT        |  39 +++++
 .../dsmc/freeSpacePeriodic/0/boundaryU        |  39 +++++
 .../dsmc/freeSpacePeriodic/0/dsmcRhoN         |  39 +++++
 .../dsmc/freeSpacePeriodic/0/fD               |  39 +++++
 .../dsmc/freeSpacePeriodic/0/iDof             |  39 +++++
 .../dsmc/freeSpacePeriodic/0/internalE        |  39 +++++
 .../dsmc/freeSpacePeriodic/0/linearKE         |  39 +++++
 .../dsmc/freeSpacePeriodic/0/momentum         |  39 +++++
 .../dsmc/freeSpacePeriodic/0/q                |  39 +++++
 .../dsmc/freeSpacePeriodic/0/rhoM             |  39 +++++
 .../dsmc/freeSpacePeriodic/0/rhoN             |  39 +++++
 .../dsmc/freeSpacePeriodic/Allclean           |   7 +
 .../dsmc/freeSpacePeriodic/Allrun             |   7 +
 .../freeSpacePeriodic/constant/dsmcProperties |  77 ++++++++++
 .../constant/polyMesh/blockMeshDict           |  73 +++++++++
 .../constant/polyMesh/boundary                |  43 ++++++
 .../dsmc/freeSpacePeriodic/system/controlDict | 124 ++++++++++++++++
 .../freeSpacePeriodic/system/decomposeParDict |  50 +++++++
 .../system/dsmcInitialiseDict                 |  29 ++++
 .../dsmc/freeSpacePeriodic/system/fvSchemes   |  54 +++++++
 .../dsmc/freeSpacePeriodic/system/fvSolution  |  22 +++
 .../dsmc/freeSpaceStream/0/boundaryT          |  42 ++++++
 .../dsmc/freeSpaceStream/0/boundaryU          |  42 ++++++
 .../dsmc/freeSpaceStream/0/dsmcRhoN           |  39 +++++
 .../discreteMethods/dsmc/freeSpaceStream/0/fD |  39 +++++
 .../dsmc/freeSpaceStream/0/iDof               |  39 +++++
 .../dsmc/freeSpaceStream/0/internalE          |  39 +++++
 .../dsmc/freeSpaceStream/0/interpolaterhoN    |  42 ++++++
 .../dsmc/freeSpaceStream/0/linearKE           |  39 +++++
 .../dsmc/freeSpaceStream/0/momentum           |  39 +++++
 .../discreteMethods/dsmc/freeSpaceStream/0/q  |  39 +++++
 .../dsmc/freeSpaceStream/0/rhoM               |  39 +++++
 .../dsmc/freeSpaceStream/0/rhoN               |  39 +++++
 .../dsmc/freeSpaceStream/Allclean             |   7 +
 .../dsmc/freeSpaceStream/Allrun               |   7 +
 .../freeSpaceStream/constant/dsmcProperties   |  87 +++++++++++
 .../constant/polyMesh/blockMeshDict           |  73 +++++++++
 .../constant/polyMesh/boundary                |  40 +++++
 .../dsmc/freeSpaceStream/system/controlDict   | 124 ++++++++++++++++
 .../freeSpaceStream/system/decomposeParDict   |  50 +++++++
 .../freeSpaceStream/system/dsmcInitialiseDict |  29 ++++
 .../dsmc/freeSpaceStream/system/fvSchemes     |  54 +++++++
 .../dsmc/freeSpaceStream/system/fvSolution    |  22 +++
 .../dsmc/supersonicCorner/0/boundaryT         |  41 ++++++
 .../dsmc/supersonicCorner/0/boundaryU         |  41 ++++++
 .../dsmc/supersonicCorner/0/dsmcRhoN          |  39 +++++
 .../dsmc/supersonicCorner/0/fD                |  41 ++++++
 .../dsmc/supersonicCorner/0/iDof              |  40 +++++
 .../dsmc/supersonicCorner/0/internalE         |  39 +++++
 .../dsmc/supersonicCorner/0/linearKE          |  39 +++++
 .../dsmc/supersonicCorner/0/momentum          |  40 +++++
 .../discreteMethods/dsmc/supersonicCorner/0/q |  42 ++++++
 .../dsmc/supersonicCorner/0/rhoM              |  39 +++++
 .../dsmc/supersonicCorner/0/rhoN              |  39 +++++
 .../dsmc/supersonicCorner/Allclean            |   9 ++
 .../dsmc/supersonicCorner/Allrun              |  11 ++
 .../supersonicCorner/constant/dsmcProperties  |  88 +++++++++++
 .../constant/polyMesh/blockMeshDict           |  83 +++++++++++
 .../constant/polyMesh/boundary                |  40 +++++
 .../dsmc/supersonicCorner/system/controlDict  | 124 ++++++++++++++++
 .../supersonicCorner/system/decomposeParDict  |  50 +++++++
 .../system/dsmcInitialiseDict                 |  28 ++++
 .../dsmc/supersonicCorner/system/fvSchemes    |  54 +++++++
 .../dsmc/supersonicCorner/system/fvSolution   |  22 +++
 .../dsmc/wedge15Ma5/0/boundaryT               |  42 ++++++
 .../dsmc/wedge15Ma5/0/boundaryU               |  41 ++++++
 .../dsmc/wedge15Ma5/0/dsmcRhoN                |  39 +++++
 .../discreteMethods/dsmc/wedge15Ma5/0/fD      |  40 +++++
 .../discreteMethods/dsmc/wedge15Ma5/0/iDof    |  39 +++++
 .../dsmc/wedge15Ma5/0/internalE               |  39 +++++
 .../dsmc/wedge15Ma5/0/linearKE                |  39 +++++
 .../dsmc/wedge15Ma5/0/momentum                |  39 +++++
 tutorials/discreteMethods/dsmc/wedge15Ma5/0/q |  40 +++++
 .../discreteMethods/dsmc/wedge15Ma5/0/rhoM    |  39 +++++
 .../discreteMethods/dsmc/wedge15Ma5/0/rhoN    |  39 +++++
 .../discreteMethods/dsmc/wedge15Ma5/Allclean  |  10 ++
 .../discreteMethods/dsmc/wedge15Ma5/Allrun    |  11 ++
 .../dsmc/wedge15Ma5/constant/dsmcProperties   |  89 +++++++++++
 .../constant/polyMesh/blockMeshDict           |  74 ++++++++++
 .../wedge15Ma5/constant/polyMesh/boundary     |  41 ++++++
 .../dsmc/wedge15Ma5/system/controlDict        | 139 ++++++++++++++++++
 .../dsmc/wedge15Ma5/system/decomposeParDict   |  50 +++++++
 .../dsmc/wedge15Ma5/system/dsmcInitialiseDict |  29 ++++
 .../dsmc/wedge15Ma5/system/fvSchemes          |  54 +++++++
 .../dsmc/wedge15Ma5/system/fvSolution         |  22 +++
 85 files changed, 3789 insertions(+)
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryT
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryU
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/dsmcRhoN
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/fD
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/iDof
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/internalE
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/linearKE
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/momentum
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/q
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoM
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoN
 create mode 100755 tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allclean
 create mode 100755 tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allrun
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/dsmcProperties
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/blockMeshDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/boundary
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/controlDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/decomposeParDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/dsmcInitialiseDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSchemes
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSolution
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryT
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryU
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/dsmcRhoN
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/fD
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/iDof
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/internalE
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/interpolaterhoN
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/linearKE
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/momentum
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/q
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoM
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoN
 create mode 100755 tutorials/discreteMethods/dsmc/freeSpaceStream/Allclean
 create mode 100755 tutorials/discreteMethods/dsmc/freeSpaceStream/Allrun
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/constant/dsmcProperties
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/blockMeshDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/boundary
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/system/controlDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/system/decomposeParDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/system/dsmcInitialiseDict
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSchemes
 create mode 100644 tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSolution
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryT
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryU
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/dsmcRhoN
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/fD
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/iDof
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/internalE
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/linearKE
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/momentum
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/q
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoM
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoN
 create mode 100755 tutorials/discreteMethods/dsmc/supersonicCorner/Allclean
 create mode 100755 tutorials/discreteMethods/dsmc/supersonicCorner/Allrun
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/constant/dsmcProperties
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/blockMeshDict
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/boundary
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/system/controlDict
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/system/decomposeParDict
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/system/dsmcInitialiseDict
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSchemes
 create mode 100644 tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSolution
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryT
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryU
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/dsmcRhoN
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/fD
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/iDof
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/internalE
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/linearKE
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/momentum
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/q
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoM
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoN
 create mode 100755 tutorials/discreteMethods/dsmc/wedge15Ma5/Allclean
 create mode 100755 tutorials/discreteMethods/dsmc/wedge15Ma5/Allrun
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/constant/dsmcProperties
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/blockMeshDict
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/boundary
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/system/controlDict
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/system/decomposeParDict
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/system/dsmcInitialiseDict
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSchemes
 create mode 100644 tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSolution

diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryT b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryT
new file mode 100644
index 00000000000..9afc2478275
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryT
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      boundaryT;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryU b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryU
new file mode 100644
index 00000000000..b7117eafbc8
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/boundaryU
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      boundaryU;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/dsmcRhoN
new file mode 100644
index 00000000000..e9eae893d48
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/dsmcRhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      dsmcRhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/fD b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/fD
new file mode 100644
index 00000000000..0ec2aa7410f
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/fD
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      fD;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/iDof b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/iDof
new file mode 100644
index 00000000000..626a947a110
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/iDof
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      iDof;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/internalE b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/internalE
new file mode 100644
index 00000000000..3dc30a0f2ec
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/internalE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      internalE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/linearKE b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/linearKE
new file mode 100644
index 00000000000..1d8b022dc9a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/linearKE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      linearKE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/momentum b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/momentum
new file mode 100644
index 00000000000..e35350692e7
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/momentum
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      momentum;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -2 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/q b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/q
new file mode 100644
index 00000000000..aae46273e98
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/q
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      q;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 0 -3 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoM b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoM
new file mode 100644
index 00000000000..8dc0b17f556
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoM
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoM;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoN b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoN
new file mode 100644
index 00000000000..038fd26de38
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/0/rhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    xPeriodic
+    {
+        type            cyclic;
+    }
+
+    yPeriodic
+    {
+        type            cyclic;
+    }
+
+    zPeriodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allclean b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allclean
new file mode 100755
index 00000000000..1cc972be26a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allclean
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Source tutorial clean functions
+. $WM_PROJECT_DIR/bin/tools/CleanFunctions
+
+cleanCase
+rm -rf 0/lagrangian 0/dsmcSigmaTcRMax
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allrun b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allrun
new file mode 100755
index 00000000000..3c61ac798ec
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/Allrun
@@ -0,0 +1,7 @@
+#!/bin/sh
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+runApplication blockMesh
+runApplication dsmcInitialise
+runApplication dsmcFoam
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/dsmcProperties
new file mode 100644
index 00000000000..395e69cbaa4
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/dsmcProperties
@@ -0,0 +1,77 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      dsmcProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+
+// General Properties
+// ~~~~~~~~~~~~~~~~~~
+
+nEquivalentParticles            1e12;
+
+
+// Wall Interaction Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+WallInteractionModel            SpecularReflection;
+
+SpecularReflectionCoeffs {}
+
+// Binary Collision Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+BinaryCollisionModel            LarsenBorgnakkeVariableHardSphere;
+
+LarsenBorgnakkeVariableHardSphereCoeffs
+{
+    Tref                        273;
+    relaxationCollisionNumber   5.0;
+}
+
+
+// Inflow Boundary Model
+// ~~~~~~~~~~~~~~~~~~~~~
+InflowBoundaryModel             NoInflow;
+
+NoInflowCoeffs {}
+
+// Molecular species
+// ~~~~~~~~~~~~~~~~~
+
+typeIdList                      (N2 O2);
+
+moleculeProperties
+{
+    N2
+    {
+        mass                            46.5e-27;
+        diameter                        4.17e-10;
+        internalDegreesOfFreedom        2;
+        viscosityCoefficient            1.656e-5;
+        omega                           0.74;
+    }
+
+    O2
+    {
+        mass                            53.12e-27;
+        diameter                        4.07e-10;
+        internalDegreesOfFreedom        2;
+        viscosityCoefficient            1.919e-5;
+        omega                           0.77;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/blockMeshDict
new file mode 100644
index 00000000000..fc32e203da6
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/blockMeshDict
@@ -0,0 +1,73 @@
+/*---------------------------------------------------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.3                                   |
+|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+FoamFile
+{
+    version         2.0;
+    format          ascii;
+
+    root            "";
+    case            "";
+    instance        "";
+    local           "";
+
+    class           dictionary;
+    object          blockMeshDict;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 0.01;
+
+vertices
+(
+    (-5 -4 -4)
+    (5 -4 -4)
+    (5 4 -4)
+    (-5 4 -4)
+    (-5 -4 4)
+    (5 -4 4)
+    (5 4 4)
+    (-5 4 4)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) (20 16 16) simpleGrading (1 1 1)
+);
+
+patches
+(
+    cyclic
+    xPeriodic
+    (
+        (1 2 6 5)
+        (0 4 7 3)
+    )
+
+    cyclic
+    yPeriodic
+    (
+        (2 3 7 6)
+        (0 1 5 4)
+    )
+
+    cyclic
+    zPeriodic
+    (
+        (4 5 6 7)
+        (0 3 2 1)
+    )
+)
+
+mergePatchPairs
+(
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/boundary
new file mode 100644
index 00000000000..1a6e0ae58a9
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/constant/polyMesh/boundary
@@ -0,0 +1,43 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       polyBoundaryMesh;
+    location    "constant/polyMesh";
+    object      boundary;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+3
+(
+    xPeriodic
+    {
+        type            cyclic;
+        nFaces          512;
+        startFace       14464;
+        featureCos      0.9;
+    }
+    yPeriodic
+    {
+        type            cyclic;
+        nFaces          640;
+        startFace       14976;
+        featureCos      0.9;
+    }
+    zPeriodic
+    {
+        type            cyclic;
+        nFaces          640;
+        startFace       15616;
+        featureCos      0.9;
+    }
+)
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/controlDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/controlDict
new file mode 100644
index 00000000000..2a3172775ad
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/controlDict
@@ -0,0 +1,124 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+startFrom       startTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         1e-3;
+
+deltaT          1e-6;
+
+writeControl    runTime;
+
+writeInterval   1e-4;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  10;
+
+writeCompression uncompressed;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable yes;
+
+adjustTimeStep  no;
+
+functions
+(
+    dsmcFields1
+    {
+        type dsmcFields;
+        enabled   on;
+        functionObjectLibs ( "libutilityFunctionObjects.so" );
+        outputControl     outputTime;
+    }
+    fieldAverage1
+    {
+        type fieldAverage;
+        functionObjectLibs ( "libfieldFunctionObjects.so" );
+        outputControl     outputTime;
+        resetOnOutput     off;
+        fields
+        (
+            rhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            rhoM
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            dsmcRhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            momentum
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            linearKE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            internalE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            iDof
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            q
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            fD
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/decomposeParDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/decomposeParDict
new file mode 100644
index 00000000000..77c30529ecf
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/decomposeParDict
@@ -0,0 +1,50 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      decomposeParDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberOfSubdomains 4;
+
+method          simple;
+
+simpleCoeffs
+{
+    n               ( 1 2 2 );
+    delta           0.001;
+}
+
+hierarchicalCoeffs
+{
+    n               ( 1 1 1 );
+    delta           0.001;
+    order           xyz;
+}
+
+metisCoeffs
+{
+    processorWeights ( 1 1 1 1 );
+}
+
+manualCoeffs
+{
+    dataFile        "";
+}
+
+distributed     no;
+
+roots           ( );
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/dsmcInitialiseDict
new file mode 100644
index 00000000000..c8ec236aa69
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/dsmcInitialiseDict
@@ -0,0 +1,29 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      dsmcInitialiseDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberDensities
+{
+    N2          0.777e20;
+    O2          0.223e20;
+};
+
+temperature     300;
+
+velocity        (1950 0 0);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSchemes b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSchemes
new file mode 100644
index 00000000000..42fda7921ca
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSchemes
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         none;
+}
+
+gradSchemes
+{
+    default         none;
+}
+
+divSchemes
+{
+    default         none;
+}
+
+laplacianSchemes
+{
+    default         none;
+}
+
+interpolationSchemes
+{
+    default         none;
+}
+
+snGradSchemes
+{
+    default         none;
+}
+
+fluxRequired
+{
+    default         no;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSolution b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSolution
new file mode 100644
index 00000000000..1e39435250f
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpacePeriodic/system/fvSolution
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryT b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryT
new file mode 100644
index 00000000000..6bc3a516f0d
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryT
@@ -0,0 +1,42 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      boundaryT;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            fixedValue;
+        value           uniform 300;
+    }
+
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 300;
+    }
+
+    sides
+    {
+        type            fixedValue;
+        value           uniform 300;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryU b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryU
new file mode 100644
index 00000000000..6da36fb365e
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/boundaryU
@@ -0,0 +1,42 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      boundaryU;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    outlet
+    {
+        type            fixedValue;
+        value           uniform (1325 -352 823);
+    }
+
+    inlet
+    {
+        type            fixedValue;
+        value           uniform (1325 -352 823);
+    }
+
+    sides
+    {
+        type            fixedValue;
+        value           uniform (1325 -352 823);
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/dsmcRhoN
new file mode 100644
index 00000000000..022a5f973f6
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/dsmcRhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      dsmcRhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/fD b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/fD
new file mode 100644
index 00000000000..e2da50d9a45
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/fD
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      fD;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/iDof b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/iDof
new file mode 100644
index 00000000000..00ba74788ac
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/iDof
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      iDof;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/internalE b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/internalE
new file mode 100644
index 00000000000..4408c91430a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/internalE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      internalE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/interpolaterhoN b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/interpolaterhoN
new file mode 100644
index 00000000000..a9fe596c433
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/interpolaterhoN
@@ -0,0 +1,42 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       surfaceScalarField;
+    location    "0";
+    object      interpolaterhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    inlet
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+    sides
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/linearKE b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/linearKE
new file mode 100644
index 00000000000..691ab915aee
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/linearKE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      linearKE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/momentum b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/momentum
new file mode 100644
index 00000000000..a3e4a449ae3
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/momentum
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      momentum;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -2 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/q b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/q
new file mode 100644
index 00000000000..5b4fcc23bf7
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/q
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      q;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 0 -3 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoM b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoM
new file mode 100644
index 00000000000..9f2443cdbb2
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoM
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoM;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoN b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoN
new file mode 100644
index 00000000000..e99d2742a30
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/0/rhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    sides
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/Allclean b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allclean
new file mode 100755
index 00000000000..1cc972be26a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allclean
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Source tutorial clean functions
+. $WM_PROJECT_DIR/bin/tools/CleanFunctions
+
+cleanCase
+rm -rf 0/lagrangian 0/dsmcSigmaTcRMax
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/Allrun b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allrun
new file mode 100755
index 00000000000..3c61ac798ec
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/Allrun
@@ -0,0 +1,7 @@
+#!/bin/sh
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+runApplication blockMesh
+runApplication dsmcInitialise
+runApplication dsmcFoam
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/dsmcProperties
new file mode 100644
index 00000000000..d4d67559c11
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/dsmcProperties
@@ -0,0 +1,87 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      dsmcProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+
+// General Properties
+// ~~~~~~~~~~~~~~~~~~
+
+nEquivalentParticles            1e12;
+
+
+// Wall Interaction Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+WallInteractionModel            MaxwellianThermal;
+
+MaxwellianThermalCoeffs {}
+
+
+// Binary Collision Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+BinaryCollisionModel            LarsenBorgnakkeVariableHardSphere;
+
+LarsenBorgnakkeVariableHardSphereCoeffs
+{
+    Tref                        273;
+    relaxationCollisionNumber   5.0;
+}
+
+
+// Inflow Boundary Model
+// ~~~~~~~~~~~~~~~~~~~~~
+
+InflowBoundaryModel             FreeStream;
+
+FreeStreamCoeffs
+{
+    numberDensities
+    {
+        N2      0.777e20;
+        O2      0.223e20;
+    };
+}
+
+
+// Molecular species
+// ~~~~~~~~~~~~~~~~~
+
+typeIdList                      (N2 O2);
+
+moleculeProperties
+{
+    N2
+    {
+        mass                            46.5e-27;
+        diameter                        4.17e-10;
+        internalDegreesOfFreedom        2;
+        viscosityCoefficient            1.656e-5;
+        omega                           0.74;
+    }
+
+    O2
+    {
+        mass                            53.12e-27;
+        diameter                        4.07e-10;
+        internalDegreesOfFreedom        2;
+        viscosityCoefficient            1.919e-5;
+        omega                           0.77;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/blockMeshDict
new file mode 100644
index 00000000000..9343042c389
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/blockMeshDict
@@ -0,0 +1,73 @@
+/*---------------------------------------------------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.3                                   |
+|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+FoamFile
+{
+    version         2.0;
+    format          ascii;
+
+    root            "";
+    case            "";
+    instance        "";
+    local           "";
+
+    class           dictionary;
+    object          blockMeshDict;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 0.01;
+
+vertices
+(
+    (-5 -4 -4)
+    (5 -4 -4)
+    (5 4 -4)
+    (-5 4 -4)
+    (-5 -4 4)
+    (5 -4 4)
+    (5 4 4)
+    (-5 4 4)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) (20 16 16) simpleGrading (1 1 1)
+);
+
+patches
+(
+    patch
+    outlet
+    (
+        (1 2 6 5)
+    )
+
+    patch
+    inlet
+    (
+        (0 4 7 3)
+    )
+
+    patch
+    sides
+    (
+        (2 3 7 6)
+        (0 1 5 4)
+        (4 5 6 7)
+        (0 3 2 1)
+    )
+)
+
+mergePatchPairs
+(
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/boundary
new file mode 100644
index 00000000000..502b052a7ff
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/constant/polyMesh/boundary
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       polyBoundaryMesh;
+    location    "constant/polyMesh";
+    object      boundary;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+3
+(
+    outlet
+    {
+        type            patch;
+        nFaces          256;
+        startFace       14464;
+    }
+    inlet
+    {
+        type            patch;
+        nFaces          256;
+        startFace       14720;
+    }
+    sides
+    {
+        type            patch;
+        nFaces          1280;
+        startFace       14976;
+    }
+)
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/controlDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/controlDict
new file mode 100644
index 00000000000..f123a030860
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/controlDict
@@ -0,0 +1,124 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+startFrom       startTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         2e-2;
+
+deltaT          1e-6;
+
+writeControl    runTime;
+
+writeInterval   1e-3;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  10;
+
+writeCompression uncompressed;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable yes;
+
+adjustTimeStep  no;
+
+functions
+(
+    dsmcFields1
+    {
+        type dsmcFields;
+        enabled   on;
+        functionObjectLibs ( "libutilityFunctionObjects.so" );
+        outputControl     outputTime;
+    }
+    fieldAverage1
+    {
+        type fieldAverage;
+        functionObjectLibs ( "libfieldFunctionObjects.so" );
+        outputControl     outputTime;
+        resetOnOutput     off;
+        fields
+        (
+            rhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            rhoM
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            dsmcRhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            momentum
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            linearKE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            internalE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            iDof
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            q
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            fD
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/decomposeParDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/decomposeParDict
new file mode 100644
index 00000000000..77c30529ecf
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/decomposeParDict
@@ -0,0 +1,50 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      decomposeParDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberOfSubdomains 4;
+
+method          simple;
+
+simpleCoeffs
+{
+    n               ( 1 2 2 );
+    delta           0.001;
+}
+
+hierarchicalCoeffs
+{
+    n               ( 1 1 1 );
+    delta           0.001;
+    order           xyz;
+}
+
+metisCoeffs
+{
+    processorWeights ( 1 1 1 1 );
+}
+
+manualCoeffs
+{
+    dataFile        "";
+}
+
+distributed     no;
+
+roots           ( );
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/dsmcInitialiseDict
new file mode 100644
index 00000000000..b5cc9342325
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/dsmcInitialiseDict
@@ -0,0 +1,29 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      dsmcInitialiseDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberDensities
+{
+    N2          0.777e20;
+    O2          0.223e20;
+};
+
+temperature     300;
+
+velocity        (1325 -352 823);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSchemes b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSchemes
new file mode 100644
index 00000000000..42fda7921ca
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSchemes
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         none;
+}
+
+gradSchemes
+{
+    default         none;
+}
+
+divSchemes
+{
+    default         none;
+}
+
+laplacianSchemes
+{
+    default         none;
+}
+
+interpolationSchemes
+{
+    default         none;
+}
+
+snGradSchemes
+{
+    default         none;
+}
+
+fluxRequired
+{
+    default         no;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSolution b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSolution
new file mode 100644
index 00000000000..1e39435250f
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/freeSpaceStream/system/fvSolution
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryT b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryT
new file mode 100644
index 00000000000..7b7fbd9188e
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryT
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      boundaryT;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            fixedValue;
+        value           uniform 300;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            fixedValue;
+        value           uniform 1000;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryU b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryU
new file mode 100644
index 00000000000..1c21f7372c5
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/boundaryU
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      boundaryU;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    flow
+    {
+        type            fixedValue;
+        value           uniform (1936 0 0);
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/supersonicCorner/0/dsmcRhoN
new file mode 100644
index 00000000000..21d83f0b9f6
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/dsmcRhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      dsmcRhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/fD b/tutorials/discreteMethods/dsmc/supersonicCorner/0/fD
new file mode 100644
index 00000000000..ae1df5d0114
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/fD
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      fD;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    flow
+    {
+        type            calculated;
+        value           uniform (0 0 0);
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            calculated;
+        value           uniform (0 0 0);
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/iDof b/tutorials/discreteMethods/dsmc/supersonicCorner/0/iDof
new file mode 100644
index 00000000000..50c9624edd4
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/iDof
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      iDof;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/internalE b/tutorials/discreteMethods/dsmc/supersonicCorner/0/internalE
new file mode 100644
index 00000000000..51f1e04d8b3
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/internalE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      internalE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/linearKE b/tutorials/discreteMethods/dsmc/supersonicCorner/0/linearKE
new file mode 100644
index 00000000000..765956b135c
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/linearKE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      linearKE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/momentum b/tutorials/discreteMethods/dsmc/supersonicCorner/0/momentum
new file mode 100644
index 00000000000..1899e2e7c66
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/momentum
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      momentum;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -2 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/q b/tutorials/discreteMethods/dsmc/supersonicCorner/0/q
new file mode 100644
index 00000000000..51c1b8cdec3
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/q
@@ -0,0 +1,42 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      q;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 0 -3 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            calculated;
+        value           uniform 0;
+
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoM b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoM
new file mode 100644
index 00000000000..7f2d427a479
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoM
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoM;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoN b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoN
new file mode 100644
index 00000000000..98ffe8ca1e7
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/0/rhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    entrance
+    {
+        type            symmetryPlane;
+    }
+
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/Allclean b/tutorials/discreteMethods/dsmc/supersonicCorner/Allclean
new file mode 100755
index 00000000000..5622060c8ee
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/Allclean
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Source tutorial clean functions
+. $WM_PROJECT_DIR/bin/tools/CleanFunctions
+
+cleanCase
+rm -rf 0/lagrangian 0/dsmcSigmaTcRMax
+rm -rf processor*
+rm -f system/machines
\ No newline at end of file
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/Allrun b/tutorials/discreteMethods/dsmc/supersonicCorner/Allrun
new file mode 100755
index 00000000000..402135df749
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/Allrun
@@ -0,0 +1,11 @@
+#!/bin/sh
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+runApplication blockMesh
+runApplication decomposePar
+runParallel dsmcInitialise 4 system/machines
+hostname > system/machines
+runParallel dsmcFoam 4 system/machines
+runApplication reconstructPar -noLagrangian
+
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/dsmcProperties
new file mode 100644
index 00000000000..2d950a4814d
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/dsmcProperties
@@ -0,0 +1,88 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      dsmcProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+
+// General Properties
+// ~~~~~~~~~~~~~~~~~~
+
+nEquivalentParticles            1.2e12;
+
+
+// Wall Interaction Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+//WallInteractionModel            SpecularReflection;
+WallInteractionModel            MaxwellianThermal;
+
+SpecularReflectionCoeffs {}
+
+MaxwellianThermalCoeffs {}
+
+
+// Binary Collision Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+//BinaryCollisionModel            VariableHardSphere;
+BinaryCollisionModel            LarsenBorgnakkeVariableHardSphere;
+
+VariableHardSphereCoeffs
+{
+    Tref        273;
+}
+
+LarsenBorgnakkeVariableHardSphereCoeffs
+{
+    Tref                        273;
+    relaxationCollisionNumber   5.0;
+}
+
+
+// Inflow Boundary Model
+// ~~~~~~~~~~~~~~~~~~~~~
+
+InflowBoundaryModel             FreeStream;
+//InflowBoundaryModel             NoInflow;
+
+NoInflowCoeffs {}
+
+FreeStreamCoeffs
+{
+    numberDensities
+    {
+        Ar      1.0e20;
+    };
+}
+
+
+// Molecular species
+// ~~~~~~~~~~~~~~~~~
+
+typeIdList                      (Ar);
+
+moleculeProperties
+{
+    Ar
+    {
+        mass                            66.3e-27;
+        diameter                        4.17e-10;
+        internalDegreesOfFreedom        0;
+        viscosityCoefficient            2.117e-5;
+        omega                           0.81;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/blockMeshDict
new file mode 100644
index 00000000000..6b9aa389277
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/blockMeshDict
@@ -0,0 +1,83 @@
+/*---------------------------------------------------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.3                                   |
+|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+FoamFile
+{
+    version         2.0;
+    format          ascii;
+
+    root            "";
+    case            "";
+    instance        "";
+    local           "";
+
+    class           dictionary;
+    object          blockMeshDict;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 0.01;
+
+vertices
+(
+    (0 0 0)
+    (5 0 0)
+    (5 18 0)
+    (0 18 0)
+    (0 0 18)
+    (5 0 18)
+    (5 18 18)
+    (0 18 18)
+    (30 0 0)
+    (30 18 0)
+    (30 0 18)
+    (30 18 18)
+
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) (10 36 36) simpleGrading (1 1 1)
+    hex (1 8 9 2 5 10 11 6) (50 36 36) simpleGrading (1 1 1)
+);
+
+patches
+(
+    patch
+    flow
+    (
+        (8 9 11 10)
+        (0 4 7 3)
+        (2 3 7 6)
+        (2 6 11 9)
+        (4 5 6 7)
+        (5 10 11 6)
+    )
+
+    symmetryPlane
+    entrance
+    (
+        (0 1 5 4)
+        (0 3 2 1)
+    )
+
+    wall
+    walls
+    (
+        (1 8 10 5)
+        (1 2 9 8)
+    )
+)
+
+mergePatchPairs
+(
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/boundary
new file mode 100644
index 00000000000..87ffe1fea34
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/constant/polyMesh/boundary
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       polyBoundaryMesh;
+    location    "constant/polyMesh";
+    object      boundary;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+3
+(
+    flow
+    {
+        type            patch;
+        nFaces          6912;
+        startFace       227664;
+    }
+    entrance
+    {
+        type            symmetryPlane;
+        nFaces          720;
+        startFace       234576;
+    }
+    walls
+    {
+        type            wall;
+        nFaces          3600;
+        startFace       235296;
+    }
+)
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/controlDict b/tutorials/discreteMethods/dsmc/supersonicCorner/system/controlDict
new file mode 100644
index 00000000000..2e92a436f3b
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/controlDict
@@ -0,0 +1,124 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+startFrom       startTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         0.025;
+
+deltaT          1e-6;
+
+writeControl    runTime;
+
+writeInterval   1e-3;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  10;
+
+writeCompression uncompressed;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable yes;
+
+adjustTimeStep  no;
+
+functions
+(
+    dsmcFields1
+    {
+        type dsmcFields;
+        enabled   on;
+        functionObjectLibs ( "libutilityFunctionObjects.so" );
+        outputControl     outputTime;
+    }
+    fieldAverage1
+    {
+        type fieldAverage;
+        functionObjectLibs ( "libfieldFunctionObjects.so" );
+        outputControl     outputTime;
+        resetOnOutput     off;
+        fields
+        (
+            rhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            rhoM
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            dsmcRhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            momentum
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            linearKE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            internalE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            iDof
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            q
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            fD
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/decomposeParDict b/tutorials/discreteMethods/dsmc/supersonicCorner/system/decomposeParDict
new file mode 100644
index 00000000000..bf8dffb737c
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/decomposeParDict
@@ -0,0 +1,50 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      decomposeParDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberOfSubdomains 4;
+
+method          simple;
+
+simpleCoeffs
+{
+    n               ( 2 2 1 );
+    delta           0.001;
+}
+
+hierarchicalCoeffs
+{
+    n               ( 1 1 1 );
+    delta           0.001;
+    order           xyz;
+}
+
+metisCoeffs
+{
+    processorWeights ( 1 1 1 1 );
+}
+
+manualCoeffs
+{
+    dataFile        "";
+}
+
+distributed     no;
+
+roots           ( );
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/supersonicCorner/system/dsmcInitialiseDict
new file mode 100644
index 00000000000..54774bfb88a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/dsmcInitialiseDict
@@ -0,0 +1,28 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      dsmcInitialiseDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberDensities
+{
+    Ar          1.0e20;
+};
+
+temperature     300;
+
+velocity        (1936 0 0);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSchemes b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSchemes
new file mode 100644
index 00000000000..42fda7921ca
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSchemes
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         none;
+}
+
+gradSchemes
+{
+    default         none;
+}
+
+divSchemes
+{
+    default         none;
+}
+
+laplacianSchemes
+{
+    default         none;
+}
+
+interpolationSchemes
+{
+    default         none;
+}
+
+snGradSchemes
+{
+    default         none;
+}
+
+fluxRequired
+{
+    default         no;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSolution b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSolution
new file mode 100644
index 00000000000..1e39435250f
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/supersonicCorner/system/fvSolution
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryT b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryT
new file mode 100644
index 00000000000..7aa7905710a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryT
@@ -0,0 +1,42 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      boundaryT;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            fixedValue;
+        value           uniform 300;
+    }
+
+    obstacle
+    {
+        type            fixedValue;
+        value           uniform 550;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
+
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryU b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryU
new file mode 100644
index 00000000000..dfa4801d700
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/boundaryU
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      boundaryU;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    flow
+    {
+        type            fixedValue;
+        value           uniform (1736 0 0);
+    }
+
+    obstacle
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/dsmcRhoN b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/dsmcRhoN
new file mode 100644
index 00000000000..aa3f432f46e
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/dsmcRhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      dsmcRhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            zeroGradient;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/fD b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/fD
new file mode 100644
index 00000000000..85d8c061d08
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/fD
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      fD;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            calculated;
+        value           uniform (0 0 0);
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/iDof b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/iDof
new file mode 100644
index 00000000000..542b42e13ad
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/iDof
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      iDof;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            zeroGradient;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/internalE b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/internalE
new file mode 100644
index 00000000000..496e5afd331
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/internalE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      internalE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            zeroGradient;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/linearKE b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/linearKE
new file mode 100644
index 00000000000..c52708ab4d2
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/linearKE
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      linearKE;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            zeroGradient;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/momentum b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/momentum
new file mode 100644
index 00000000000..338ace9965d
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/momentum
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      momentum;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -2 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            zeroGradient;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/q b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/q
new file mode 100644
index 00000000000..6e2a7fd4511
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/q
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      q;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 0 -3 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            calculated;
+        value           uniform 0;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoM b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoM
new file mode 100644
index 00000000000..2ab4a148b1b
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoM
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoM;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            zeroGradient;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoN b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoN
new file mode 100644
index 00000000000..fa576a150c9
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/0/rhoN
@@ -0,0 +1,39 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      rhoN;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 -3 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    flow
+    {
+        type            zeroGradient;
+    }
+
+    obstacle
+    {
+        type            zeroGradient;
+    }
+
+    periodic
+    {
+        type            cyclic;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/Allclean b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allclean
new file mode 100755
index 00000000000..a81bd945995
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allclean
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Source tutorial clean functions
+. $WM_PROJECT_DIR/bin/tools/CleanFunctions
+
+cleanCase
+rm -rf 0/lagrangian 0/dsmcSigmaTcRMax
+rm -rf processor*
+rm -rf forces1
+rm -f system/machines
\ No newline at end of file
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/Allrun b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allrun
new file mode 100755
index 00000000000..402135df749
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/Allrun
@@ -0,0 +1,11 @@
+#!/bin/sh
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+runApplication blockMesh
+runApplication decomposePar
+runParallel dsmcInitialise 4 system/machines
+hostname > system/machines
+runParallel dsmcFoam 4 system/machines
+runApplication reconstructPar -noLagrangian
+
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/dsmcProperties b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/dsmcProperties
new file mode 100644
index 00000000000..bd07689d19a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/dsmcProperties
@@ -0,0 +1,89 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      dsmcProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+
+// General Properties
+// ~~~~~~~~~~~~~~~~~~
+
+nEquivalentParticles            5e12;
+
+
+// Wall Interaction Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+WallInteractionModel            MaxwellianThermal;
+
+MaxwellianThermalCoeffs {}
+
+
+// Binary Collision Model
+// ~~~~~~~~~~~~~~~~~~~~~~
+
+BinaryCollisionModel            LarsenBorgnakkeVariableHardSphere;
+
+LarsenBorgnakkeVariableHardSphereCoeffs
+{
+    Tref                        273;
+    relaxationCollisionNumber   5.0;
+}
+
+
+// Inflow Boundary Model
+// ~~~~~~~~~~~~~~~~~~~~~
+
+InflowBoundaryModel             FreeStream;
+
+NoInflowCoeffs {}
+
+FreeStreamCoeffs
+{
+    numberDensities
+    {
+        N2      0.777e20;
+        O2      0.223e20;
+    };
+}
+
+
+// Molecular species
+// ~~~~~~~~~~~~~~~~~
+
+typeIdList                      (N2 O2);
+
+moleculeProperties
+{
+    N2
+    {
+        mass                            46.5e-27;
+        diameter                        4.17e-10;
+        internalDegreesOfFreedom        2;
+        viscosityCoefficient            1.656e-5;
+        omega                           0.74;
+    }
+
+    O2
+    {
+        mass                            53.12e-27;
+        diameter                        4.07e-10;
+        internalDegreesOfFreedom        2;
+        viscosityCoefficient            1.919e-5;
+        omega                           0.77;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/blockMeshDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/blockMeshDict
new file mode 100644
index 00000000000..858a5357fae
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/blockMeshDict
@@ -0,0 +1,74 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 1;
+
+vertices
+(
+    (-0.15242 0       -0.05)
+    ( 0       0       -0.05)
+    ( 0.3048  0.081670913853  -0.05)
+    (-0.15242 0.3 -0.05)
+    ( 0       0.3 -0.05)
+    ( 0.3048  0.3 -0.05)
+
+    (-0.15242 0        0.05)
+    ( 0       0        0.05)
+    ( 0.3048  0.081670913853 0.05)
+    (-0.15242 0.3  0.05)
+    ( 0       0.3  0.05)
+    ( 0.3048  0.3  0.05)
+
+);
+
+blocks
+(
+    hex (0 1 4 3 6 7 10 9 ) (20 40 12) simpleGrading (1 1 1)
+    hex (1 2 5 4 7 8 11 10) (40 40 12) simpleGrading (1 1 1)
+);
+
+edges
+(
+);
+
+patches
+(
+    patch flow
+    (
+        (0 6 9 3)
+        (2 5 11 8)
+        (0 1 7 6)
+        (3 9 10 4)
+        (4 10 11 5)
+    )
+    wall obstacle
+    (
+        (1 2 8 7)
+    )
+    cyclic periodic
+    (
+        (0 3 4 1)
+        (1 4 5 2)
+        (6 7 10 9)
+        (7 8 11 10)
+    )
+);
+
+mergePatchPairs
+(
+);
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/boundary b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/boundary
new file mode 100644
index 00000000000..5c089fb5b2b
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/constant/polyMesh/boundary
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       polyBoundaryMesh;
+    location    "constant/polyMesh";
+    object      boundary;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+3
+(
+    flow
+    {
+        type            patch;
+        nFaces          1920;
+        startFace       82800;
+    }
+    obstacle
+    {
+        type            wall;
+        nFaces          480;
+        startFace       84720;
+    }
+    periodic
+    {
+        type            cyclic;
+        nFaces          4800;
+        startFace       85200;
+        featureCos      0.9;
+    }
+)
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/controlDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/controlDict
new file mode 100644
index 00000000000..b069a968567
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/controlDict
@@ -0,0 +1,139 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+startFrom       latestTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         0.00125;
+// endTime         0.01;
+
+deltaT          2e-6;
+
+writeControl    runTime;
+
+writeInterval   1e-4;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  10;
+
+writeCompression uncompressed;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable yes;
+
+adjustTimeStep  no;
+
+functions
+(
+    dsmcFields1
+    {
+        type dsmcFields;
+        enabled   on;
+        functionObjectLibs ( "libutilityFunctionObjects.so" );
+        outputControl     outputTime;
+    }
+
+    fieldAverage1
+    {
+        type fieldAverage;
+        functionObjectLibs ( "libfieldFunctionObjects.so" );
+        outputControl     outputTime;
+        resetOnOutput     off;
+        fields
+        (
+            rhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            rhoM
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            dsmcRhoN
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            momentum
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            linearKE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            internalE
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            iDof
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+            q
+            {
+                 mean on;
+                 prime2Mean off;
+                 base time;
+            }
+            fD
+            {
+                mean on;
+                prime2Mean off;
+                base time;
+            }
+        );
+    }
+
+    forces1
+    {
+        type        forces;
+        enabled     on;
+        functionObjectLibs ( "libforces.so" );
+        outputControl     outputTime;
+        patches     ( obstacle );
+        directForceDensity true;
+        fDName      fDMean;
+        CofR        ( 0 0 0 );
+        log         on;
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/decomposeParDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/decomposeParDict
new file mode 100644
index 00000000000..a533085b04a
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/decomposeParDict
@@ -0,0 +1,50 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      decomposeParDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberOfSubdomains 4;
+
+method          simple;
+
+simpleCoeffs
+{
+    n               ( 1 1 4 );
+    delta           0.001;
+}
+
+hierarchicalCoeffs
+{
+    n               ( 1 1 1 );
+    delta           0.001;
+    order           xyz;
+}
+
+metisCoeffs
+{
+    processorWeights ( 1 1 1 1 );
+}
+
+manualCoeffs
+{
+    dataFile        "";
+}
+
+distributed     no;
+
+roots           ( );
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/dsmcInitialiseDict b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/dsmcInitialiseDict
new file mode 100644
index 00000000000..118c809b6f1
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/dsmcInitialiseDict
@@ -0,0 +1,29 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      dsmcInitialiseDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberDensities
+{
+    N2          0.777e20;
+    O2          0.223e20;
+};
+
+temperature     300;
+
+velocity        (1736 0 0);
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSchemes b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSchemes
new file mode 100644
index 00000000000..42fda7921ca
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSchemes
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         none;
+}
+
+gradSchemes
+{
+    default         none;
+}
+
+divSchemes
+{
+    default         none;
+}
+
+laplacianSchemes
+{
+    default         none;
+}
+
+interpolationSchemes
+{
+    default         none;
+}
+
+snGradSchemes
+{
+    default         none;
+}
+
+fluxRequired
+{
+    default         no;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSolution b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSolution
new file mode 100644
index 00000000000..1e39435250f
--- /dev/null
+++ b/tutorials/discreteMethods/dsmc/wedge15Ma5/system/fvSolution
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+}
+
+// ************************************************************************* //
-- 
GitLab