From 4ba2b7bec7ce0615dc9bc4bcce79abad1d7a1ab8 Mon Sep 17 00:00:00 2001
From: sergio <sergio>
Date: Thu, 9 Jun 2016 15:38:13 +0100
Subject: [PATCH] Improved mesh motion in pyrolyis region. Fixed energy Eq in
 pyrolysis model and adding tutorial

---
 src/TurbulenceModels/compressible/Make/files  |   1 +
 .../compressible/Make/options                 |   2 +
 ...fixedIncidentRadiationFvPatchScalarField.C | 219 ++++++++++++++++++
 ...fixedIncidentRadiationFvPatchScalarField.H | 205 ++++++++++++++++
 .../reactingOneDim/reactingOneDim.C           |  23 +-
 .../basicSolidChemistryModel.H                |   3 +
 .../solidChemistryModel/solidChemistryModel.H |   5 +-
 .../solidChemistryModelI.H                    |  41 +++-
 .../les/simplePMMApanel/.out.kate-swp         | Bin 0 -> 137 bytes
 .../fireFoam/les/simplePMMApanel/0/CH4        |  60 +++++
 .../fireFoam/les/simplePMMApanel/0/G          |  32 +++
 .../fireFoam/les/simplePMMApanel/0/N2         |  56 +++++
 .../fireFoam/les/simplePMMApanel/0/O2         |  56 +++++
 .../fireFoam/les/simplePMMApanel/0/T          |  56 +++++
 .../fireFoam/les/simplePMMApanel/0/U          |  57 +++++
 .../fireFoam/les/simplePMMApanel/0/Ydefault   |  56 +++++
 .../fireFoam/les/simplePMMApanel/0/alphat     |  48 ++++
 .../fireFoam/les/simplePMMApanel/0/k          |  32 +++
 .../fireFoam/les/simplePMMApanel/0/nut        |  32 +++
 .../fireFoam/les/simplePMMApanel/0/p          |  56 +++++
 .../fireFoam/les/simplePMMApanel/0/p_rgh      |  61 +++++
 .../les/simplePMMApanel/0/panelRegion/PMMA    |  40 ++++
 .../les/simplePMMApanel/0/panelRegion/Qr      |  41 ++++
 .../les/simplePMMApanel/0/panelRegion/T       |  48 ++++
 .../simplePMMApanel/0/panelRegion/Y0Default   |  40 ++++
 .../les/simplePMMApanel/0/panelRegion/p       |  31 +++
 .../fireFoam/les/simplePMMApanel/Allclean     |  10 +
 .../fireFoam/les/simplePMMApanel/Allrun       |  18 ++
 .../constant/additionalControls               |  20 ++
 .../constant/boundaryRadiationProperties      |  33 +++
 .../constant/combustionProperties             |  26 +++
 .../fireFoam/les/simplePMMApanel/constant/g   |  21 ++
 .../constant/panelRegion/chemistryProperties  |  35 +++
 .../constant/panelRegion/radiationProperties  |  35 +++
 .../constant/panelRegion/reactions            |  21 ++
 .../constant/panelRegion/thermo.solid         |  41 ++++
 .../panelRegion/thermophysicalProperties      |  68 ++++++
 .../constant/polyMesh/blockMeshDict           |  74 ++++++
 .../simplePMMApanel/constant/pyrolysisZones   |  44 ++++
 .../constant/radiationProperties              |  35 +++
 .../constant/reactingCloud1Positions          |  20 ++
 .../constant/reactingCloud1Properties         | 148 ++++++++++++
 .../les/simplePMMApanel/constant/reactions    |  17 ++
 .../constant/surfaceFilmProperties            |  23 ++
 .../constant/thermo.compressibleGas           | 193 +++++++++++++++
 .../constant/thermophysicalProperties         |  40 ++++
 .../constant/turbulenceProperties             |  99 ++++++++
 .../les/simplePMMApanel/system/controlDict    |  58 +++++
 .../system/extrudeToRegionMeshDict            |  40 ++++
 .../les/simplePMMApanel/system/fvSchemes      |  71 ++++++
 .../les/simplePMMApanel/system/fvSolution     | 132 +++++++++++
 .../simplePMMApanel/system/makeFaceSet.setSet |   3 +
 .../system/panelRegion/fvSchemes              |  57 +++++
 .../system/panelRegion/fvSolution             |  66 ++++++
 .../les/simplePMMApanel/system/topoSetDict    |  43 ++++
 55 files changed, 2781 insertions(+), 11 deletions(-)
 create mode 100644 src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C
 create mode 100644 src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/.out.kate-swp
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/CH4
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/G
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/N2
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/O2
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/T
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/U
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/Ydefault
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/alphat
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/k
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/nut
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/p
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/p_rgh
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/PMMA
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Qr
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Y0Default
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/p
 create mode 100755 tutorials/combustion/fireFoam/les/simplePMMApanel/Allclean
 create mode 100755 tutorials/combustion/fireFoam/les/simplePMMApanel/Allrun
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/additionalControls
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/boundaryRadiationProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/combustionProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/g
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/chemistryProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/radiationProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/reactions
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermo.solid
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermophysicalProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/polyMesh/blockMeshDict
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/pyrolysisZones
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/radiationProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Positions
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Properties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactions
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/surfaceFilmProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermo.compressibleGas
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermophysicalProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/constant/turbulenceProperties
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/controlDict
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/extrudeToRegionMeshDict
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSchemes
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSolution
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/makeFaceSet.setSet
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSchemes
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSolution
 create mode 100644 tutorials/combustion/fireFoam/les/simplePMMApanel/system/topoSetDict

diff --git a/src/TurbulenceModels/compressible/Make/files b/src/TurbulenceModels/compressible/Make/files
index 2c2366c37dc..da115013cc1 100644
--- a/src/TurbulenceModels/compressible/Make/files
+++ b/src/TurbulenceModels/compressible/Make/files
@@ -11,6 +11,7 @@ $(BCs)/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFv
 $(BCs)/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
 $(BCs)/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
 $(BCs)/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
+$(BCs)/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C
 
 turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
 turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C
