inletOutletFaPatchField.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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2016-2017 Wikki Ltd
9  Copyright (C) 2019 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::inletOutletFaPatchField
29 
30 Description
31 
32 Author
33  Zeljko Tukovic, FMENA
34  Hrvoje Jasak, Wikki Ltd.
35 
36 SourceFiles
37  inletOutletFaPatchField.C
38 
39 \*---------------------------------------------------------------------------*/
40 
41 #ifndef inletOutletFaPatchField_H
42 #define inletOutletFaPatchField_H
43 
44 #include "mixedFaPatchField.H"
45 
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 
48 namespace Foam
49 {
50 
51 /*---------------------------------------------------------------------------*\
52  Class inletOutletFaPatchField Declaration
53 \*---------------------------------------------------------------------------*/
54 
55 template<class Type>
57 :
58  public mixedFaPatchField<Type>
59 {
60 
61 protected:
62 
63  // Protected data
64 
65  word phiName_;
66 
67 
68 public:
69 
70  //- Runtime type information
71  TypeName("inletOutlet");
72 
73 
74  // Constructors
75 
76  //- Construct from patch and internal field
78  (
79  const faPatch&,
81  );
82 
83  //- Construct from patch, internal field and dictionary
85  (
86  const faPatch&,
88  const dictionary&
89  );
90 
91  //- Construct by mapping given inletOutletFaPatchField onto a new patch
93  (
95  const faPatch&,
97  const faPatchFieldMapper&
98  );
99 
100  //- Construct as copy
102  (
104  );
105 
106  //- Construct and return a clone
107  virtual tmp<faPatchField<Type>> clone() const
108  {
109  return tmp<faPatchField<Type>>
110  (
112  );
113  }
115  //- Construct as copy setting internal field reference
117  (
120  );
121 
122  //- Construct and return a clone setting internal field reference
124  (
126  ) const
127  {
128  return tmp<faPatchField<Type>>
129  (
130  new inletOutletFaPatchField<Type>(*this, iF)
131  );
132  }
133 
134 
135  //- Destructor
136  virtual ~inletOutletFaPatchField() = default;
137 
138 
139  // Member functions
140 
141  // Access
142 
143  //- Return the name of phi
144  const word& phiName() const
145  {
146  return phiName_;
147  }
148 
149  //- Return reference to the name of phi to allow adjustment
150  word& phiName()
151  {
152  return phiName_;
153  }
154 
155 
156  //- Update the coefficients associated with the patch field
157  virtual void updateCoeffs();
158 
159  //- Write
160  virtual void write(Ostream&) const;
161 };
162 
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 } // End namespace Foam
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169 
170 #ifdef NoRepository
171  #include "inletOutletFaPatchField.C"
172 #endif
173 
174 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175 
176 #endif
177 
178 // ************************************************************************* //
virtual void write(Ostream &) const
Write.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:120
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
virtual ~inletOutletFaPatchField()=default
Destructor.
const word & phiName() const
Return the name of phi.
A class for handling words, derived from Foam::string.
Definition: word.H:63
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName("inletOutlet")
Runtime type information.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:55
Finite area patch class. Used for 2-D non-Euclidian finite area method.
Definition: faPatch.H:72
virtual tmp< faPatchField< Type > > clone() const
Construct and return a clone.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: areaFieldsFwd.H:42
inletOutletFaPatchField(const faPatch &, const DimensionedField< Type, areaMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
A FieldMapper for finite-area patch fields.
Namespace for OpenFOAM.