1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 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, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 Foam::coupledPointPatch
29 coupled patch for post-processing. Used as the base class for processor
30 and cyclic pointPatches
35 \*---------------------------------------------------------------------------*/
37 #ifndef coupledPointPatch_H
38 #define coupledPointPatch_H
40 #include "coupledPolyPatch.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 class pointBoundaryMesh;
49 /*---------------------------------------------------------------------------*\
50 Class coupledPointPatch Declaration
51 \*---------------------------------------------------------------------------*/
53 class coupledPointPatch
55 // Private Member Functions
57 //- Disallow default construct as copy
58 coupledPointPatch(const coupledPointPatch&);
60 //- Disallow default assignment
61 void operator=(const coupledPointPatch&);
66 // Protected Member Functions
68 //- Initialise the calculation of the patch geometry
69 virtual void initGeometry() = 0;
71 //- Calculate the patch geometry
72 virtual void calcGeometry() = 0;
74 //- Initialise the patches for moving points
75 virtual void initMovePoints(const pointField&) = 0;
77 //- Correct patches after moving points
78 virtual void movePoints(const pointField&) = 0;
80 //- Initialise the update of the patch topology
81 virtual void initUpdateMesh() = 0;
83 //- Update of the patch topology
84 virtual void updateMesh() = 0;
89 //- Runtime type information
90 TypeName(coupledPolyPatch::typeName_());
95 //- Construct from components
96 coupledPointPatch(const pointBoundaryMesh& bm);
101 virtual ~coupledPointPatch();
108 //- Return true because this patch is coupled
109 virtual bool coupled() const
116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118 } // End namespace Foam
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
124 // ************************************************************************* //