diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H b/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H
index 7101579845..cc6d7b563e 100644
--- a/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H
+++ b/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H
@@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2018 OpenFOAM Foundation
- Copyright (C) 2020 OpenCFD Ltd.
+ Copyright (C) 2020-2021 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@@ -42,6 +42,7 @@ License
#include "PatchParticleHistogram.H"
#include "RemoveParcels.H"
#include "VoidFraction.H"
+#include "KinematicReynoldsNumber.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H b/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H
index a53731492c..bc5bb9ec07 100644
--- a/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H
+++ b/src/lagrangian/intermediate/parcels/include/makeReactingParcelCloudFunctionObjects.H
@@ -42,6 +42,9 @@ License
#include "PatchParticleHistogram.H"
#include "RemoveParcels.H"
#include "VoidFraction.H"
+#include "NusseltNumber.H"
+#include "HeatTransferCoeff.H"
+#include "ThermoReynoldsNumber.H"
#include "WeberNumberReacting.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -61,6 +64,9 @@ License
makeCloudFunctionObjectType(PatchParticleHistogram, CloudType); \
makeCloudFunctionObjectType(RemoveParcels, CloudType); \
makeCloudFunctionObjectType(VoidFraction, CloudType); \
+ makeCloudFunctionObjectType(NusseltNumber, CloudType); \
+ makeCloudFunctionObjectType(HeatTransferCoeff, CloudType); \
+ makeCloudFunctionObjectType(ThermoReynoldsNumber, CloudType); \
makeCloudFunctionObjectType(WeberNumberReacting, CloudType);
diff --git a/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H b/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H
index 00816ea32a..635e809c8d 100644
--- a/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H
+++ b/src/lagrangian/intermediate/parcels/include/makeThermoParcelCloudFunctionObjects.H
@@ -41,6 +41,9 @@ License
#include "PatchParticleHistogram.H"
#include "RemoveParcels.H"
#include "VoidFraction.H"
+#include "NusseltNumber.H"
+#include "HeatTransferCoeff.H"
+#include "ThermoReynoldsNumber.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -58,7 +61,10 @@ License
makeCloudFunctionObjectType(PatchPostProcessing, CloudType); \
makeCloudFunctionObjectType(PatchParticleHistogram, CloudType); \
makeCloudFunctionObjectType(RemoveParcels, CloudType); \
- makeCloudFunctionObjectType(VoidFraction, CloudType);
+ makeCloudFunctionObjectType(VoidFraction, CloudType); \
+ makeCloudFunctionObjectType(NusseltNumber, CloudType); \
+ makeCloudFunctionObjectType(HeatTransferCoeff, CloudType); \
+ makeCloudFunctionObjectType(ThermoReynoldsNumber, CloudType);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/HeatTransferCoeff/HeatTransferCoeff.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/HeatTransferCoeff/HeatTransferCoeff.C
new file mode 100644
index 0000000000..ff1aa1fe90
--- /dev/null
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/HeatTransferCoeff/HeatTransferCoeff.C
@@ -0,0 +1,114 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | www.openfoam.com
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+ Copyright (C) 2021 OpenCFD Ltd.
+-------------------------------------------------------------------------------
+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, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "HeatTransferCoeff.H"
+#include "ThermoCloud.H"
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+template
+Foam::HeatTransferCoeff::HeatTransferCoeff
+(
+ const dictionary& dict,
+ CloudType& owner,
+ const word& modelName
+)
+:
+ CloudFunctionObject(dict, owner, modelName, typeName)
+{}
+
+
+template
+Foam::HeatTransferCoeff::HeatTransferCoeff
+(
+ const HeatTransferCoeff& htc
+)
+:
+ CloudFunctionObject(htc)
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+template
+void Foam::HeatTransferCoeff::postEvolve
+(
+ const typename parcelType::trackingData& td
+)
+{
+ auto& c = this->owner();
+ const auto& tc =
+ static_cast>>&>(c);
+
+ if (!c.template foundObject>("htc"))
+ {
+ auto* htcPtr =
+ new IOField
+ (
+ IOobject
+ (
+ "htc",
+ c.time().timeName(),
+ c,
+ IOobject::NO_READ
+ )
+ );
+
+ htcPtr->store();
+ }
+
+ auto& htc = c.template lookupObjectRef>("htc");
+ htc.setSize(c.size());
+
+ const auto& heatTransfer = tc.heatTransfer();
+ typename parcelType::trackingData& nctd =
+ const_cast(td);
+
+ label parceli = 0;
+ forAllConstIters(c, parcelIter)
+ {
+ const parcelType& p = parcelIter();
+
+ scalar Ts, rhos, mus, Pr, kappas;
+ p.template calcSurfaceValues
+ (
+ c, nctd, p.T(), Ts, rhos, mus, Pr, kappas
+ );
+ const scalar Re = p.Re(rhos, p.U(), td.Uc(), p.d(), mus);
+
+ htc[parceli++] = heatTransfer.htc(p.d(), Re, Pr, kappas, 0);
+ }
+
+
+ if (c.size() && c.time().writeTime())
+ {
+ htc.write();
+ }
+}
+
+
+// ************************************************************************* //
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/HeatTransferCoeff/HeatTransferCoeff.H b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/HeatTransferCoeff/HeatTransferCoeff.H
new file mode 100644
index 0000000000..7d64fa0008
--- /dev/null
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/HeatTransferCoeff/HeatTransferCoeff.H
@@ -0,0 +1,154 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | www.openfoam.com
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+ Copyright (C) 2021 OpenCFD Ltd.
+-------------------------------------------------------------------------------
+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, see .
+
+Class
+ Foam::HeatTransferCoeff
+
+Group
+ grpLagrangianIntermediateFunctionObjects
+
+Description
+ Calculates and writes particle heat transfer coefficient field on the cloud.
+
+ Operands:
+ \table
+ Operand | Type | Location
+ input | - | -
+ output file | - | -
+ output field | scalarField | \