1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
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.
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
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/>.
25 Foam::coupledPointPatch
28 coupled patch for post-processing. Used as the base class for processor
29 and cyclic pointPatches
34 \*---------------------------------------------------------------------------*/
36 #ifndef coupledPointPatch_H
37 #define coupledPointPatch_H
39 #include "coupledPolyPatch.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 class pointBoundaryMesh;
48 /*---------------------------------------------------------------------------*\
49 Class coupledPointPatch Declaration
50 \*---------------------------------------------------------------------------*/
52 class coupledPointPatch
54 // Private Member Functions
56 //- Disallow default construct as copy
57 coupledPointPatch(const coupledPointPatch&);
59 //- Disallow default assignment
60 void operator=(const coupledPointPatch&);
65 // Protected Member Functions
67 //- Initialise the calculation of the patch geometry
68 virtual void initGeometry(PstreamBuffers&) = 0;
70 //- Calculate the patch geometry
71 virtual void calcGeometry(PstreamBuffers&) = 0;
73 //- Initialise the patches for moving points
74 virtual void initMovePoints(PstreamBuffers&, const pointField&) = 0;
76 //- Correct patches after moving points
77 virtual void movePoints(PstreamBuffers&, const pointField&) = 0;
79 //- Initialise the update of the patch topology
80 virtual void initUpdateMesh(PstreamBuffers&) = 0;
82 //- Update of the patch topology
83 virtual void updateMesh(PstreamBuffers&) = 0;
88 //- Runtime type information
89 TypeName(coupledPolyPatch::typeName_());
94 //- Construct from components
95 coupledPointPatch(const pointBoundaryMesh& bm);
99 virtual ~coupledPointPatch();
106 //- Return true because this patch is coupled
107 virtual bool coupled() const
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116 } // End namespace Foam
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 // ************************************************************************* //