maxLagrangianFieldSource.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::maxLagrangianFieldSource
26 
27 Description
28  This source condition provides the maximum value of the primitive type;
29  i.e., all components set to vGreat.
30 
31 Usage
32  Example specification:
33  \verbatim
34  <LagrangianModelName>
35  {
36  type max;
37  }
38  \endverbatim
39 
40 SourceFiles
41  maxLagrangianFieldSource.C
42 
43 \*---------------------------------------------------------------------------*/
44 
45 #ifndef maxLagrangianFieldSource_H
46 #define maxLagrangianFieldSource_H
47 
48 #include "LagrangianFieldSource.H"
49 
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 
52 namespace Foam
53 {
54 
55 /*---------------------------------------------------------------------------*\
56  Class maxLagrangianFieldSource Declaration
57 \*---------------------------------------------------------------------------*/
58 
59 template<class Type>
61 :
62  public LagrangianFieldSource<Type>
63 {
64 public:
65 
66  //- Runtime type information
67  TypeName("max");
68 
69 
70  // Constructors
71 
72  //- Inherit constructors
74 
75  //- Construct and return a clone setting the internal field reference
77  (
78  const regIOobject& iIo
79  ) const
80  {
82  (
83  new maxLagrangianFieldSource<Type>(*this, iIo)
84  );
85  }
86 
87 
88  //- Destructor
89  virtual ~maxLagrangianFieldSource();
90 
91 
92  // Member Functions
93 
94  //- Return the source value
96  (
97  const LagrangianSource&,
98  const LagrangianSubMesh&
99  ) const;
100 
101  //- Return the internal coefficient
103  (
104  const LagrangianSource&,
105  const LagrangianSubMesh&
106  ) const;
107 
108  //- Return the value for an instantaneous injection
110  (
111  const LagrangianInjection&,
112  const LagrangianSubMesh&
113  ) const;
114 };
115 
116 
117 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118 
119 } // End namespace Foam
120 
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 
123 #ifdef NoRepository
124  #include "maxLagrangianFieldSource.C"
125 #endif
126 
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128 
129 #endif
130 
131 // ************************************************************************* //
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
This source condition provides the maximum value of the primitive type; i.e., all components set to v...
virtual ~maxLagrangianFieldSource()
Destructor.
virtual tmp< LagrangianSubField< Type > > value(const LagrangianInjection &, const LagrangianSubMesh &) const
Return the value for an instantaneous injection.
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.
TypeName("max")
Runtime type information.
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
Namespace for OpenFOAM.