1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2010-2011 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
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::processorCyclicPointPatch
28 Processor patch boundary needs to be such that the ordering of
29 points in the patch is the same on both sides.
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.
39 processorCyclicPointPatch.C
41 \*---------------------------------------------------------------------------*/
43 #ifndef processorCyclicPointPatch_H
44 #define processorCyclicPointPatch_H
46 #include "processorPointPatch.H"
47 #include "processorCyclicPolyPatch.H"
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 /*---------------------------------------------------------------------------*\
55 Class processorCyclicPointPatch Declaration
56 \*---------------------------------------------------------------------------*/
58 class processorCyclicPointPatch
60 public processorPointPatch
64 const processorCyclicPolyPatch& procCycPolyPatch_;
66 //- Disallow default construct as copy
67 processorCyclicPointPatch(const processorCyclicPointPatch&);
69 //- Disallow default assignment
70 void operator=(const processorCyclicPointPatch&);
74 //- Runtime type information
75 TypeName(processorCyclicPolyPatch::typeName_());
80 //- Construct from components
81 processorCyclicPointPatch
83 const polyPatch& patch,
84 const pointBoundaryMesh& bm
90 virtual ~processorCyclicPointPatch();
96 //- Return message tag to use for communication
97 virtual int tag() const
99 return procCycPolyPatch_.tag();
102 //- Return the underlying processorCyclicPolyPatch
103 const processorCyclicPolyPatch& procCyclicPolyPatch() const
105 return procCycPolyPatch_;
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112 } // End namespace Foam
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118 // ************************************************************************* //