nonConformalCyclicLagrangianPatchField.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::nonConformalCyclicLagrangianPatchField
26 
27 Description
28  A non-conformal cyclic boundary condition for Lagrangian. Properties are
29  transformed by the transformation of the associated non-conformal cyclic
30  patch.
31 
32 Usage
33  Example specification:
34  \verbatim
35  <LagrangianPatchName>
36  {
37  type nonConformalCyclic;
38  }
39  \endverbatim
40 
41 SourceFiles
42  nonConformalCyclicLagrangianPatchField.C
43 
44 \*---------------------------------------------------------------------------*/
45 
46 #ifndef nonConformalCyclicLagrangianPatchField_H
47 #define nonConformalCyclicLagrangianPatchField_H
48 
49 #include "LagrangianPatchField.H"
51 
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 
54 namespace Foam
55 {
56 
57 /*---------------------------------------------------------------------------*\
58  Class nonConformalCyclicLagrangianPatchField Declaration
59 \*---------------------------------------------------------------------------*/
60 
61 template<class Type>
63 :
64  public LagrangianPatchField<Type>
65 {
66 private:
67 
68  // Private Data
69 
70  //- Reference to the nonConformalCyclic patch
71  const nonConformalCyclicLagrangianPatch& nonConformalCyclicPatch_;
72 
73 
74 public:
75 
76  //- Runtime type information
77  TypeName("nonConformalCyclic");
78 
79 
80  // Constructors
81 
82  //- Construct from patch and internal field
84  (
85  const LagrangianPatch&,
86  const regIOobject&
87  );
88 
89  //- Construct from patch, internal field and dictionary
91  (
92  const LagrangianPatch&,
93  const regIOobject&,
94  const dictionary&
95  );
96 
97  //- Construct as copy
99  (
101  );
102 
103  //- Construct as copy setting the internal field reference
105  (
107  const regIOobject&
108  );
109 
110  //- Construct and return a clone
112  {
114  (
116  (
117  *this
118  )
119  );
120  }
121 
122  //- Construct and return a clone setting the internal field reference
124  (
125  const regIOobject& iIo
126  ) const
127  {
129  (
131  (
132  *this,
133  iIo
134  )
135  );
136  }
137 
138 
139  // Member Functions
140 
141  //- Evaluate the patch field
142  virtual void evaluate
143  (
146  );
147 };
148 
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 } // End namespace Foam
153 
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 
156 #ifdef NoRepository
158 #endif
159 
160 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161 
162 #endif
163 
164 // ************************************************************************* //
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
A non-conformal cyclic boundary condition for Lagrangian. Properties are transformed by the transform...
TypeName("nonConformalCyclic")
Runtime type information.
nonConformalCyclicLagrangianPatchField(const LagrangianPatch &, const regIOobject &)
Construct from patch and internal field.
virtual autoPtr< LagrangianPatchField< Type > > clone() const
Construct and return a clone.
virtual void evaluate(PstreamBuffers &, const LagrangianScalarInternalDynamicField &fraction)
Evaluate the patch field.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Definition: regIOobject.H:55
Namespace for OpenFOAM.