wedgeLagrangianPatchField.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::wedgeLagrangianPatchField
26 
27 Description
28  A wedge boundary condition for Lagrangian. This is used for the patches
29  that have normals that point tangentially around an axisymmetric geometry.
30 
31 Usage
32  Example specification:
33  \verbatim
34  <LagrangianPatchName>
35  {
36  type wedge;
37  }
38  \endverbatim
39 
40 SourceFiles
41  wedgeLagrangianPatchField.C
42 
43 \*---------------------------------------------------------------------------*/
44 
45 #ifndef wedgeLagrangianPatchField_H
46 #define wedgeLagrangianPatchField_H
47 
48 #include "LagrangianPatchField.H"
49 #include "wedgeLagrangianPatch.H"
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 namespace Foam
54 {
55 
56 /*---------------------------------------------------------------------------*\
57  Class wedgeLagrangianPatchField Declaration
58 \*---------------------------------------------------------------------------*/
59 
60 template<class Type>
62 :
63  public LagrangianPatchField<Type>
64 {
65 private:
66 
67  // Private Data
68 
69  //- Reference to the wedge patch
70  const wedgeLagrangianPatch& wedgePatch_;
71 
72 
73 public:
74 
75  //- Runtime type information
76  TypeName("wedge");
77 
78 
79  // Constructors
80 
81  //- Construct from patch and internal field
83  (
84  const LagrangianPatch&,
85  const regIOobject&
86  );
87 
88  //- Construct from patch, internal field and dictionary
90  (
91  const LagrangianPatch&,
92  const regIOobject&,
93  const dictionary&
94  );
95 
96  //- Construct as copy
98  (
100  );
101 
102  //- Construct as copy setting the internal field reference
104  (
106  const regIOobject&
107  );
108 
109  //- Construct and return a clone
111  {
113  (
115  (
116  *this
117  )
118  );
119  }
120 
121  //- Construct and return a clone setting the internal field reference
123  (
124  const regIOobject& iIo
125  ) const
126  {
128  (
130  (
131  *this,
132  iIo
133  )
134  );
135  }
136 
137 
138  // Member Functions
139 
140  //- Evaluate the patch field
141  virtual void evaluate
142  (
145  );
146 };
147 
148 
149 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150 
151 } // End namespace Foam
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 #ifdef NoRepository
156  #include "wedgeLagrangianPatchField.C"
157 #endif
158 
159 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 
161 #endif
162 
163 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Base class for Lagrangian boundary conditions.
Base class for Lagrangian patches.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
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 keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Definition: regIOobject.H:55
A wedge boundary condition for Lagrangian. This is used for the patches that have normals that point ...
virtual autoPtr< LagrangianPatchField< Type > > clone() const
Construct and return a clone.
TypeName("wedge")
Runtime type information.
wedgeLagrangianPatchField(const LagrangianPatch &, const regIOobject &)
Construct from patch and internal field.
virtual void evaluate(PstreamBuffers &, const LagrangianScalarInternalDynamicField &fraction)
Evaluate the patch field.
Wedge Lagrangian patch. This is used for the patches that have normals that point tangentially around...
Namespace for OpenFOAM.