zeroLagrangianFieldSource.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) 2025 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::zeroLagrangianFieldSource
26 
27 Description
28  This source condition provides a zero value.
29 
30 Usage
31  Example specification:
32  \verbatim
33  <LagrangianModelName>
34  {
35  type zero;
36  }
37  \endverbatim
38 
39 SourceFiles
40  zeroLagrangianFieldSource.C
41 
42 \*---------------------------------------------------------------------------*/
43 
44 #ifndef zeroLagrangianFieldSource_H
45 #define zeroLagrangianFieldSource_H
46 
47 #include "LagrangianFieldSource.H"
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 namespace Foam
52 {
53 
54 /*---------------------------------------------------------------------------*\
55  Class zeroLagrangianFieldSource Declaration
56 \*---------------------------------------------------------------------------*/
57 
58 template<class Type>
60 :
61  public LagrangianFieldSource<Type>
62 {
63 public:
64 
65  //- Runtime type information
66  TypeName("zero");
67 
68 
69  // Constructors
70 
71  //- Inherit constructors
73 
74  //- Construct and return a clone setting the internal field reference
76  (
77  const regIOobject& iIo
78  ) const
79  {
81  (
82  new zeroLagrangianFieldSource<Type>(*this, iIo)
83  );
84  }
85 
86 
87  //- Destructor
89 
90 
91  // Member Functions
92 
93  //- Return the source value
95  (
96  const LagrangianSource&,
97  const LagrangianSubMesh&
98  ) const;
99 
100  //- Return the internal coefficient
102  (
103  const LagrangianSource&,
104  const LagrangianSubMesh&
105  ) const;
106 
107  //- Return the value for an instantaneous injection
109  (
110  const LagrangianInjection&,
111  const LagrangianSubMesh&
112  ) const;
113 };
114 
115 
116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117 
118 } // End namespace Foam
119 
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121 
122 #ifdef NoRepository
123  #include "zeroLagrangianFieldSource.C"
124 #endif
125 
126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 
128 #endif
129 
130 // ************************************************************************* //
Base class for Lagrangian source conditions.
autoPtr< LagrangianFieldSource< Type > > clone() const
Disallow clone without setting the internal field reference.
Base class for Lagrangian injections. Minimal wrapper over LagrangianSource. Implements some utility ...
Base class for Lagrangian sources. Minimal wrapper over LagrangianModel that provides an interface to...
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Definition: regIOobject.H:55
A class for managing temporary objects.
Definition: tmp.H:55
This source condition provides a zero value.
virtual tmp< LagrangianSubField< Type > > value(const LagrangianInjection &, const LagrangianSubMesh &) const
Return the value for an instantaneous injection.
TypeName("zero")
Runtime type information.
virtual tmp< LagrangianSubField< Type > > sourceValue(const LagrangianSource &, const LagrangianSubMesh &) const
Return the source value.
virtual tmp< LagrangianSubScalarField > internalCoeff(const LagrangianSource &, const LagrangianSubMesh &) const
Return the internal coefficient.
Namespace for OpenFOAM.