coupledFacePointPatch.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-2020 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::coupledFacePointPatch
26 
27 Description
28  coupled patch for post-processing. Used as the base class for processor
29  and cyclic pointPatches
30 
31 SourceFiles
32  coupledFacePointPatch.C
33 
34 \*---------------------------------------------------------------------------*/
35 
36 #ifndef coupledFacePointPatch_H
37 #define coupledFacePointPatch_H
38 
39 #include "coupledPointPatch.H"
40 #include "facePointPatch.H"
41 #include "coupledPolyPatch.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 class pointBoundaryMesh;
49 
50 /*---------------------------------------------------------------------------*\
51  Class coupledFacePointPatch Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 :
56  public facePointPatch,
57  public coupledPointPatch
58 {
59  // Private Data
60 
61  const coupledPolyPatch& coupledPolyPatch_;
62 
63 
64  // Private Member Functions
65 
66  //- Disallow default bitwise copy construction
68 
69  //- Disallow default bitwise assignment
70  void operator=(const coupledFacePointPatch&);
71 
72 
73 protected:
74 
75  // Construction of demand-driven data
76 
77  //- Calculate mesh points
78  virtual void calcGeometry(PstreamBuffers&) = 0;
79 
80 
81 public:
82 
83  //- Runtime type information
84  TypeName(coupledPolyPatch::typeName_());
85 
86 
87  // Constructors
88 
89  //- Construct from components
91  (
92  const polyPatch& patch,
93  const pointBoundaryMesh& bm
94  );
95 
96 
97  //- Destructor
98  virtual ~coupledFacePointPatch();
99 };
100 
101 
102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
103 
104 } // End namespace Foam
105 
106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
107 
108 #endif
109 
110 // ************************************************************************* //
virtual void calcGeometry(PstreamBuffers &)=0
Calculate mesh points.
Foam::pointBoundaryMesh.
coupled patch for post-processing. Used as the base class for processor and cyclic pointPatches ...
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
coupled patch for post-processing. Used as the base class for processor and cyclic pointPatches ...
A pointPatch based on a polyPatch.
TypeName(coupledPolyPatch::typeName_())
Runtime type information.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
virtual ~coupledFacePointPatch()
Destructor.
const polyPatch & patch() const
Return the polyPatch.
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:66
Namespace for OpenFOAM.