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-2018 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  //- Disallow default construct as copy
68 
69  //- Disallow default assignment
70  void operator=(const processorCyclicPointPatch&);
71 
72 public:
73 
74  //- Runtime type information
75  TypeName(processorCyclicPolyPatch::typeName_());
76 
77 
78  // Constructors
79 
80  //- Construct from components
82  (
83  const polyPatch& patch,
84  const pointBoundaryMesh& bm
85  );
86 
87 
88  // Destructor
89 
91 
92 
93  // Member functions
94 
95 
96  //- Return message tag to use for communication
97  virtual int tag() const
98  {
99  return procCycPolyPatch_.tag();
100  }
101 
102  //- Return the underlying processorCyclicPolyPatch
104  {
105  return procCycPolyPatch_;
106  }
107 };
108 
109 
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 
112 } // End namespace Foam
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 #endif
117 
118 // ************************************************************************* //
Foam::pointBoundaryMesh.
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.
Processor patch boundary needs to be such that the ordering of points in the patch is the same on bot...
const processorCyclicPolyPatch & procCyclicPolyPatch() const
Return the underlying processorCyclicPolyPatch.
virtual int tag() const
Return message tag to use for communication.
const polyPatch & patch() const
Return the polyPatch.
virtual int tag() const
Return message tag to use for communication.
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:66
Namespace for OpenFOAM.