processorCyclicPointPatch.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) 2011-2026 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::processorCyclicPointPatch
26 
27 Description
28  Processor patch boundary needs to be such that the ordering of
29  points in the patch is the same on both sides.
30 
31  Looking at the creation of the faces on both sides of the processor
32  patch they need to be identical on both sides with the normals pointing
33  in opposite directions. This is achieved by calling the reverseFace
34  function in the decomposition. It is therefore possible to re-create
35  the ordering of patch points on the slave side by reversing all the
36  patch faces of the owner.
37 
38 SourceFiles
39  processorCyclicPointPatch.C
40 
41 \*---------------------------------------------------------------------------*/
42 
43 #ifndef processorCyclicPointPatch_H
44 #define processorCyclicPointPatch_H
45 
46 #include "processorPointPatch.H"
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 namespace Foam
52 {
53 
54 /*---------------------------------------------------------------------------*\
55  Class processorCyclicPointPatch Declaration
56 \*---------------------------------------------------------------------------*/
57 
59 :
60  public processorPointPatch
61 {
62  // Private Data
63 
64  const processorCyclicPolyPatch& processorCyclicPoly_;
65 
66 
67 public:
68 
69  //- Runtime type information
70  TypeName(processorCyclicPolyPatch::typeName_());
71 
72 
73  // Constructors
74 
75  //- Construct from components
77  (
78  const polyPatch& patch,
79  const pointBoundaryMesh& bm
80  );
81 
82  //- Disallow default bitwise copy construction
84 
85 
86  // Destructor
87 
89 
90 
91  // Member Functions
92 
93 
94  //- Return message tag to use for communication
95  virtual int tag() const
96  {
97  return processorCyclicPoly_.tag();
98  }
99 
100 
101  // Member Operators
102 
103  //- Disallow default bitwise assignment
104  void operator=(const processorCyclicPointPatch&) = delete;
105 };
106 
107 
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 
110 } // End namespace Foam
111 
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 
114 #endif
115 
116 // ************************************************************************* //
Foam::pointBoundaryMesh.
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:71
Processor patch boundary needs to be such that the ordering of points in the patch is the same on bot...
TypeName(processorCyclicPolyPatch::typeName_())
Runtime type information.
processorCyclicPointPatch(const polyPatch &patch, const pointBoundaryMesh &bm)
Construct from components.
void operator=(const processorCyclicPointPatch &)=delete
Disallow default bitwise assignment.
virtual int tag() const
Return message tag to use for communication.
virtual int tag() const
Return message tag to use for communication.
Processor patch boundary needs to be such that the ordering of points in the patch is the same on bot...
Namespace for OpenFOAM.