diff --git a/src/TurbulenceModels/compressible/Make/options b/src/TurbulenceModels/compressible/Make/options
index 4a6578d6285..f7ebff8f5ce 100644
--- a/src/TurbulenceModels/compressible/Make/options
+++ b/src/TurbulenceModels/compressible/Make/options
@@ -2,6 +2,7 @@ EXE_INC = \
     -I../turbulenceModels/lnInclude \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
+    -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude \
@@ -10,6 +11,7 @@ EXE_INC = \
 
 LIB_LIBS = \
     -lcompressibleTransportModels \
+    -lradiationModels \
     -lfluidThermophysicalModels \
     -lsolidThermo \
     -lsolidSpecie \
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C
new file mode 100644
index 00000000000..ea5e4d8232c
--- /dev/null
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C
@@ -0,0 +1,219 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software; you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by the
+    Free Software Foundation; either version 2 of the License, or (at your
+    option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+\*---------------------------------------------------------------------------*/
+
+#include "fixedIncidentRadiationFvPatchScalarField.H"
+#include "addToRunTimeSelectionTable.H"
+#include "fvPatchFieldMapper.H"
+#include "volFields.H"
+#include "constants.H"
+#include "radiationModel.H"
+#include "absorptionEmissionModel.H"
+
+using namespace Foam::constant;
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
+fixedIncidentRadiationFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedGradientFvPatchScalarField(p, iF),
+    temperatureCoupledBase(patch(), "undefined", "undefined", "undefined-K"),
+    QrIncident_(p.size(), 0.0)
+{}
+
+
+Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
+fixedIncidentRadiationFvPatchScalarField
+(
+    const fixedIncidentRadiationFvPatchScalarField& psf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedGradientFvPatchScalarField(psf, p, iF, mapper),
+    temperatureCoupledBase(patch(), psf),
+    QrIncident_(psf.QrIncident_)
+{}
+
+
+Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
+fixedIncidentRadiationFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    fixedGradientFvPatchScalarField(p, iF),
+    temperatureCoupledBase(patch(), dict),
+    QrIncident_("QrIncident", dict, p.size())
+{
+    if (dict.found("value") && dict.found("gradient"))
+    {
+        fvPatchField<scalar>::operator=(Field<scalar>("value", dict, p.size()));
+        gradient() = Field<scalar>("gradient", dict, p.size());
+    }
+    else
+    {
+        // Still reading so cannot yet evaluate. Make up a value.
+        fvPatchField<scalar>::operator=(patchInternalField());
+        gradient() = 0.0;
+    }
+}
+
+
+Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
+fixedIncidentRadiationFvPatchScalarField
+(
+    const fixedIncidentRadiationFvPatchScalarField& psf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedGradientFvPatchScalarField(psf, iF),
+    temperatureCoupledBase(patch(), psf),
+    QrIncident_(psf.QrIncident_)
+{}
+
+
+Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
+fixedIncidentRadiationFvPatchScalarField
+(
+    const fixedIncidentRadiationFvPatchScalarField& ptf
+)
+:
+    fixedGradientFvPatchScalarField(ptf),
+    temperatureCoupledBase(patch(), ptf),
+    QrIncident_(ptf.QrIncident_)
+{}
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+
+void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::autoMap
+(
+    const fvPatchFieldMapper& m
+)
+{
+    fixedGradientFvPatchScalarField::autoMap(m);
+    QrIncident_.autoMap(m);
+}
+
+
+void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::rmap
+(
+    const fvPatchScalarField& psf,
+    const labelList& addr
+)
+{
+    fixedGradientFvPatchScalarField::rmap(psf, addr);
+
+    const fixedIncidentRadiationFvPatchScalarField& thftpsf =
+        refCast<const fixedIncidentRadiationFvPatchScalarField>
+        (
+            psf
+        );
+
+    QrIncident_.rmap(thftpsf.QrIncident_, addr);
+}
+
+
+void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::updateCoeffs()
+{
+    if (updated())
+    {
+        return;
+    }
+
+    scalarField intFld(patchInternalField());
+
+    const radiation::radiationModel& radiation =
+        db().lookupObject<radiation::radiationModel>("radiationProperties");
+
+    scalarField emissivity
+    (
+        radiation.absorptionEmission().e()().boundaryField()
+        [
+            patch().index()
+        ]
+    );
+
+    gradient() =
+        emissivity*
+        (
+            QrIncident_
+          - physicoChemical::sigma.value()*pow4(*this)
+        )/kappa(*this);
+
+    fixedGradientFvPatchScalarField::updateCoeffs();
+
+    if (debug)
+    {
+        scalar Qr = gSum(kappa(*this)*gradient()*patch().magSf());
+        Info<< patch().boundaryMesh().mesh().name() << ':'
+            << patch().name() << ':'
+            << this->dimensionedInternalField().name() << " -> "
+            << " radiativeFlux:" << Qr
+            << " walltemperature "
+            << " min:" << gMin(*this)
+            << " max:" << gMax(*this)
+            << " avg:" << gAverage(*this)
+            << endl;
+    }
+}
+
+
+void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::write
+(
+    Ostream& os
+) const
+{
+    fixedGradientFvPatchScalarField::write(os);
+    temperatureCoupledBase::write(os);
+    QrIncident_.writeEntry("QrIncident", os);
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace radiation
+{
+    makePatchTypeField
+    (
+        fvPatchScalarField,
+        fixedIncidentRadiationFvPatchScalarField
+    );
+}
+}
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H
new file mode 100644
index 00000000000..79b48191fe3
--- /dev/null
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.H
@@ -0,0 +1,205 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software; you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by the
+    Free Software Foundation; either version 3 of the License, or (at your
+    option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Class
+    Foam::radiation::fixedIncidentRadiationFvPatchScalarField
+
+Group
+    grpThermoBoundaryConditions
+
+Description
+    Boundary condition for thermal coupling for solid regions.
+    Used to emulate a fixed incident radiative heat flux on a wall.
+
+    the gradient heat flux is calculated as :
+
+        Qr = emissivity*(QrIncident - sigma_*T^4)
+
+    where:
+
+    emissivity is the emissivity of the solid.
+    QrIncident is the specified fixed incident radiation.
+
+    Example usage:
+
+    wall
+    {
+        type            fixedIncidentRadiation;
+        QrIncident      uniform 500;
+        kappa           solidThermo;
+        KappaName       none;
+    }
+
+    kappa:
+    - 'lookup' :    lookup volScalarField (or volSymmTensorField) with name
+    - 'solidThermo' : use solidThermo kappa()
+
+    emissivity:
+    - 'lookup' :     lookup volScalarField emissivity
+    - 'localSolidRadiation': Look up for local solidRadiation
+
+
+SourceFiles
+    fixedIncidentRadiationFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fixedIncidentRadiationFvPatchScalarField_H
+#define fixedIncidentRadiationFvPatchScalarField_H
+
+#include "fixedGradientFvPatchFields.H"
+#include "temperatureCoupledBase.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace radiation
+{
+/*---------------------------------------------------------------------------*\
+        Class fixedIncidentRadiationFvPatchScalarField declaration
+\*---------------------------------------------------------------------------*/
+
+class fixedIncidentRadiationFvPatchScalarField
+:
+    public fixedGradientFvPatchScalarField,
+    public temperatureCoupledBase
+{
+    // Private data
+
+        //- Incident radiative heat flux
+        scalarField QrIncident_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("fixedIncidentRadiation");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        fixedIncidentRadiationFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        fixedIncidentRadiationFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a
+        //  new patch
+        fixedIncidentRadiationFvPatchScalarField
+        (
+            const
+            fixedIncidentRadiationFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        fixedIncidentRadiationFvPatchScalarField
+        (
+            const fixedIncidentRadiationFvPatchScalarField&
+        );
+
+
+        //- Construct and return a clone
+        virtual tmp<fvPatchScalarField> clone() const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new fixedIncidentRadiationFvPatchScalarField
+                (
+                    *this
+                )
+            );
+        }
+
+        //- Construct as copy setting internal field reference
+        fixedIncidentRadiationFvPatchScalarField
+        (
+            const fixedIncidentRadiationFvPatchScalarField&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct and return a clone setting internal field reference
+        virtual tmp<fvPatchScalarField> clone
+        (
+            const DimensionedField<scalar, volMesh>& iF
+        ) const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new fixedIncidentRadiationFvPatchScalarField
+                (
+                    *this,
+                    iF
+                )
+            );
+        }
+
+
+    // Member functions
+
+
+     // Mapping functions
+
+        //- Map (and resize as needed) from self given a mapping object
+        virtual void autoMap(const fvPatchFieldMapper&);
+
+        //- Reverse map the given fvPatchField onto this fvPatchField
+        virtual void rmap
+        (
+            const fvPatchScalarField&,
+            const labelList&
+        );
+
+        //- Update the coefficients associated with the patch field
+        virtual void updateCoeffs();
+
+        //- Write
+        virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+} // End namespace radiation
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
index 41845e6488c..7c40998b004 100644
--- a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
+++ b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
@@ -60,8 +60,10 @@ void reactingOneDim::readReactingOneDimControls()
 
     coeffs().lookup("minimumDelta") >> minimumDelta_;
 
-    coeffs().lookup("gasHSource") >> gasHSource_;
+    gasHSource_ = coeffs().lookupOrDefault<bool>("gasHSource", false);
+
     coeffs().lookup("QrHSource") >> QrHSource_;
+
     useChemistrySolvers_ =
         coeffs().lookupOrDefault<bool>("useChemistrySolvers", true);
 
@@ -209,7 +211,8 @@ void reactingOneDim::updateFields()
         updateQr();
     }
 
-    updatePhiGas();
+    //SAF: Commented out as the sensible gas enrgy is included in energy eq.
+    //updatePhiGas();
 }
 
 
@@ -250,11 +253,10 @@ void reactingOneDim::solveContinuity()
 
         rhoEqn.solve();
     }
