HeatTransferCoeff.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) 2021 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::HeatTransferCoeff
28 
29 Group
30  grpLagrangianIntermediateFunctionObjects
31 
32 Description
33  Calculates and writes particle heat transfer coefficient field on the cloud.
34 
35  Operands:
36  \table
37  Operand | Type | Location
38  input | - | -
39  output file | - | -
40  output field | scalarField | <time>/lagrangian/<cloud>/htc
41  \endtable
42 
43 Usage
44  Minimal example by using \c constant/<CloudProperties>:
45  \verbatim
46  cloudFunctionObjects
47  {
48  HeatTransferCoeff1
49  {
50  // Mandatory entries
51  type HeatTransferCoeff;
52  }
53  }
54  \endverbatim
55 
56  where the entries mean:
57  \table
58  Property | Description | Type | Reqd | Deflt
59  type | Type name: HeatTransferCoeff | word | yes | -
60  \endtable
61 
62 SourceFiles
63  HeatTransferCoeff.C
64 
65 \*---------------------------------------------------------------------------*/
66 
67 #ifndef HeatTransferCoeff_H
68 #define HeatTransferCoeff_H
69 
70 #include "CloudFunctionObject.H"
71 
72 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
73 
74 namespace Foam
75 {
76 
77 /*---------------------------------------------------------------------------*\
78  Class HeatTransferCoeff Declaration
79 \*---------------------------------------------------------------------------*/
80 
81 template<class CloudType>
82 class HeatTransferCoeff
83 :
84  public CloudFunctionObject<CloudType>
85 {
86  // Private Data
87 
88  // Typedefs
89 
90  //- Convenience typedef for parcel type
91  typedef typename CloudType::parcelType parcelType;
92 
93 
94 public:
95 
96  //- Runtime type information
97  TypeName("HeatTransferCoeff");
98 
99 
100  // Generated Methods
101 
102  //- No copy assignment
103  void operator=(const HeatTransferCoeff<CloudType>&) = delete;
104 
106  // Constructors
107 
108  //- Construct from dictionary
110  (
111  const dictionary& dict,
112  CloudType& owner,
113  const word& modelName
114  );
115 
116  //- Copy construct
118 
119  //- Construct and return a clone
121  {
123  (
125  );
126  }
127 
128 
129  //- Destructor
130  virtual ~HeatTransferCoeff() = default;
131 
132 
133  // Member Functions
134 
135  //- Post-evolve hook
136  virtual void postEvolve(const typename parcelType::trackingData& td);
137 };
138 
139 
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 
142 } // End namespace Foam
143 
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 
146 #ifdef NoRepository
147  #include "HeatTransferCoeff.C"
148 #endif
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #endif
153 
154 // ************************************************************************* //
Calculates and writes particle heat transfer coefficient field on the cloud.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
virtual void postEvolve(const typename parcelType::trackingData &td)
Post-evolve hook.
const word & modelName() const
Return const access to the name of the sub-model.
Definition: subModelBase.C:98
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:104
const CloudType & owner() const
Return const access to the owner cloud.
A class for handling words, derived from Foam::string.
Definition: word.H:63
TypeName("HeatTransferCoeff")
Runtime type information.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Definition: DSMCCloud.H:290
void operator=(const HeatTransferCoeff< CloudType > &)=delete
No copy assignment.
HeatTransferCoeff(const dictionary &dict, CloudType &owner, const word &modelName)
Construct from dictionary.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Definition: HashPtrTable.H:48
virtual autoPtr< CloudFunctionObject< CloudType > > clone() const
Construct and return a clone.
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:67
virtual ~HeatTransferCoeff()=default
Destructor.
Namespace for OpenFOAM.