All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-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 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& procCycPolyPatch_;
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 procCycPolyPatch_.tag();
98  }
99 
100  //- Return the underlying processorCyclicPolyPatch
102  {
103  return procCycPolyPatch_;
104  }
105 
106 
107  // Member Operators
108 
109  //- Disallow default bitwise assignment
110  void operator=(const processorCyclicPointPatch&) = delete;
111 };
112 
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 } // End namespace Foam
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 #endif
121 
122 // ************************************************************************* //
const polyPatch & patch() const
Return the polyPatch.
Foam::pointBoundaryMesh.
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:70
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.
const processorCyclicPolyPatch & procCyclicPolyPatch() const
Return the underlying processorCyclicPolyPatch.
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.