processorCyclicFvsPatchField.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-2015 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::processorCyclicFvsPatchField
26 
27 Description
28  Foam::processorCyclicFvsPatchField
29 
30 SourceFiles
31  processorCyclicFvsPatchField.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef processorCyclicFvsPatchField_H
36 #define processorCyclicFvsPatchField_H
37 
38 #include "coupledFvsPatchField.H"
39 #include "processorCyclicFvPatch.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 /*---------------------------------------------------------------------------*\
47  Class processorCyclicFvsPatch Declaration
48 \*---------------------------------------------------------------------------*/
49 
50 template<class Type>
52 :
53  public coupledFvsPatchField<Type>
54 {
55  // Private data
56 
57  //- Local reference cast into the processor patch
58  const processorCyclicFvPatch& procPatch_;
59 
60 
61 public:
62 
63  //- Runtime type information
64  TypeName(processorCyclicFvPatch::typeName_());
65 
66 
67  // Constructors
68 
69  //- Construct from patch and internal field
71  (
72  const fvPatch&,
74  );
75 
76  //- Construct from patch and internal field and patch field
78  (
79  const fvPatch&,
81  const Field<Type>&
82  );
83 
84  //- Construct from patch, internal field and dictionary
86  (
87  const fvPatch&,
89  const dictionary&
90  );
91 
92  //- Construct by mapping given processorCyclicFvsPatchField onto a
93  // new patch
95  (
97  const fvPatch&,
99  const fvPatchFieldMapper&
100  );
101 
102  //- Construct as copy
104 
105  //- Construct and return a clone
106  virtual tmp<fvsPatchField<Type> > clone() const
107  {
108  return tmp<fvsPatchField<Type> >
109  (
111  );
112  }
113 
114  //- Construct as copy setting internal field reference
116  (
119  );
120 
121  //- Construct and return a clone setting internal field reference
123  (
125  ) const
126  {
127  return tmp<fvsPatchField<Type> >
128  (
130  );
131  }
132 
133 
134  //- Destructor
136 
137 
138  // Member functions
139 
140  // Access
141 
142  //- Return true if running parallel
143  virtual bool coupled() const
144  {
145  if (Pstream::parRun())
146  {
147  return true;
148  }
149  else
150  {
151  return false;
152  }
153  }
154 };
155 
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 } // End namespace Foam
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 
163 #ifdef NoRepository
165 #endif
166 
167 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168 
169 #endif
170 
171 // ************************************************************************* //
static bool & parRun()
Is this a parallel run?
Definition: UPstream.H:380
TypeName(processorCyclicFvPatch::typeName_())
Runtime type information.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual bool coupled() const
Return true if running parallel.
Foam::fvPatchFieldMapper.
processorCyclicFvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Construct from patch and internal field.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
Namespace for OpenFOAM.
Pre-declare SubField and related Field type.
Definition: Field.H:57
Foam::coupledFvsPatchField.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:61
A class for managing temporary objects.
Definition: PtrList.H:118
Foam::processorCyclicFvsPatchField.
virtual tmp< fvsPatchField< Type > > clone() const
Construct and return a clone.