nonConformalMappedWallPolyPatch.C
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) 2021-2023 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 \*---------------------------------------------------------------------------*/
25 
28 
29 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
30 
31 namespace Foam
32 {
34 
36  (
37  polyPatch,
39  word
40  );
42  (
43  polyPatch,
46  );
47 }
48 
49 
50 // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
51 
53 (
54  PstreamBuffers& pBufs
55 )
56 {
59 }
60 
61 
63 (
64  PstreamBuffers& pBufs,
65  const pointField& p
66 )
67 
68 {
71 }
72 
73 
75 (
76  PstreamBuffers& pBufs
77 )
78 {
81 }
82 
83 
85 {
88 }
89 
90 
92 {
93  wallPolyPatch::rename(newNames);
95 }
96 
97 
99 (
100  const labelUList& newToOldIndex
101 )
102 {
103  wallPolyPatch::reorder(newToOldIndex);
104  nonConformalPolyPatch::reorder(newToOldIndex);
105 }
106 
107 
108 // * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * * //
109 
111 (
112  const word& name,
113  const label size,
114  const label start,
115  const label index,
116  const polyBoundaryMesh& bm,
117  const word& patchType
118 )
119 :
120  wallPolyPatch(name, size, start, index, bm, patchType),
121  nonConformalPolyPatch(static_cast<const polyPatch&>(*this)),
123  (
124  static_cast<const nonConformalPolyPatch&>(*this)
125  )
126 {}
127 
128 
130 (
131  const word& name,
132  const label size,
133  const label start,
134  const label index,
135  const word& origPatchName,
136  const word& nbrRegionName,
137  const word& nbrPatchName,
138  const polyBoundaryMesh& bm
139 )
140 :
141  wallPolyPatch(name, size, start, index, bm, typeName),
142  nonConformalPolyPatch(*this, origPatchName),
144  (
145  *this,
146  nbrRegionName,
147  nbrPatchName,
148  cyclicTransform(true)
149  )
150 {}
151 
152 
154 (
155  const word& name,
156  const dictionary& dict,
157  const label index,
158  const polyBoundaryMesh& bm,
159  const word& patchType
160 )
161 :
162  wallPolyPatch(name, dict, index, bm, patchType),
163  nonConformalPolyPatch(*this, dict),
164  nonConformalMappedPatchBase(*this, dict, true)
165 {}
166 
167 
169 (
171  const polyBoundaryMesh& bm
172 )
173 :
174  wallPolyPatch(pp, bm),
175  nonConformalPolyPatch(*this, pp),
176  nonConformalMappedPatchBase(*this, pp)
177 {}
178 
179 
181 (
183  const polyBoundaryMesh& bm,
184  const label index,
185  const label newSize,
186  const label newStart
187 )
188 :
189  wallPolyPatch(pp, bm, index, newSize, newStart),
190  nonConformalPolyPatch(*this, pp),
191  nonConformalMappedPatchBase(*this, pp)
192 {}
193 
194 
195 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
196 
198 {}
199 
200 
201 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
202 
204 {
208 }
209 
210 
211 // ************************************************************************* //
Macros for easy insertion into run-time selection tables.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:57
Buffers for inter-processor communications streams (UOPstream, UIPstream).
Cyclic plane transformation.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Base class for poly patches which provides non-conformal mapping between two potentially non-globally...
virtual void write(Ostream &) const
Write as a dictionary.
void clearOut()
Clear out data on mesh change.
Wall poly patch which can do non-conformal mapping of values from another potentially non-globally co...
virtual void initMovePoints(PstreamBuffers &pBufs, const pointField &)
Initialise the patches for moving points.
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
virtual void rename(const wordList &newNames)
Reset the patch name.
virtual void reorder(const labelUList &newToOldIndex)
Reset the patch index.
virtual void initCalcGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
nonConformalMappedWallPolyPatch(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType)
Construct from components.
virtual void initTopoChange(PstreamBuffers &)
Initialise the update of the patch topology.
Non-conformal poly patch. This patch is a placeholder and must have no faces. This patch is linked to...
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
virtual void rename(const wordList &newNames)
Reset the patch name.
virtual void reorder(const labelUList &newToOldIndex)
Reset the patch index.
Foam::polyBoundaryMesh.
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:70
virtual void write(Ostream &) const
Write the polyPatch data as a dictionary.
Definition: polyPatch.C:355
virtual void rename(const wordList &newNames)
Reset the patch name.
Definition: polyPatch.C:82
virtual void clearGeom()
Clear geometry.
Definition: polyPatch.C:76
virtual void reorder(const labelUList &newToOldIndex)
Reset the patch index.
Definition: polyPatch.C:88
virtual void initCalcGeometry(PstreamBuffers &)
Initialise the calculation of the patch geometry.
Definition: polyPatch.H:97
virtual void initTopoChange(PstreamBuffers &)
Initialise the update of the patch topology.
Definition: polyPatch.H:115
virtual void initMovePoints(PstreamBuffers &, const pointField &)
Initialise the patches for moving points.
Definition: polyPatch.H:108
Foam::wallPolyPatch.
Definition: wallPolyPatch.H:51
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
word name(const bool)
Return a word representation of a bool.
Definition: boolIO.C:39
defineTypeNameAndDebug(combustionModel, 0)
dictionary dict
volScalarField & p