processorCyclicFvPatch.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 | Copyright (C) 2011 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::processorCyclicFvPatch
26 
27 Description
28  Processor patch.
29 
30 SourceFiles
31  processorCyclicFvPatch.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef processorCyclicFvPatch_H
36 #define processorCyclicFvPatch_H
37 
39 #include "processorFvPatch.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 /*---------------------------------------------------------------------------*\
47  Class processorCyclicFvPatch Declaration
48 \*---------------------------------------------------------------------------*/
49 
51 :
52  public processorFvPatch
53 {
54  // Private Data
55 
56  const processorCyclicPolyPatch& procPolyPatch_;
57 
58 public:
59 
60  //- Runtime type information
61  TypeName(processorCyclicPolyPatch::typeName_());
62 
63 
64  // Constructors
65 
66  //- Construct from components
68  :
69  processorFvPatch(patch, bm),
70  procPolyPatch_(refCast<const processorCyclicPolyPatch>(patch))
71  {}
72 
73 
74  // Member functions
75 
76  //- Return message tag used for sending
77  virtual int tag() const
78  {
79  // Allocate from Pstream?
80  return procPolyPatch_.tag();
81  }
82 
84  {
85  return procPolyPatch_;
86  }
87 
88  //- Are the cyclic planes parallel
89  virtual bool parallel() const
90  {
91  return procPolyPatch_.parallel();
92  }
93 
94  //- Return face transformation tensor
95  virtual const tensorField& forwardT() const
96  {
97  return procPolyPatch_.forwardT();
98  }
99 
100  //- Return neighbour-cell transformation tensor
101  virtual const tensorField& reverseT() const
102  {
103  return procPolyPatch_.reverseT();
104  }
105 };
106 
107 
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 
110 } // End namespace Foam
111 
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 
114 #endif
115 
116 // ************************************************************************* //
virtual int tag() const
Return message tag to use for communication.
virtual const tensorField & reverseT() const
Return neighbour-cell transformation tensor.
To & refCast(From &r)
Reference type cast template function.
Definition: typeInfo.H:106
processorCyclicFvPatch(const polyPatch &patch, const fvBoundaryMesh &bm)
Construct from components.
const polyPatch & patch() const
Return the polyPatch.
Definition: fvPatch.H:143
virtual const tensorField & forwardT() const
Return face transformation tensor.
virtual bool parallel() const
Are the cyclic planes parallel.
virtual int tag() const
Return message tag used for sending.
Processor patch.
virtual bool parallel() const
Are the cyclic planes parallel.
virtual const tensorField & forwardT() const
Return face transformation tensor.
const processorCyclicPolyPatch & procPolyPatch() const
Foam::fvBoundaryMesh.
virtual const tensorField & reverseT() const
Return neighbour-cell transformation tensor.
TypeName(processorCyclicPolyPatch::typeName_())
Runtime type information.
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:66
Namespace for OpenFOAM.