mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
DOC: lagrangian: review heat transfer models
This commit is contained in:
committed by
Andrew Heather
parent
283c94fdd0
commit
1911dba4d5
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -46,7 +47,7 @@ Foam::HeatTransferModel<CloudType>::HeatTransferModel
|
||||
)
|
||||
:
|
||||
CloudSubModelBase<CloudType>(owner, dict, typeName, type),
|
||||
BirdCorrection_(this->coeffDict().lookup("BirdCorrection"))
|
||||
BirdCorrection_(this->coeffDict().template get<Switch>("BirdCorrection"))
|
||||
{}
|
||||
|
||||
|
||||
@ -61,13 +62,6 @@ Foam::HeatTransferModel<CloudType>::HeatTransferModel
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
Foam::HeatTransferModel<CloudType>::~HeatTransferModel()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2020 OpenCFD Ltd.
|
||||
Copyright (C) 2020-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -31,7 +31,77 @@ Group
|
||||
grpLagrangianIntermediateHeatTransferSubModels
|
||||
|
||||
Description
|
||||
Templated heat transfer model class
|
||||
Templated class to calculate the fluid-particle heat transfer
|
||||
coefficients based on a specified Nusselt-number model.
|
||||
|
||||
\f[
|
||||
h = \frac{\mathrm{Nu} \, \kappa}{d_p}
|
||||
\f]
|
||||
where
|
||||
|
||||
\vartable
|
||||
h | Convective heat transfer coefficient of the flow
|
||||
\mathrm{Nu} | Nusselt number
|
||||
\kappa | Thermal conductivity of carrier in the film
|
||||
d_p | Particle diameter
|
||||
\endvartable
|
||||
|
||||
Optionally, Bird-Stewart-Lightfoot correction can be applied
|
||||
to correct the heat transfer coefficient for evaporation:
|
||||
|
||||
\f[
|
||||
h_{corr} = h \, \frac{\beta}{ \exp(\beta) + 1 }
|
||||
\f]
|
||||
with
|
||||
|
||||
\f[
|
||||
\beta = \frac{N \, C_p \, W}{h}
|
||||
\f]
|
||||
where
|
||||
|
||||
\vartable
|
||||
\beta | Correction factor
|
||||
N | Molar flux
|
||||
C_p | Specific heat capacity
|
||||
W | Molecular weight
|
||||
\endvartable
|
||||
|
||||
Reference:
|
||||
\verbatim
|
||||
Bird, R. B., Stewart, W. E., & Lightfoot, E. N. (1960).
|
||||
Transport phenomena.
|
||||
John Wiley & Sons., New York.
|
||||
DOI:10.1002/aic.690070245
|
||||
\endverbatim
|
||||
|
||||
Usage
|
||||
Minimal example by using \c constant/\<CloudProperties\>:
|
||||
\verbatim
|
||||
subModels
|
||||
{
|
||||
heatTransferModel <model>;
|
||||
|
||||
<model>Coeffs
|
||||
{
|
||||
BirdCorrection true;
|
||||
}
|
||||
}
|
||||
\endverbatim
|
||||
|
||||
where the entries mean:
|
||||
\table
|
||||
Property | Description | Type | Reqd | Deflt
|
||||
heatTransferModel | Type name: \<model\> | word | yes | -
|
||||
\<model\>Coeffs | Model properties | dict | cndtnl | -
|
||||
BirdCorrection | Flag to apply Bird-Stewart-Lightfoot's <!--
|
||||
--> correction to the heat transfer coefficient | bool | cndtnl | -
|
||||
\endtable
|
||||
|
||||
Options for the \c \<model\> entry:
|
||||
\verbatim
|
||||
RanzMarshall | Ranz-Marshall correlation for Nusselt number
|
||||
none | No active model
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
HeatTransferModel.C
|
||||
@ -63,7 +133,7 @@ class HeatTransferModel
|
||||
{
|
||||
// Private Data
|
||||
|
||||
//- Apply Bird's correction to the htc
|
||||
//- Flag to apply Bird-Stewart-Lightfoot's correction to the htc
|
||||
const Switch BirdCorrection_;
|
||||
|
||||
|
||||
@ -86,6 +156,12 @@ public:
|
||||
);
|
||||
|
||||
|
||||
// Generated Methods
|
||||
|
||||
//- No copy assignment
|
||||
void operator=(const HeatTransferModel<CloudType>&) = delete;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null from owner
|
||||
@ -99,7 +175,7 @@ public:
|
||||
const word& type
|
||||
);
|
||||
|
||||
//- Construct copy
|
||||
//- Copy construct
|
||||
HeatTransferModel(const HeatTransferModel<CloudType>& htm);
|
||||
|
||||
//- Construct and return a clone
|
||||
@ -107,7 +183,7 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~HeatTransferModel();
|
||||
virtual ~HeatTransferModel() = default;
|
||||
|
||||
|
||||
//- Selector
|
||||
@ -121,7 +197,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- The Bird HTC correction flag
|
||||
bool BirdCorrection() const
|
||||
bool BirdCorrection() const noexcept
|
||||
{
|
||||
return BirdCorrection_;
|
||||
}
|
||||
@ -129,7 +205,7 @@ public:
|
||||
|
||||
// Evaluation
|
||||
|
||||
//- Nusselt number
|
||||
//- Return Nusselt number
|
||||
virtual scalar Nu
|
||||
(
|
||||
const scalar Re,
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -50,38 +51,4 @@ Foam::NoHeatTransfer<CloudType>::NoHeatTransfer
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
Foam::NoHeatTransfer<CloudType>::~NoHeatTransfer()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
bool Foam::NoHeatTransfer<CloudType>::active() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
Foam::scalar Foam::NoHeatTransfer<CloudType>::Nu
|
||||
(
|
||||
const scalar,
|
||||
const scalar
|
||||
) const
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
Foam::scalar Foam::NoHeatTransfer<CloudType>::Pr() const
|
||||
{
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -30,7 +31,26 @@ Group
|
||||
grpLagrangianIntermediateHeatTransferSubModels
|
||||
|
||||
Description
|
||||
Dummy heat transfer model for 'none'
|
||||
Nusselt-number model providing an interface to the
|
||||
properties of \c HeatTransferModel without any active model.
|
||||
|
||||
Usage
|
||||
Minimal example by using \c constant/\<CloudProperties\>:
|
||||
\verbatim
|
||||
subModels
|
||||
{
|
||||
heatTransferModel none;
|
||||
}
|
||||
\endverbatim
|
||||
|
||||
where the entries mean:
|
||||
\table
|
||||
Property | Description | Type | Reqd | Deflt
|
||||
heatTransferModel | Type name: none | word | yes | -
|
||||
\endtable
|
||||
|
||||
SourceFiles
|
||||
NoHeatTransfer.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -59,12 +79,18 @@ public:
|
||||
TypeName("none");
|
||||
|
||||
|
||||
// Generated Methods
|
||||
|
||||
//- No copy assignment
|
||||
void operator=(const NoHeatTransfer&) = delete;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary
|
||||
NoHeatTransfer(const dictionary&, CloudType& owner);
|
||||
|
||||
//- Construct copy
|
||||
//- Copy construct
|
||||
NoHeatTransfer(const NoHeatTransfer<CloudType>& im);
|
||||
|
||||
//- Construct and return a clone
|
||||
@ -78,19 +104,31 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~NoHeatTransfer();
|
||||
virtual ~NoHeatTransfer() = default;
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Flag to indicate whether model activates heat transfer model
|
||||
virtual bool active() const;
|
||||
virtual bool active() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//- Nusselt number
|
||||
virtual scalar Nu(const scalar, const scalar) const;
|
||||
|
||||
//- Prandtl number
|
||||
virtual scalar Pr() const;
|
||||
// Evaluation
|
||||
|
||||
//- Return Nusselt number
|
||||
virtual scalar Nu(const scalar Re, const scalar Pr) const
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
//- Return Prandtl number
|
||||
virtual scalar Pr() const
|
||||
{
|
||||
return 1.0;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -56,13 +56,6 @@ Foam::RanzMarshall<CloudType>::RanzMarshall(const RanzMarshall<CloudType>& htm)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
Foam::RanzMarshall<CloudType>::~RanzMarshall()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
@ -72,6 +65,7 @@ Foam::scalar Foam::RanzMarshall<CloudType>::Nu
|
||||
const scalar Pr
|
||||
) const
|
||||
{
|
||||
// (AOB:p. 18 below Eq. 42)
|
||||
return a_ + b_*pow(Re, m_)*pow(Pr, n_);
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,90 @@ Group
|
||||
grpLagrangianIntermediateHeatTransferSubModels
|
||||
|
||||
Description
|
||||
The Ranz-Marshall correlation for heat transfer
|
||||
Nusselt-number model using the empirical Ranz-Marshall correlation
|
||||
to be used in modelling of the fluid-particle heat transfer coefficient:
|
||||
|
||||
\f[
|
||||
\mathrm{Nu} = a + b \, \mathrm{Re}_p^{m} \, \mathrm{Pr}^{n}
|
||||
\f]
|
||||
with
|
||||
|
||||
\f[
|
||||
\mathrm{Re}_p =
|
||||
\frac{\rho_c \, | \mathbf{u}_\mathrm{rel} | \, d_p}{\mu_c}
|
||||
\f]
|
||||
|
||||
\f[
|
||||
\mathrm{Pr} = \frac{ C_p \, \mu_c }{ \kappa_c }
|
||||
\f]
|
||||
where
|
||||
|
||||
\vartable
|
||||
\mathrm{Nu} | Nusselt number
|
||||
\mathrm{Re}_p | Particle Reynolds number
|
||||
\mathrm{Pr} | Prandtl number
|
||||
d_p | Particle diameter
|
||||
\rho_c | Density of carrier in the film surrounding particle
|
||||
\mu_c | Dynamic viscosity of carrier in the film surrounding particle
|
||||
\mathbf{u}_\mathrm{rel} | Relative velocity between particle and carrier
|
||||
a | Correlation coefficient
|
||||
b | Correlation coefficient
|
||||
m | Correlation exponent of particle Reynolds number
|
||||
n | Correlation exponent of Prandtl number
|
||||
C_p | Specific heat capacity
|
||||
\kappa_c | Thermal conductivity of carrier in the film
|
||||
\endvartable
|
||||
|
||||
Reference:
|
||||
\verbatim
|
||||
Standard model:
|
||||
Ranz, W. E., & Marshall, W. R. (1952).
|
||||
Evaporation from drops - part 1.
|
||||
Chem. Eng. Prog, 48, 22, pp. 141-146.
|
||||
|
||||
Ranz, W. E., & Marshall, W. R. (1952).
|
||||
Evaporation from drops - part 2.
|
||||
Chem. Eng. Prog, 48, 4, pp. 173-180.
|
||||
|
||||
Expressions (tag:AOB), p. 18:
|
||||
Amsden, A. A., O'Rourke, P. J., & Butler, T. D. (1989).
|
||||
KIVA-II: A computer program for chemically
|
||||
reactive flows with sprays (No. LA-11560-MS).
|
||||
Los Alamos National Lab.(LANL), Los Alamos, NM (United States).
|
||||
DOI:10.2172/6228444
|
||||
\endverbatim
|
||||
|
||||
Usage
|
||||
Minimal example by using \c constant/\<CloudProperties\>:
|
||||
\verbatim
|
||||
subModels
|
||||
{
|
||||
// Mandatory entries
|
||||
heatTransferModel RanzMarshall;
|
||||
|
||||
// Optional entries
|
||||
RanzMarshallCoeffs
|
||||
{
|
||||
a 2.0;
|
||||
b 0.6;
|
||||
m 0.5;
|
||||
n 0.66666;
|
||||
}
|
||||
}
|
||||
\endverbatim
|
||||
|
||||
where the entries mean:
|
||||
\table
|
||||
Property | Description | Type | Reqd | Deflt
|
||||
heatTransferModel | Type name: RanzMarshall | word | yes | -
|
||||
a | Correlation coefficient | scalar | no | 2.0
|
||||
b | Correlation coefficient | scalar | no | 0.6
|
||||
m | Correlation exponent of particle Reynolds number | scalar | no | 0.5
|
||||
n | Correlation exponent of Prandtl number | scalar | no | 1.0/3.0
|
||||
\endtable
|
||||
|
||||
SourceFiles
|
||||
RanzMarshall.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -75,12 +158,18 @@ public:
|
||||
TypeName("RanzMarshall");
|
||||
|
||||
|
||||
// Generated Methods
|
||||
|
||||
//- No copy assignment
|
||||
void operator=(const RanzMarshall&) = delete;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary
|
||||
RanzMarshall(const dictionary& dict, CloudType& cloud);
|
||||
|
||||
//- Construct copy
|
||||
//- Copy construct
|
||||
RanzMarshall(const RanzMarshall<CloudType>& im);
|
||||
|
||||
//- Construct and return a clone
|
||||
@ -94,14 +183,14 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~RanzMarshall();
|
||||
virtual ~RanzMarshall() = default;
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
// Evaluation
|
||||
|
||||
//- Nusselt number
|
||||
//- Return Nusselt number
|
||||
virtual scalar Nu
|
||||
(
|
||||
const scalar Re,
|
||||
|
||||
Reference in New Issue
Block a user