Loading...
Searching...
No Matches
coupledFacePointPatch.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::coupledFacePointPatch
28
29Description
30 coupled patch for post-processing. Used as the base class for processor
31 and cyclic pointPatches
32
33SourceFiles
34 coupledFacePointPatch.C
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef Foam_coupledFacePointPatch_H
39#define Foam_coupledFacePointPatch_H
40
41#include "coupledPointPatch.H"
42#include "facePointPatch.H"
43#include "coupledPolyPatch.H"
44
45// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47namespace Foam
48{
50/*---------------------------------------------------------------------------*\
51 Class coupledFacePointPatch Declaration
52\*---------------------------------------------------------------------------*/
53
55:
56 public facePointPatch,
58{
59 // Private Data
60
61 const coupledPolyPatch& coupledPolyPatch_;
62
63
64protected:
65
66 // Protected Member Functions
67
68 //- Calculate mesh points
69 virtual void calcGeometry(PstreamBuffers&) = 0;
70
71
72 //- No copy construct
74
75 //- No copy assignment
76 void operator=(const coupledFacePointPatch&) = delete;
78
79public:
80
81 //- Runtime type information
82 TypeName(coupledPolyPatch::typeName_());
83
84
85 // Constructors
86
87 //- Construct from components
89 (
90 const polyPatch& patch,
91 const pointBoundaryMesh& bm
92 );
93
94 //- Construct given the original patch and a map
96 (
98 const pointBoundaryMesh& bm,
99 const label index,
100 const labelUList& mapAddressing,
101 const labelUList& reversePointMap
102 );
103
104
105 //- Destructor
106 virtual ~coupledFacePointPatch() = default;
107};
108
109
110// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111
112} // End namespace Foam
113
114// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116#endif
117
118// ************************************************************************* //
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
Buffers for inter-processor communications streams (UOPstream, UIPstream).
TypeName(coupledPolyPatch::typeName_())
Runtime type information.
virtual void calcGeometry(PstreamBuffers &)=0
Calculate mesh points.
void operator=(const coupledFacePointPatch &)=delete
No copy assignment.
coupledFacePointPatch(const coupledFacePointPatch &)=delete
No copy construct.
virtual ~coupledFacePointPatch()=default
Destructor.
coupledPointPatch(const coupledPointPatch &)=delete
No copy construct.
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
virtual label index() const
Return the index of this patch in the pointBoundaryMesh.
virtual const polyPatch & patch() const
Return the polyPatch.
facePointPatch(const facePointPatch &)=delete
No copy construct.
A pointBoundaryMesh is a pointPatch list with registered IO, a reference to the associated pointMesh,...
A patch is a list of labels that address the faces in the global face list.
Definition polyPatch.H:73
Namespace for OpenFOAM.
UList< label > labelUList
A UList of labels.
Definition UList.H:75
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68