NoHeatTransfer.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9  Copyright (C) 2021 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::NoHeatTransfer
29 
30 Group
31  grpLagrangianIntermediateHeatTransferSubModels
32 
33 Description
34  Nusselt-number model providing an interface to the
35  properties of \c HeatTransferModel without any active model.
36 
37 Usage
38  Minimal example by using \c constant/<CloudProperties>:
39  \verbatim
40  subModels
41  {
42  heatTransferModel none;
43  }
44  \endverbatim
45 
46  where the entries mean:
47  \table
48  Property | Description | Type | Reqd | Deflt
49  heatTransferModel | Type name: none | word | yes | -
50  \endtable
51 
52 SourceFiles
53  NoHeatTransfer.C
54 
55 \*---------------------------------------------------------------------------*/
56 
57 #ifndef NoHeatTransfer_H
58 #define NoHeatTransfer_H
59 
60 #include "HeatTransferModel.H"
61 
62 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
63 
64 namespace Foam
65 {
66 
67 /*---------------------------------------------------------------------------*\
68  Class NoHeatTransfer Declaration
69 \*---------------------------------------------------------------------------*/
70 
71 template<class CloudType>
72 class NoHeatTransfer
73 :
74  public HeatTransferModel<CloudType>
75 {
76 public:
77 
78  //- Runtime type information
79  TypeName("none");
80 
81 
82  // Generated Methods
83 
84  //- No copy assignment
85  void operator=(const NoHeatTransfer&) = delete;
86 
87 
88  // Constructors
89 
90  //- Construct from dictionary
91  NoHeatTransfer(const dictionary&, CloudType& owner);
92 
93  //- Copy construct
95 
96  //- Construct and return a clone
98  {
100  (
101  new NoHeatTransfer<CloudType>(*this)
102  );
103  }
104 
105 
106  //- Destructor
107  virtual ~NoHeatTransfer() = default;
108 
109 
110  // Member Functions
111 
112  //- Flag to indicate whether model activates heat transfer model
113  virtual bool active() const
114  {
115  return false;
116  }
117 
118 
119  // Evaluation
120 
121  //- Return Nusselt number
122  virtual scalar Nu(const scalar Re, const scalar Pr) const
123  {
124  return 0.0;
125  }
126 
127  //- Return Prandtl number
128  virtual scalar Pr() const
129  {
130  return 1.0;
131  }
132 };
133 
134 
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 
137 } // End namespace Foam
138 
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 
141 #ifdef NoRepository
142  #include "NoHeatTransfer.C"
143 #endif
144 
145 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 
147 #endif
148 
149 // ************************************************************************* //
Foam::NoHeatTransfer::TypeName
TypeName("none")
Runtime type information.
Foam::NoHeatTransfer::~NoHeatTransfer
virtual ~NoHeatTransfer()=default
Destructor.
Foam::NoHeatTransfer
Nusselt-number model providing an interface to the properties of HeatTransferModel without any active...
Definition: NoHeatTransfer.H:83
Foam::HeatTransferModel
Templated class to calculate the fluid-particle heat transfer coefficients based on a specified Nusse...
Definition: ThermoCloud.H:59
Foam::NoHeatTransfer::active
virtual bool active() const
Flag to indicate whether model activates heat transfer model.
Definition: NoHeatTransfer.H:124
Foam::NoHeatTransfer::operator=
void operator=(const NoHeatTransfer &)=delete
No copy assignment.
Foam::NoHeatTransfer::clone
virtual autoPtr< HeatTransferModel< CloudType > > clone() const
Construct and return a clone.
Definition: NoHeatTransfer.H:108
NoHeatTransfer.C
Foam::NoHeatTransfer::NoHeatTransfer
NoHeatTransfer(const dictionary &, CloudType &owner)
Construct from dictionary.
Definition: NoHeatTransfer.C:35
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
Foam::NoHeatTransfer::Pr
virtual scalar Pr() const
Return Prandtl number.
Definition: NoHeatTransfer.H:139
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
HeatTransferModel.H
Foam::Re
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
Foam::NoHeatTransfer::Nu
virtual scalar Nu(const scalar Re, const scalar Pr) const
Return Nusselt number.
Definition: NoHeatTransfer.H:133