nucleationSizeGroupFvScalarFieldSource.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2024 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::nucleationSizeGroupFvScalarFieldSource
26 
27 Description
28  This source condition creates a nucleation source term in the size group
29  equations of a population balance. The fvSource it relates to should be a
30  nucleation model.
31 
32 Usage
33  Example of the source condition specification:
34  \verbatim
35  <sourceName>
36  {
37  type nucleationSizeGroup;
38  libs ("libmultiphaseEulerFvModels.so");
39  }
40  \endverbatim
41 
42 
43 SourceFiles
44  nucleationSizeGroupFvScalarFieldSource.C
45 
46 \*---------------------------------------------------------------------------*/
47 
48 #ifndef nucleationSizeGroupFvScalarFieldSource_H
49 #define nucleationSizeGroupFvScalarFieldSource_H
50 
51 #include "fvFieldSources.H"
52 
53 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 
55 namespace Foam
56 {
57 
58 /*---------------------------------------------------------------------------*\
59  Class nucleationSizeGroupFvScalarFieldSource Declaration
60 \*---------------------------------------------------------------------------*/
61 
63 :
64  public fvScalarFieldSource
65 {
66 public:
67 
68  //- Runtime type information
69  TypeName("nucleationSizeGroup");
70 
71 
72  // Constructors
73 
74  //- Construct from internal field and dictionary
76  (
78  const dictionary& dict
79  );
80 
81  //- Copy constructor setting internal field reference
83  (
86  );
87 
88  //- Construct and return a clone setting internal field reference
90  (
92  ) const
93  {
95  (
97  (
98  *this,
99  iF
100  )
101  );
102  }
103 
104 
105  //- Destructor
107 
108 
109  // Member Functions
110 
111  //- Return the source value
112  virtual tmp<scalarField> sourceValue(const fvSource&) const;
113 
114  //- Return the internal coefficient
115  virtual tmp<scalarField> internalCoeff(const fvSource&) const;
116 
117  //- Write
118  virtual void write(Ostream&) const;
119 };
120 
121 
122 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123 
124 } // End namespace Foam
125 
126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 
128 #endif
129 
130 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:57
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Base class for finite volume sources.
Definition: fvSource.H:52
This source condition creates a nucleation source term in the size group equations of a population ba...
virtual tmp< scalarField > internalCoeff(const fvSource &) const
Return the internal coefficient.
virtual autoPtr< fvScalarFieldSource > clone(const DimensionedField< scalar, volMesh > &iF) const
Construct and return a clone setting internal field reference.
nucleationSizeGroupFvScalarFieldSource(const DimensionedField< scalar, volMesh > &, const dictionary &dict)
Construct from internal field and dictionary.
virtual tmp< scalarField > sourceValue(const fvSource &) const
Return the source value.
TypeName("nucleationSizeGroup")
Runtime type information.
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.
dictionary dict