-
-    if (moveMesh_)
+    else
     {
         const scalarField deltaV =
-            -solidChemistry_->RRg()*regionMesh().V()/rho_;
+            -solidChemistry_->RRg()*regionMesh().V()*time_.deltaT()/rho_;
 
         updateMesh(deltaV);
     }
@@ -319,13 +321,16 @@ void reactingOneDim::solveEnergy()
       - fvc::laplacian(kappa(), T())
      ==
         chemistrySh_
+      + solidChemistry_->RRsHs()
     );
 
+/* NOTE: gas Hs is included in hEqn
     if (gasHSource_)
     {
         const surfaceScalarField phiGas(fvc::interpolate(phiHsGas_));
         hEqn += fvc::div(phiGas);
     }
+*/
 
     if (QrHSource_)
     {
@@ -350,12 +355,14 @@ void reactingOneDim::solveEnergy()
 
 void reactingOneDim::calculateMassTransfer()
 {
+    /*
     totalGasMassFlux_ = 0;
     forAll(intCoupledPatchIDs_, i)
     {
         const label patchI = intCoupledPatchIDs_[i];
         totalGasMassFlux_ += gSum(phiGas_.boundaryField()[patchI]);
     }
+    */
 
     if (infoOutput_)
     {
@@ -453,8 +460,6 @@ reactingOneDim::reactingOneDim
             IOobject::AUTO_WRITE
         ),
         regionMesh()
-        //dimensionedScalar("zero", dimEnergy/dimArea/dimTime, 0.0),
-        //zeroGradientFvPatchVectorField::typeName
     ),
 
     lostSolidMass_(dimensionedScalar("zero", dimMass, 0.0)),
@@ -720,8 +725,8 @@ void reactingOneDim::info()
         << addedGasMass_.value() << nl
         << indent << "Total solid mass lost    [kg] = "
         << lostSolidMass_.value() << nl
-        << indent << "Total pyrolysis gases  [kg/s] = "
-        << totalGasMassFlux_ << nl
+        //<< indent << "Total pyrolysis gases  [kg/s] = "
+        //<< totalGasMassFlux_ << nl
         << indent << "Total heat release rate [J/s] = "
         << totalHeatRR_.value() << nl;
 }
diff --git a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H
index 7ee840c4412..d6b778315e3 100644
--- a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H
+++ b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModel.H
@@ -152,6 +152,9 @@ public:
             const label i
         ) const = 0;
 
+        //- Return net solid sensible enthalpy [J/Kg]
+        virtual tmp<DimensionedField<scalar, volMesh> > RRsHs() const = 0;
+
         //- Return specie Table for gases
         virtual const speciesTable& gasTable() const = 0;
 
diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H
index 17bde2bfbb1..b9d9cbbc0d3 100644
--- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H
+++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -187,6 +187,9 @@ public:
             //- Return total solid source term
             inline tmp<DimensionedField<scalar, volMesh> > RRs() const;
 
+            //- Return net solid sensible enthalpy
+            inline tmp<DimensionedField<scalar, volMesh> > RRsHs() const;
+
             //- Solve the reaction system for the given time step
             //  and return the characteristic time
             virtual scalar solve(const scalar deltaT) = 0;
diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H
index f2d0dad79ab..b956c8cd04b 100644
--- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H
+++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModelI.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -95,4 +95,43 @@ Foam::solidChemistryModel<CompType, SolidThermo>::RRs() const
 }
 
 
+template<class CompType, class SolidThermo>
+inline Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh> >
+Foam::solidChemistryModel<CompType, SolidThermo>::RRsHs() const
+{
+    tmp<DimensionedField<scalar, volMesh> > tRRsHs
+    (
+        new DimensionedField<scalar, volMesh>
+        (
+            IOobject
+            (
+                "RRsHs",
+                this->time().timeName(),
+                this->mesh(),
+                IOobject::NO_READ,
+                IOobject::NO_WRITE
+            ),
+            this->mesh(),
+            dimensionedScalar("zero", dimEnergy/dimVolume/dimTime, 0.0)
+        )
+    );
+
+    if (this->chemistry_)
+    {
+        DimensionedField<scalar, volMesh>& RRs = tRRsHs();
+
+        const volScalarField& T =  this->solidThermo().T();
+        const volScalarField& p =  this->solidThermo().p();
+
+        for (label i=0; i < nSolids_; i++)
+        {
+            forAll (RRs, cellI)
+            {
+                RRs[cellI] +=
+                    RRs_[i][cellI]*solidThermo_[i].Hs(p[cellI], T[cellI]);
+            }
+        }
+    }
+    return tRRsHs;
+}
 // ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/.out.kate-swp b/tutorials/combustion/fireFoam/les/simplePMMApanel/.out.kate-swp
new file mode 100644
index 0000000000000000000000000000000000000000..afd9da2f00bb1d50de535330661daced69d525c1
GIT binary patch
literal 137
zcmZQzV36@nEJ;-eE>A2_aLdd|RnS!kOD!tS%+FIW)H4VUVqjp{#K6Fy!N9<v=?dm9
uWnf^CU|?X7gm7mvFfb@EFfb@WxRX$28&LJSFfcF(F)%O)Lln!w^#TCYG!%3I

literal 0
HcmV?d00001

diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/CH4 b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/CH4
new file mode 100644
index 00000000000..d53b24658ac
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/CH4
@@ -0,0 +1,60 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version         2.0;
+    format          ascii;
+    class           volScalarField;
+    location        "0";
+    object          CH4;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    ground
+    {
+        type            zeroGradient;
+    }
+
+    side
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type                totalFlowRateAdvectiveDiffusive;
+        massFluxFraction    1;
+        phi                 phi;
+        rho                 rho;
+        value               uniform 1;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/G b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/G
new file mode 100644
index 00000000000..afe48d7aa32
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/G
@@ -0,0 +1,32 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version         2.0;
+    format          ascii;
+    class           volScalarField;
+    location        "0";
+    object          G;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 0 -3 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    ".*"
+    {
+        type            MarshakRadiation;
+        T               T;
+        value           uniform 0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/N2 b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/N2
new file mode 100644
index 00000000000..f6e0a5bebca
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/N2
@@ -0,0 +1,56 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      N2;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0.76699;
+
+boundaryField
+{
+    outlet
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    ground
+    {
+        type            zeroGradient;
+    }
+
+    side
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/O2 b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/O2
new file mode 100644
index 00000000000..f67a7d6fe4a
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/O2
@@ -0,0 +1,56 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      O2;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0.23301;
+
+boundaryField
+{
+    outlet
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    ground
+    {
+        type            zeroGradient;
+    }
+
+    side
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/T b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/T
new file mode 100644
index 00000000000..fd1a0c7221e
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/T
@@ -0,0 +1,56 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      T;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 298.15;
+
+boundaryField
+{
+    outlet
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    ground
+    {
+        type            zeroGradient;
+    }
+
+    side
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/U b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/U
new file mode 100644
index 00000000000..0191cc698ec
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/U
@@ -0,0 +1,57 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    location    "0";
+    object      U;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    outlet
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    ground
+    {
+        type            fixedValue;
+        value           $internalField;
+    }
+
+    side
+    {
+        type            pressureInletOutletVelocity;
+        phi             phi;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/Ydefault b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/Ydefault
new file mode 100644
index 00000000000..3b85d62f39b
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/Ydefault
@@ -0,0 +1,56 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      Ydefault;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0.;
+
+boundaryField
+{
+    outlet
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    ground
+    {
+        type            zeroGradient;
+    }
+
+    side
+    {
+        type            inletOutlet;
+        inletValue      $internalField;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/alphat b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/alphat
new file mode 100644
index 00000000000..b0b7cdaace9
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/alphat
@@ -0,0 +1,48 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      alphat;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    outlet
+    {
+        type            zeroGradient;
+    }
+    ground
+    {
+        type            zeroGradient;
+    }
+    frontAndBack
+    {
+        type            empty;
+    }
+    side
+    {
+        type            zeroGradient;
+    }
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/k b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/k
new file mode 100644
index 00000000000..eef8433f2e2
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/k
@@ -0,0 +1,32 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version         2.0;
+    format          ascii;
+    class           volScalarField;
+    location        "0";
+    object          k;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform 1e-5;
+
+boundaryField
+{
+    ".*"
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/nut b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/nut
new file mode 100644
index 00000000000..df7712b2f2f
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/nut
@@ -0,0 +1,32 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      nut;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -1 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    ".*"
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p
new file mode 100644
index 00000000000..ad24b0f0d42
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p
@@ -0,0 +1,56 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      p;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 101325;
+
+boundaryField
+{
+    outlet
+    {
+        type            calculated;
+        value           $internalField;
+    }
+
+    ground
+    {
+        type            calculated;
+        value           $internalField;
+    }
+
+    side
+    {
+        type            calculated;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            calculated;
+        value           $internalField;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p_rgh b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p_rgh
new file mode 100644
index 00000000000..6994c4afbdd
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/p_rgh
@@ -0,0 +1,61 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      p_rgh;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 101325;
+
+boundaryField
+{
+    outlet
+    {
+        type        fixedFluxPressure;
+    }
+
+    ground
+    {
+        type        fixedFluxPressure;
+    }
+
+    side
+    {
+        type            totalPressure;
+        U               U;
+        phi             phi;
+        rho             rho;
+        psi             none;
+        gamma           1.4;
+        p0              $internalField;
+        value           $internalField;
+    }
+
+    frontAndBack
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            fixedFluxPressure;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/PMMA b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/PMMA
new file mode 100644
index 00000000000..8db8bc4c5bf
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/PMMA
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      PMMA;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 1;
+
+boundaryField
+{
+    panel_top
+    {
+        type            zeroGradient;
+    }
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+    panel_side
+    {
+        type empty;
+    }
+
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Qr b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Qr
new file mode 100644
index 00000000000..654cb3ae748
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Qr
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      Qr;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 0 -3 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    panel_top
+    {
+        type            zeroGradient;
+    }
+
+    panel_side
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T
new file mode 100644
index 00000000000..d06404e17fd
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T
@@ -0,0 +1,48 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      T;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 1 0 0 0];
+
+internalField   uniform 298.15;
+
+boundaryField
+{
+    panel_top
+    {
+        type            fixedValue;
+        value           uniform 298.15;
+    }
+    panel_side
+    {
+        type            empty;
+    }
+
+    region0_to_panelRegion_panel
+    {
+
+
+        type                fixedIncidentRadiation;
+        kappa               solidThermo;
+        kappaName           none;
+        QrIncident          uniform 60000.0;   //W
+        value               uniform 298.15;
+    }
+
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Y0Default b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Y0Default
new file mode 100644
index 00000000000..82adc156856
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/Y0Default
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0/pyrolysisRegion";
+    object      Ydefault;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    panel_top
+    {
+        type            zeroGradient;
+    }
+    region0_to_panelRegion_panel
+    {
+        type            zeroGradient;
+    }
+    panel_side
+    {
+        type            empty;
+    }
+
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/p b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/p
new file mode 100644
index 00000000000..35f1796d497
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/p
@@ -0,0 +1,31 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    location    "0";
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [1 -1 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    ".*"
+    {
+        type            zeroGradient;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/Allclean b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allclean
new file mode 100755
index 00000000000..be64e41b64f
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allclean
@@ -0,0 +1,10 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+
+# Source tutorial clean functions
+. $WM_PROJECT_DIR/bin/tools/CleanFunctions
+
+cleanCase
+rm -rf constant/panelRegion/polyMesh
+
+# -----------------------------------------------------------------------------
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/Allrun b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allrun
new file mode 100755
index 00000000000..241ab1b9765
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/Allrun
@@ -0,0 +1,18 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+runApplication blockMesh
+
+runApplication topoSet
+
+runApplication extrudeToRegionMesh -overwrite
+
+# Run
+runApplication `getApplication`
+
+paraFoam -touchAll
+
+# -----------------------------------------------------------------------------
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/additionalControls b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/additionalControls
new file mode 100644
index 00000000000..68427639255
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/additionalControls
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      additionalControls;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvePrimaryRegion false;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/boundaryRadiationProperties
new file mode 100644
index 00000000000..20a028ae667
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/boundaryRadiationProperties
@@ -0,0 +1,33 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      boundaryRadiationProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    ".*"
+    {
+        type            boundaryRadiation;
+        mode            lookup;
+        emissivity      uniform 1.0;
+        absorptivity    uniform 0.0;
+        value           uniform 0.0;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/combustionProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/combustionProperties
new file mode 100644
index 00000000000..d411b52d1d3
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/combustionProperties
@@ -0,0 +1,26 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      combustionProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+combustionModel    infinitelyFastChemistry<psiThermoCombustion,gasHThermoPhysics>;
+
+active false;
+
+infinitelyFastChemistryCoeffs
+{
+    semiImplicit no;
+    C       10;
+}
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/g b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/g
new file mode 100644
index 00000000000..a2685678eee
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/g
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       uniformDimensionedVectorField;
+    location    "constant";
+    object      g;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -2 0 0 0 0];
+value           (0 0 -9.80665);
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/chemistryProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/chemistryProperties
new file mode 100644
index 00000000000..f5b002f478d
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/chemistryProperties
@@ -0,0 +1,35 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      chemistryProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+chemistryType
+{
+    chemistrySolver   ode;
+    chemistryThermo   pyrolysis;
+}
+
+chemistry           on;
+
+initialChemicalTimeStep 1e-07;
+
+odeCoeffs
+{
+    solver          SIBS;
+    eps             0.05;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/radiationProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/radiationProperties
new file mode 100644
index 00000000000..f73d5441db6
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/radiationProperties
@@ -0,0 +1,35 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      radiationProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+radiationModel  opaqueSolid;
+
+absorptionEmissionModel greyMeanSolidAbsorptionEmission;
+
+greyMeanSolidAbsorptionEmissionCoeffs
+{
+    PMMA
+    {
+        absorptivity    0.17;
+        emissivity      0.17;
+    }
+}
+
+scatterModel    none;
+transmissivityModel none;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/reactions b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/reactions
new file mode 100644
index 00000000000..cff71055269
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/reactions
@@ -0,0 +1,21 @@
+species
+(
+    PMMA
+);
+
+gaseousSpecies
+(
+    gas
+);
+
+reactions
+{
+    charReaction
+    {
+        type        irreversibleArrheniusSolidReaction;
+        reaction    "PMMA = gas";
+        A           1.2e6;
+        Ta          11300.57;
+        Tcrit       400;
+    }
+}
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermo.solid b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermo.solid
new file mode 100644
index 00000000000..5b483941d1e
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermo.solid
@@ -0,0 +1,41 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      binary;
+    class       dictionary;
+    location    "constant";
+    object      thermo.solid;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+PMMA
+{
+    specie
+    {
+        nMoles      1;
+        molWeight   100;
+    }
+    transport
+    {
+        kappa       0.135;
+    }
+    thermodynamics
+    {
+        Cp          1462;
+        Hf          -8.22e5;
+    }
+    equationOfState
+    {
+        rho          1114.7;
+    }
+};
+
+// ************************************************************************* //
+
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermophysicalProperties
new file mode 100644
index 00000000000..d5c9a3191bf
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/panelRegion/thermophysicalProperties
@@ -0,0 +1,68 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            heSolidThermo;
+    mixture         reactingMixture;
+    transport       constIso;
+    thermo          hConst;
+    equationOfState rhoConst;
+    specie          specie;
+    energy          sensibleEnthalpy;
+}
+
+
+chemistryReader foamChemistryReader;
+
+foamChemistryFile "$FOAM_CASE/constant/panelRegion/reactions";
+
+foamChemistryThermoFile "$FOAM_CASE/constant/panelRegion/thermo.solid";
+
+gasThermoType
+{
+    transport       sutherland;
+    thermo          janaf;
+    equationOfState perfectGas;
+    specie          specie;
+    energy          sensibleEnthalpy;
+}
+
+
+gas
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       18.0153;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 2.67215 0.00305629 -8.73026e-07 1.20100e-10 -6.39162e-15 -29899.2 6.86282 );
+        lowCpCoeffs     ( 3.38684 0.00347498 -6.35470e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/polyMesh/blockMeshDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/polyMesh/blockMeshDict
new file mode 100644
index 00000000000..a98922be864
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/polyMesh/blockMeshDict
@@ -0,0 +1,74 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version         2.0;
+    format          ascii;
+    class           dictionary;
+    object          blockMeshDict;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 1;
+
+vertices
+(
+    (0 0 0)
+    (1 0 0)
+    (1 1 0)
+    (0 1 0)
+    (0 0 1)
+    (1 0 1)
+    (1 1 1)
+    (0 1 1)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7)   (1 10 10) simpleGrading (1 1 1)
+);
+
+edges
+(
+);
+
+patches
+(
+    wall coupledPatch
+    (
+        (0 4 7 3)
+    )
+
+    patch side
+    (
+        (1 2 6 5)
+    )
+
+    empty frontAndBack
+    (
+        (0 1 5 4)
+        (7 6 2 3)
+    )
+
+    patch outlet
+    (
+       (4 5 6 7)
+    )
+
+    wall ground
+    (
+       (0 3 2 1)
+    )
+);
+
+mergePatchPairs
+(
+);
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/pyrolysisZones b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/pyrolysisZones
new file mode 100644
index 00000000000..4074c3e862c
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/pyrolysisZones
@@ -0,0 +1,44 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      binary;
+    class       dictionary;
+    location    "constant";
+    object      pyrolysisZones;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+    pyrolysis
+    {
+        active          true;
+
+        pyrolysisModel  reactingOneDim;
+
+        regionName      panelRegion;
+
+        reactingOneDimCoeffs
+        {
+            QrHSource       no; //Energy source term due in depht radiation
+
+            filmCoupled     false;
+
+            radFluxName     Qr;
+
+            minimumDelta    1e-6;
+
+            moveMesh        true;
+
+            useChemistrySolvers false;
+        }
+
+        infoOutput      true;
+    }
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/radiationProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/radiationProperties
new file mode 100644
index 00000000000..a952e887a46
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/radiationProperties
@@ -0,0 +1,35 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      radiationProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+radiation       off;
+
+radiationModel  P1;
+
+noRadiation
+{
+}
+
+P1Coeffs
+{
+}
+
+scatterModel    none;
+
+transmissivityModel  none;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Positions b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Positions
new file mode 100644
index 00000000000..cefd1f7b2a4
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Positions
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       vectorField;
+    location    "constant";
+    object      reactingCloud1Positions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+(
+    (0.0 0.0 0.0)
+)
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Properties
new file mode 100644
index 00000000000..da4afd4132f
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactingCloud1Properties
@@ -0,0 +1,148 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      reactingCloud1Properties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solution
+{
+    active          false;
+    coupled         yes;
+    transient       yes;
+    cellValueSourceCorrection yes;
+
+    sourceTerms
+    {
+        schemes
+        {
+            rho             explicit 1;
+            U               explicit 1;
+            Yi              explicit 1;
+            hs              explicit 1;
+        }
+    }
+
+    interpolationSchemes
+    {
+        rho             cell;
+        U               cellPoint;
+        mu              cell;
+        T               cell;
+        Cp              cell;
+        p               cell;
+    }
+
+    integrationSchemes
+    {
+        U               Euler;
+        T               analytical;
+    }
+}
+
+constantProperties
+{
+    parcelTypeId    1;
+
+    rhoMin          1e-15;
+    TMin            200;
+    pMin            1000;
+    minParticleMass 1e-15;
+
+    rho0            1000;
+    T0              300;
+    Cp0             4187;
+
+    youngsModulus   1e9;
+    poissonsRatio   0.35;
+
+    epsilon0        1;
+    f0              0.5;
+    Pr              0.7;
+    Tvap            273;
+    Tbp             373;
+
+    constantVolume  false;
+}
+
+subModels
+{
+    particleForces
+    {
+        sphereDrag;
+        gravity;
+    }
+    injectionModel  reactingLookupTableInjection;
+
+    dragModel       sphereDrag;
+
+    dispersionModel none;
+
+    patchInteractionModel standardWallInteraction;
+
+    heatTransferModel none;
+
+    compositionModel singlePhaseMixture;
+
+    phaseChangeModel none;
+
+    stochasticCollisionModel none;
+
+    postProcessingModel none;
+
+    surfaceFilmModel thermoSurfaceFilm;
+
+    radiation       off;
+
+    reactingLookupTableInjectionCoeffs
+    {
+        massTotal       1e-1;
+        parcelBasisType mass;
+        SOI             0.001;
+        inputFile       "parcelInjectionProperties";
+        duration        20.0;
+        parcelsPerSecond 200;
+    }
+
+    standardWallInteractionCoeffs
+    {
+        type            rebound;
+    }
+
+    singlePhaseMixtureCoeffs
+    {
+        phases
+        (
+            liquid
+            {
+                H2O          1;
+            }
+        );
+    }
+
+    thermoSurfaceFilmCoeffs
+    {
+        interactionType splashBai;
+        deltaWet        0.0005;
+        Adry            2630;
+        Awet            1320;
+        Cf              0.6;
+    }
+}
+
+
+cloudFunctions
+{}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactions b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactions
new file mode 100644
index 00000000000..a8f49e45e44
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/reactions
@@ -0,0 +1,17 @@
+species
+(
+    O2
+    H2O
+    CH4
+    CO2
+    N2
+);
+
+reactions
+{
+    methaneReaction
+    {
+        type irreversibleinfiniteReaction;
+        reaction "CH4 + 2O2 + 7.52N2 = CO2 + 2H2O + 7.52N2";
+    }
+}
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/surfaceFilmProperties
new file mode 100644
index 00000000000..5d869e9a24b
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/surfaceFilmProperties
@@ -0,0 +1,23 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      SurfaceFilmProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+active           false;
+
+surfaceFilmModel none;
+
+regionName       none;
+
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermo.compressibleGas
new file mode 100644
index 00000000000..6fa14f2df8f
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermo.compressibleGas
@@ -0,0 +1,193 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermo.compressibleGas;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+O2
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       31.9988;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 3.69758 0.00061352 -1.25884e-07 1.77528e-11 -1.13644e-15 -1233.93 3.18917 );
+        lowCpCoeffs     ( 3.21294 0.00112749 -5.75615e-07 1.31388e-09 -8.76855e-13 -1005.25 6.03474 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+H2O
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       18.0153;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 2.67215 0.00305629 -8.73026e-07 1.201e-10 -6.39162e-15 -29899.2 6.86282 );
+        lowCpCoeffs     ( 3.38684 0.00347498 -6.3547e-06 6.96858e-09 -2.50659e-12 -30208.1 2.59023 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+CH4
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       16.0428;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           6000;
+        Tcommon         1000;
+        highCpCoeffs    ( 1.63543 0.0100844 -3.36924e-06 5.34973e-10 -3.15528e-14 -10005.6 9.9937 );
+        lowCpCoeffs     ( 5.14988 -0.013671 4.91801e-05 -4.84744e-08 1.66694e-11 -10246.6 -4.64132 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+CO2
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       44.01;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 4.45362 0.00314017 -1.27841e-06 2.394e-10 -1.66903e-14 -48967 -0.955396 );
+        lowCpCoeffs     ( 2.27572 0.00992207 -1.04091e-05 6.86669e-09 -2.11728e-12 -48373.1 10.1885 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+N2
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       28.0134;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 2.92664 0.00148798 -5.68476e-07 1.0097e-10 -6.75335e-15 -922.798 5.98053 );
+        lowCpCoeffs     ( 3.29868 0.00140824 -3.96322e-06 5.64152e-09 -2.44486e-12 -1020.9 3.95037 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+C3H8
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       44.0962;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 7.5341368 0.018872239 -6.2718491e-06 9.1475649e-10 -4.7838069e-14 -16467.516 -17.892349 );
+        lowCpCoeffs     ( 0.93355381 0.026424579 6.1059727e-06 -2.1977499e-08 9.5149253e-12 -13958.52 19.201691 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+CORRUGATED
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       115.82;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           5000;
+        Tcommon         1000;
+        highCpCoeffs    ( 7.5341368 0.018872239 -6.2718491e-06 9.1475649e-10 -4.7838069e-14 -16467.516 -17.892349 );
+        lowCpCoeffs     ( 0.93355381 0.026424579 6.1059727e-06 -2.1977499e-08 9.5149253e-12 -13958.52 19.201691 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
+CH2O
+{
+    specie
+    {
+        nMoles          1;
+        molWeight       30.02628;
+    }
+    thermodynamics
+    {
+        Tlow            200;
+        Thigh           6000;
+        Tcommon         1000;
+        highCpCoeffs    ( 3.1694807 0.0061932742 -2.2505981e-06 3.6598245e-10 -2.201541e-14 -14478.425 6.0423533 );
+        lowCpCoeffs     ( 4.7937036 -0.0099081518 3.7321459e-05 -3.7927902e-08 1.3177015e-11 -14308.955 0.60288702 );
+    }
+    transport
+    {
+        As              1.67212e-06;
+        Ts              170.672;
+    }
+}
+
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermophysicalProperties
new file mode 100644
index 00000000000..f67fb01b786
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/thermophysicalProperties
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      thermophysicalProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+thermoType
+{
+    type            hePsiThermo;
+    mixture         singleStepReactingMixture;
+    transport       sutherland;
+    thermo          janaf;
+    energy          sensibleEnthalpy;
+    equationOfState perfectGas;
+    specie          specie;
+}
+
+
+inertSpecie N2;
+fuel    CH4;
+
+chemistryReader foamChemistryReader;
+
+foamChemistryFile "$FOAM_CASE/constant/reactions";
+
+foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas";
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/turbulenceProperties b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/turbulenceProperties
new file mode 100644
index 00000000000..88dfee07931
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/constant/turbulenceProperties
@@ -0,0 +1,99 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  LES;
+
+LES
+{
+    LESModel        kEqn;
+
+    delta           cubeRootVol;
+
+    turbulence      on;
+
+    printCoeffs     on;
+
+    kEqnCoeffs
+    {
+        Prt             1;
+    }
+
+    cubeRootVolCoeffs
+    {
+        deltaCoeff      1;
+    }
+
+    PrandtlCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Cdelta          0.158;
+    }
+
+    vanDriestCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        smoothCoeffs
+        {
+            delta           cubeRootVol;
+            cubeRootVolCoeffs
+            {
+                deltaCoeff      1;
+            }
+
+            maxDeltaRatio   1.1;
+        }
+
+        Aplus           26;
+        Cdelta          0.158;
+    }
+
+    smoothCoeffs
+    {
+        delta           cubeRootVol;
+        cubeRootVolCoeffs
+        {
+            deltaCoeff      1;
+        }
+
+        maxDeltaRatio   1.1;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/controlDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/controlDict
new file mode 100644
index 00000000000..dbe28ded588
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/controlDict
@@ -0,0 +1,58 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     fireFoam;
+
+startFrom       startTime;
+
+startTime       0.;
+
+stopAt          endTime;
+
+endTime         3000;
+
+deltaT          1;
+
+writeControl    adjustableRunTime;
+
+writeInterval   200;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  6;
+
+writeCompression uncompressed;
+
+timeFormat      general;
+
+timePrecision   6;
+
+graphFormat     raw;
+
+runTimeModifiable yes;
+
+adjustTimeStep  no;
+
+maxCo           1.0;
+
+maxDi           0.5;
+
+maxDeltaT       1;
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/extrudeToRegionMeshDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/extrudeToRegionMeshDict
new file mode 100644
index 00000000000..6b65cc6071c
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/extrudeToRegionMeshDict
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      extrudeToRegionMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+region          panelRegion;
+
+faceZones       (panel);
+
+oneD            true;
+
+sampleMode      nearestPatchFace;
+
+extrudeModel    linearNormal;
+
+oneDPolyPatchType empty;
+
+nLayers         8;
+
+expansionRatio  1;
+
+adaptMesh       true;
+
+linearNormalCoeffs
+{
+    thickness       0.0234;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSchemes b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSchemes
new file mode 100644
index 00000000000..7167da8dd4d
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSchemes
@@ -0,0 +1,71 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         Euler;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+}
+
+divSchemes
+{
+    default         none;
+    div(phi,U)      Gauss linear;
+    div(phi,k)      Gauss limitedLinear 1;
+    div(phi,Yi_hs)  Gauss multivariateSelection
+    {
+        O2              limitedLinear01 1;
+        N2              limitedLinear01 1;
+        CH4             limitedLinear01 1;
+        H2O             limitedLinear01 1;
+        CO2             limitedLinear01 1;
+        h               limitedLinear 1;
+    };
+
+    div((muEff*dev2(T(grad(U))))) Gauss linear;
+    div(phiU,p)     Gauss linear;
+    div(Ji,Ii_h)    Gauss upwind grad(Ii_h);
+}
+
+laplacianSchemes
+{
+
+    default         Gauss linear corrected;
+}
+
+interpolationSchemes
+{
+    default         linear;
+}
+
+snGradSchemes
+{
+    default         corrected;
+}
+
+fluxRequired
+{
+    default         no;
+    p_rgh;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSolution b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSolution
new file mode 100644
index 00000000000..65488fd24ff
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/fvSolution
@@ -0,0 +1,132 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      fvSolution;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    rho
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       0;
+        relTol          0;
+    };
+
+    p_rgh
+    {
+        solver              GAMG;
+        tolerance           1e-5;
+        relTol              0.01;
+        smoother            GaussSeidel;
+        cacheAgglomeration  true;
+        //nCellsInCoarsestLevel   10;
+        nCellsInCoarsestLevel   1;
+        agglomerator    faceAreaPair;
+        mergeLevels     1;
+    };
+
+    p_rghFinal
+    {
+        solver              GAMG;
+        tolerance           1e-6;
+        relTol              0;
+        smoother            GaussSeidel;
+        cacheAgglomeration  true;
+        //nCellsInCoarsestLevel 10;
+        nCellsInCoarsestLevel 1;
+        agglomerator     faceAreaPair;
+        mergeLevels      1;
+    };
+
+    Yi
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-8;
+        relTol          0;
+    };
+
+    U
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-6;
+        relTol          0.0;
+    };
+
+    UFinal
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-7;
+        relTol          0;
+    };
+
+    k
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-8;
+        relTol          0;
+    };
+
+    //hs
+    h
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-8;
+        relTol          0;
+    };
+
+    Ii
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-8;
+        relTol          0;
+    }
+
+    G
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       1e-06;
+        relTol          0;
+    }
+
+}
+
+PIMPLE
+{
+    momentumPredictor yes;
+    nOuterCorrectors  1;
+    nCorrectors       2;
+    nNonOrthogonalCorrectors 0;
+}
+
+relaxationFactors
+{
+    equations
+    {
+        "(U|k).*"                   1;
+        "(C3H8|O2|H2O|CO2|h).*"     1;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/makeFaceSet.setSet b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/makeFaceSet.setSet
new file mode 100644
index 00000000000..61670b92bcc
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/makeFaceSet.setSet
@@ -0,0 +1,3 @@
+faceSet coupledPatch new patchToFace coupledPatch
+faceZoneSet panel new setToFaceZone coupledPatch
+
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSchemes b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSchemes
new file mode 100644
index 00000000000..1847ceeebc5
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSchemes
@@ -0,0 +1,57 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system/pyrolysisRegion";
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default Euler;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+}
+
+divSchemes
+{
+    default        none;
+}
+
+laplacianSchemes
+{
+    default         none;
+    laplacian(kappa,T)  Gauss harmonic uncorrected;
+    laplacian(thermo:alpha,h)  Gauss harmonic uncorrected;
+    laplacian(kappa,T) Gauss harmonic uncorrected;
+}
+
+interpolationSchemes
+{
+    default         linear;
+    interpolate(K)  harmonic;
+}
+
+snGradSchemes
+{
+    default        uncorrected;
+}
+
+fluxRequired
+{
+    default         no;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSolution b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSolution
new file mode 100644
index 00000000000..e74dfcec078
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/panelRegion/fvSolution
@@ -0,0 +1,66 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    h
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        //tolerance       1e-6;
+        tolerance       1e-12;
+        relTol          0;
+    }
+
+    "Yi"
+    {
+        solver          PBiCG;
+        preconditioner  DILU;
+        tolerance       1e-06;
+        relTol          0;
+    }
+
+    "rho|rhot"
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       0;
+        relTol          0;
+    };
+
+    thermo:rho
+    {
+        solver          PCG;
+        preconditioner  DIC;
+        tolerance       0;
+        relTol          0;
+    };
+
+}
+
+SIMPLE
+{
+    nNonOrthCorr    0;
+}
+
+relaxationFactors
+{
+    equations
+    {
+        h               1;
+    }
+}
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/system/topoSetDict b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/topoSetDict
new file mode 100644
index 00000000000..02fd6c63c4d
--- /dev/null
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/system/topoSetDict
@@ -0,0 +1,43 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      topoSetDict;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+actions
+(
+    {
+        name        coupledPatch;
+        type        faceSet;
+        action      new;
+        source      patchToFace;
+        sourceInfo
+        {
+            name    coupledPatch;
+        }
+    }
+
+    {
+        name        panel;
+        type        faceZoneSet;
+        action      new;
+        source      setToFaceZone;
+        sourceInfo
+        {
+            faceSet coupledPatch;
+        }
+    }
+);
+
+// ************************************************************************* //
-- 
GitLab