NusseltNumber.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::NusseltNumber
28 
29 Group
30  grpLagrangianIntermediateFunctionObjects
31 
32 Description
33  Calculates and writes particle Nusselt number 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>/Nu
41  \endtable
42 
43 Usage
44  Minimal example by using \c constant/<CloudProperties>:
45  \verbatim
46  cloudFunctionObjects
47  {
48  NusseltNumber1
49  {
50  // Mandatory entries
51  type NusseltNumber;
52  }
53  }
54  \endverbatim
55 
56  where the entries mean:
57  \table
58  Property | Description | Type | Reqd | Deflt
59  type | Type name: NusseltNumber | word | yes | -
60  \endtable
61 
62 SourceFiles
63  NusseltNumber.C
64 
65 \*---------------------------------------------------------------------------*/
66 
67 #ifndef NusseltNumber_H
68 #define NusseltNumber_H
69 
70 #include "CloudFunctionObject.H"
71 
72 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
73 
74 namespace Foam
75 {
76 
77 /*---------------------------------------------------------------------------*\
78  Class NusseltNumber Declaration
79 \*---------------------------------------------------------------------------*/
80 
81 template<class CloudType>
82 class NusseltNumber
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("NusseltNumber");
98 
99 
100  // Generated Methods
101 
102  //- No copy assignment
103  void operator=(const NusseltNumber<CloudType>&) = delete;
104 
105 
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  (
124  new NusseltNumber<CloudType>(*this)
125  );
126  }
127 
128 
129  //- Destructor
130  virtual ~NusseltNumber() = 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 "NusseltNumber.C"
148 #endif
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #endif
153 
154 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
NusseltNumber.C
Foam::NusseltNumber::postEvolve
virtual void postEvolve(const typename parcelType::trackingData &td)
Post-evolve hook.
Definition: NusseltNumber.C:59
Foam::subModelBase::modelName
const word & modelName() const
Return const access to the name of the sub-model.
Definition: subModelBase.C:107
CloudFunctionObject.H
Foam::NusseltNumber::TypeName
TypeName("NusseltNumber")
Runtime type information.
Foam::subModelBase::dict
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
Foam::CloudSubModelBase::owner
const CloudType & owner() const
Return const access to the owner cloud.
Definition: CloudSubModelBase.C:106
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
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::NusseltNumber::~NusseltNumber
virtual ~NusseltNumber()=default
Destructor.
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::NusseltNumber::clone
virtual autoPtr< CloudFunctionObject< CloudType > > clone() const
Construct and return a clone.
Definition: NusseltNumber.H:147
Foam::NusseltNumber
Calculates and writes particle Nusselt number field on the cloud.
Definition: NusseltNumber.H:109
Foam::CloudFunctionObject
Templated cloud function object base class.
Definition: CloudFunctionObject.H:62
Foam::NusseltNumber::operator=
void operator=(const NusseltNumber< CloudType > &)=delete
No copy assignment.
Foam::DSMCCloud::parcelType
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Definition: DSMCCloud.H:220
Foam::NusseltNumber::NusseltNumber
NusseltNumber(const dictionary &dict, CloudType &owner, const word &modelName)
Construct from dictionary.
Definition: NusseltNumber.C:35