Loading...
Searching...
No Matches
emptyFvsPatchField.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) 2011-2016 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::emptyFvsPatchField
28
29Description
30 This boundary condition provides an 'empty' condition for reduced
31 dimensions cases.
32
33 The "value" entry is NO_READ, NO_WRITE.
34
35Usage
36 Example of the boundary condition specification:
37 \verbatim
38 <patchName>
39 {
40 type empty;
41 }
42 \endverbatim
43
44SourceFiles
45 emptyFvsPatchField.C
46
47\*---------------------------------------------------------------------------*/
48
49#ifndef Foam_emptyFvsPatchField_H
50#define Foam_emptyFvsPatchField_H
51
52#include "fvsPatchField.H"
53#include "emptyFvPatch.H"
54
55// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
56
57namespace Foam
58{
59
60/*---------------------------------------------------------------------------*\
61 Class emptyFvsPatch Declaration
62\*---------------------------------------------------------------------------*/
63
64template<class Type>
66:
67 public fvsPatchField<Type>
68{
69public:
70
71 //- Runtime type information
72 TypeName(emptyFvPatch::typeName_()); // fieldTypes::emptyTypeName_()
73
74
75 // Constructors
76
77 //- Construct from patch and internal field
79 (
80 const fvPatch&,
82 );
83
84 //- Construct from patch, internal field and dictionary.
85 //- The "value" entry is NO_READ.
87 (
88 const fvPatch&,
90 const dictionary&
91 );
92
93 //- Construct by mapping given emptyFvsPatchField onto a new patch
95 (
97 const fvPatch&,
100 );
101
102 //- Construct as copy
104 (
106 );
107
108 //- Construct as copy setting internal field reference
110 (
113 );
114
115 //- Return clone
116 virtual tmp<fvsPatchField<Type>> clone() const
117 {
118 return fvsPatchField<Type>::Clone(*this);
119 }
120
121 //- Clone with an internal field reference
123 (
125 ) const
126 {
127 return fvsPatchField<Type>::Clone(*this, iF);
128 }
129
130
131 // Member Functions
132
133 // Mapping Functions
134
135 //- Map (and resize as needed) from self given a mapping object
136 virtual void autoMap
137 (
138 const fvPatchFieldMapper&
139 )
140 {}
141
142 //- Reverse map the given fvsPatchField onto this fvsPatchField
143 virtual void rmap
144 (
145 const fvsPatchField<Type>&,
146 const labelList&
147 )
148 {}
150
151 // Member Functions
152
153 //- Write without "value" entry!
154 virtual void write(Ostream&) const;
155};
156
157
158// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159
160} // End namespace Foam
161
162// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163
164#ifdef NoRepository
165 #include "emptyFvsPatchField.C"
166#endif
167
168// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169
170#endif
171
172// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual tmp< fvsPatchField< Type > > clone(const DimensionedField< Type, surfaceMesh > &iF) const
Clone with an internal field reference.
TypeName(emptyFvPatch::typeName_())
Runtime type information.
virtual tmp< fvsPatchField< Type > > clone() const
Return clone.
emptyFvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Construct from patch and internal field.
virtual void rmap(const fvsPatchField< Type > &, const labelList &)
Reverse map the given fvsPatchField onto this fvsPatchField.
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
fvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Construct from patch and internal field.
static tmp< fvsPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A class for managing temporary objects.
Definition tmp.H:75
Namespace for OpenFOAM.
List< label > labelList
A List of labels.
Definition List.H:62
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68