cyclicAMIFvsPatchField.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::cyclicAMIFvsPatchField
26 
27 Description
28  Foam::cyclicAMIFvsPatchField
29 
30 SourceFiles
31  cyclicAMIFvsPatchField.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef cyclicAMIFvsPatchField_H
36 #define cyclicAMIFvsPatchField_H
37 
38 #include "coupledFvsPatchField.H"
39 #include "cyclicAMIFvPatch.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 /*---------------------------------------------------------------------------*\
47  Class cyclicAMIFvsPatchField Declaration
48 \*---------------------------------------------------------------------------*/
49 
50 template<class Type>
52 :
53  public coupledFvsPatchField<Type>
54 {
55  // Private data
56 
57  //- Local reference cast into the cyclic patch
58  const cyclicAMIFvPatch& cyclicAMIPatch_;
59 
60 
61 public:
62 
63  //- Runtime type information
64  TypeName(cyclicAMIFvPatch::typeName_());
65 
66 
67  // Constructors
68 
69  //- Construct from patch and internal field
71  (
72  const fvPatch&,
74  );
75 
76  //- Construct from patch, internal field and dictionary
78  (
79  const fvPatch&,
81  const dictionary&
82  );
83 
84  //- Construct by mapping given cyclicAMIFvsPatchField onto a new patch
86  (
88  const fvPatch&,
90  const fvPatchFieldMapper&
91  );
92 
93  //- Construct as copy
95  (
97  );
98 
99  //- Construct and return a clone
100  virtual tmp<fvsPatchField<Type> > clone() const
101  {
102  return tmp<fvsPatchField<Type> >
103  (
105  );
106  }
107 
108  //- Construct as copy setting internal field reference
110  (
113  );
114 
115  //- Construct and return a clone setting internal field reference
117  (
119  ) const
120  {
121  return tmp<fvsPatchField<Type> >
122  (
123  new cyclicAMIFvsPatchField<Type>(*this, iF)
124  );
125  }
126 
127  // Member functions
128 
129  // Access
130 
131  //- Return true if running parallel
132  virtual bool coupled() const;
133 
134 };
135 
136 
137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 
139 } // End namespace Foam
140 
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 
143 #ifdef NoRepository
144 # include "cyclicAMIFvsPatchField.C"
145 #endif
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 #endif
150 
151 // ************************************************************************* //
virtual bool coupled() const
Return true if running parallel.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Cyclic patch for Arbitrary Mesh Interface (AMI)
Foam::fvPatchFieldMapper.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
Namespace for OpenFOAM.
Foam::cyclicAMIFvsPatchField.
cyclicAMIFvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Construct from patch and internal field.
virtual tmp< fvsPatchField< Type > > clone() const
Construct and return a clone.
Foam::coupledFvsPatchField.
TypeName(cyclicAMIFvPatch::typeName_())
Runtime type information.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:61
A class for managing temporary objects.
Definition: PtrList.H:118