diff --git a/src/turbulenceModels/RAS/compressible/Make/files b/src/turbulenceModels/RAS/compressible/Make/files
index aab9098c3db7310d01990abe8ef0a78ef3d7c0e1..34ecc3436558373821dc5e30e743f4d60b1e4c3e 100644
--- a/src/turbulenceModels/RAS/compressible/Make/files
+++ b/src/turbulenceModels/RAS/compressible/Make/files
@@ -15,6 +15,7 @@ kOmegaSST/kOmegaSST.C
 wallFunctions/mutWallFunctions/mutStandardRoughWallFunction/mutStandardRoughWallFunctionFvPatchScalarField.C
 
 /* Patch fields */
+derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
 derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
 derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
 
diff --git a/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
new file mode 100644
index 0000000000000000000000000000000000000000..9cd3901fe3d323791cb2307475c78dbe9e38498e
--- /dev/null
+++ b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
@@ -0,0 +1,203 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 1991-2008 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 "turbulentHeatFluxTemperatureFvPatchScalarField.H"
+#include "addToRunTimeSelectionTable.H"
+#include "fvPatchFieldMapper.H"
+#include "volFields.H"
+#include "RASModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace compressible
+{
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedGradientFvPatchScalarField(p, iF),
+    q_(p.size(), 0.0),
+    rhoName_("undefinedRho")
+{}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const turbulentHeatFluxTemperatureFvPatchScalarField& ptf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedGradientFvPatchScalarField(ptf, p, iF, mapper),
+    q_(ptf.q_, mapper),
+    rhoName_(ptf.rhoName_)
+{}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    fixedGradientFvPatchScalarField(p, iF),
+    q_("q", dict, p.size()),
+    rhoName_(dict.lookup("rho"))
+{
+    fvPatchField<scalar>::operator=(patchInternalField());
+    gradient() = 0.0;
+}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf
+)
+:
+    fixedGradientFvPatchScalarField(thftpsf),
+    q_(thftpsf.q_),
+    rhoName_(thftpsf.rhoName_)
+{}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedGradientFvPatchScalarField(thftpsf, iF),
+    q_(thftpsf.q_),
+    rhoName_(thftpsf.rhoName_)
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::autoMap
+(
+    const fvPatchFieldMapper& m
+)
+{
+    fixedGradientFvPatchScalarField::autoMap(m);
+    q_.autoMap(m);
+}
+
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::rmap
+(
+    const fvPatchScalarField& ptf,
+    const labelList& addr
+)
+{
+    fixedGradientFvPatchScalarField::rmap(ptf, addr);
+
+    const turbulentHeatFluxTemperatureFvPatchScalarField& thftptf =
+        refCast<const turbulentHeatFluxTemperatureFvPatchScalarField>
+        (
+            ptf
+        );
+
+    q_.rmap(thftptf.q_, addr);
+}
+
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
+{
+    if (updated())
+    {
+        return;
+    }
+
+    const label patchI = patch().index();
+
+    const RASModel& ras = db().lookupObject<RASModel>("RASProperties");
+
+    const scalarField alphaEffp = ras.alphaEff()().boundaryField()[patchI];
+
+    const basicThermo& thermo =
+        db().lookupObject<basicThermo>("thermophysicalProperties");
+
+//    const scalarField& Tp = thermo.T().boundaryField()[patchI];
+    const scalarField& Tp = *this;
+
+    const scalarField Cpp = thermo.Cp(Tp, patchI);
+
+    const scalarField& rhop =
+        patch().lookupPatchField<volScalarField, scalar>(rhoName_);
+
+    const scalar Ap = gSum(patch().magSf());
+
+    gradient() = q_/(Ap*rhop*Cpp*alphaEffp);
+
+    fixedGradientFvPatchScalarField::updateCoeffs();
+}
+
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::write
+(
+    Ostream& os
+) const
+{
+    fvPatchScalarField::write(os);
+    q_.writeEntry("q", os);
+    os.writeKeyword("rho") << rhoName_ << token::END_STATEMENT << nl;
+    gradient().writeEntry("gradient", os);
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+makePatchTypeField
+(
+    fvPatchScalarField,
+    turbulentHeatFluxTemperatureFvPatchScalarField
+);
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace compressible
+} // End namespace Foam
+
+
+// ************************************************************************* //
+
diff --git a/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
new file mode 100644
index 0000000000000000000000000000000000000000..c2ee7be012558b958acdc6e29e30f6f47701f4b3
--- /dev/null
+++ b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
@@ -0,0 +1,176 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 1991-2008 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
+
+Class
+    Foam::turbulentHeatFluxTemperatureFvPatchScalarField
+
+Description
+    Fixed heat flux boundary condition for temperature.
+
+SourceFiles
+    turbulentHeatFluxTemperatureFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef turbulentHeatFluxTemperatureFvPatchScalarFields_H
+#define turbulentHeatFluxTemperatureFvPatchScalarFields_H
+
+#include "fvPatchFields.H"
+#include "fixedGradientFvPatchFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace compressible
+{
+
+/*---------------------------------------------------------------------------*\
+     Class turbulentHeatFluxTemperatureFvPatchScalarField Declaration
+\*---------------------------------------------------------------------------*/
+
+class turbulentHeatFluxTemperatureFvPatchScalarField
+:
+    public fixedGradientFvPatchScalarField
+{
+// Private data
+
+    //- Heat flux [W]
+    scalarField q_;
+
+    //- Name of density field
+    word rhoName_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("turbulentHeatFluxTemperature");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  turbulentHeatFluxTemperatureFvPatchScalarField onto
+        //  a new patch
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const turbulentHeatFluxTemperatureFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const turbulentHeatFluxTemperatureFvPatchScalarField&
+        );
+
+        //- Construct and return a clone
+        virtual tmp<fvPatchScalarField> clone() const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new turbulentHeatFluxTemperatureFvPatchScalarField(*this)
+            );
+        }
+
+        //- Construct as copy setting internal field reference
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const turbulentHeatFluxTemperatureFvPatchScalarField&,
+            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 turbulentHeatFluxTemperatureFvPatchScalarField
+                (
+                    *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&
+            );
+
+
+        // Evaluation functions
+
+            //- Update the coefficients associated with the patch field
+            virtual void updateCoeffs();
+
+
+        // I-O
+
+            //- Write
+            virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace compressible
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/turbulenceModels/RAS/incompressible/Make/files b/src/turbulenceModels/RAS/incompressible/Make/files
index 6584fc611340767ff6d9d63b7d24cbed89ec9047..8319edbe82a9f36af0b753f1792d392298699e3e 100644
--- a/src/turbulenceModels/RAS/incompressible/Make/files
+++ b/src/turbulenceModels/RAS/incompressible/Make/files
@@ -24,6 +24,7 @@ wallFunctions/nutWallFunctions/nutStandardWallFunction/nutStandardWallFunctionFv
 wallFunctions/nutWallFunctions/nutStandardRoughWallFunction/nutStandardRoughWallFunctionFvPatchScalarField.C
 
 /* Patch fields */
+derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
 derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C
 derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C
 
diff --git a/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
new file mode 100644
index 0000000000000000000000000000000000000000..f51ccb7251d24134dcee605d64d3d4c4c32455ac
--- /dev/null
+++ b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C
@@ -0,0 +1,191 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 1991-2008 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 "turbulentHeatFluxTemperatureFvPatchScalarField.H"
+#include "addToRunTimeSelectionTable.H"
+#include "fvPatchFieldMapper.H"
+#include "volFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace incompressible
+{
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedGradientFvPatchScalarField(p, iF),
+    q_(p.size(), 0.0),
+    alphaEffName_("undefinedAlphaEff"),
+    CpName_("undefinedCp")
+{}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const turbulentHeatFluxTemperatureFvPatchScalarField& ptf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedGradientFvPatchScalarField(ptf, p, iF, mapper),
+    q_(ptf.q_, mapper),
+    alphaEffName_(ptf.alphaEffName_),
+    CpName_(ptf.CpName_)
+{}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    fixedGradientFvPatchScalarField(p, iF),
+    q_("q", dict, p.size()),
+    alphaEffName_(dict.lookup("alphaEff")),
+    CpName_(dict.lookup("Cp"))
+{
+    fvPatchField<scalar>::operator=(patchInternalField());
+    gradient() = 0.0;
+}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf
+)
+:
+    fixedGradientFvPatchScalarField(thftpsf),
+    q_(thftpsf.q_),
+    alphaEffName_(thftpsf.alphaEffName_),
+    CpName_(thftpsf.CpName_)
+{}
+
+
+turbulentHeatFluxTemperatureFvPatchScalarField::
+turbulentHeatFluxTemperatureFvPatchScalarField
+(
+    const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedGradientFvPatchScalarField(thftpsf, iF),
+    q_(thftpsf.q_),
+    alphaEffName_(thftpsf.alphaEffName_),
+    CpName_(thftpsf.CpName_)
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::autoMap
+(
+    const fvPatchFieldMapper& m
+)
+{
+    scalarField::autoMap(m);
+    q_.autoMap(m);
+}
+
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::rmap
+(
+    const fvPatchScalarField& ptf,
+    const labelList& addr
+)
+{
+    fixedGradientFvPatchScalarField::rmap(ptf, addr);
+
+    const turbulentHeatFluxTemperatureFvPatchScalarField& thftptf =
+        refCast<const turbulentHeatFluxTemperatureFvPatchScalarField>
+        (
+            ptf
+        );
+
+    q_.rmap(thftptf.q_, addr);
+}
+
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs()
+{
+    if (updated())
+    {
+        return;
+    }
+
+    const scalarField& alphaEffp =
+        patch().lookupPatchField<volScalarField, scalar>(alphaEffName_);
+
+    const scalarField& Cpp =
+        patch().lookupPatchField<volScalarField, scalar>(CpName_);
+
+    gradient() = q_/(Cpp*alphaEffp);
+
+    fixedGradientFvPatchScalarField::updateCoeffs();
+}
+
+
+void turbulentHeatFluxTemperatureFvPatchScalarField::write(Ostream& os) const
+{
+    fixedGradientFvPatchScalarField::write(os);
+    q_.writeEntry("q", os);
+    os.writeKeyword("alphaEff") << alphaEffName_ << token::END_STATEMENT << nl;
+    os.writeKeyword("Cp") << CpName_ << token::END_STATEMENT << nl;
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+makePatchTypeField
+(
+    fvPatchScalarField,
+    turbulentHeatFluxTemperatureFvPatchScalarField
+);
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace incompressible
+} // End namespace Foam
+
+
+// ************************************************************************* //
+
diff --git a/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
new file mode 100644
index 0000000000000000000000000000000000000000..de677f0e91b0ac91a0c72e978e1f3158a034f2d5
--- /dev/null
+++ b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H
@@ -0,0 +1,179 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 1991-2008 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
+
+Class
+    Foam::turbulentHeatFluxTemperatureFvPatchScalarField
+
+Description
+    Fixed heat flux boundary condition for temperature.
+
+SourceFiles
+    turbulentHeatFluxTemperatureFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef turbulentHeatFluxTemperatureFvPatchScalarFields_H
+#define turbulentHeatFluxTemperatureFvPatchScalarFields_H
+
+#include "fvPatchFields.H"
+#include "fixedGradientFvPatchFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace incompressible
+{
+
+/*---------------------------------------------------------------------------*\
+       Class turbulentHeatFluxTemperatureFvPatchScalarField Declaration
+\*---------------------------------------------------------------------------*/
+
+class turbulentHeatFluxTemperatureFvPatchScalarField
+:
+    public fixedGradientFvPatchScalarField
+{
+// Private data
+
+    //- Heat flux [W/m2]
+    scalarField q_;
+
+    //- Name of effective thermal diffusivity field
+    word alphaEffName_;
+
+    //- Name of specific heat capacity field
+    word CpName_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("turbulentHeatFluxTemperature");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  turbulentHeatFluxTemperatureFvPatchScalarField onto
+        //  a new patch
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const turbulentHeatFluxTemperatureFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const turbulentHeatFluxTemperatureFvPatchScalarField&
+        );
+
+        //- Construct and return a clone
+        virtual tmp<fvPatchScalarField> clone() const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new turbulentHeatFluxTemperatureFvPatchScalarField(*this)
+            );
+        }
+
+        //- Construct as copy setting internal field reference
+        turbulentHeatFluxTemperatureFvPatchScalarField
+        (
+            const turbulentHeatFluxTemperatureFvPatchScalarField&,
+            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 turbulentHeatFluxTemperatureFvPatchScalarField
+                (
+                    *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&
+            );
+
+
+        // Evaluation functions
+
+            //- Update the coefficients associated with the patch field
+            virtual void updateCoeffs();
+
+
+        // I-O
+
+            //- Write
+            virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace incompressible
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //