Loading...
Searching...
No Matches
genericFvPatchField.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 Copyright (C) 2019-2021 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
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
27Class
28 Foam::genericFvPatchField
29
30Description
31 This boundary condition provides a generic version of the \c calculated
32 condition, useful as a fallback for handling unknown patch types. Not
33 generally applicable as a user-specified condition.
34
35See also
36 Foam::calculatedFvPatchField
37
38SourceFiles
39 genericFvPatchField.C
40
41\*---------------------------------------------------------------------------*/
42
43#ifndef genericFvPatchField_H
44#define genericFvPatchField_H
45
48
49// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50
51namespace Foam
52{
53
54/*---------------------------------------------------------------------------*\
55 Class genericFvPatch Declaration
56\*---------------------------------------------------------------------------*/
57
58template<class Type>
60:
61 public calculatedFvPatchField<Type>,
63{
64 //- The parent boundary condition type
65 typedef calculatedFvPatchField<Type> parent_bctype;
66
67
68public:
69
70 //- Runtime type information
71 TypeName("generic");
72
73
74 // Constructors
75
76 //- Construct from patch and internal field
78 (
79 const fvPatch&,
81 );
82
83 //- Construct from patch, internal field and dictionary
85 (
86 const fvPatch&,
88 const dictionary&
89 );
90
91 //- Construct by mapping given patch field onto a new patch
93 (
95 const fvPatch&,
98 );
99
100 //- Default copy construct
102
103 //- Construct as copy setting internal field reference
105 (
108 );
109
110 //- Return a clone
111 virtual tmp<fvPatchField<Type>> clone() const
112 {
113 return fvPatchField<Type>::Clone(*this);
114 }
115
116 //- Clone with an internal field reference
118 (
120 ) const
121 {
122 return fvPatchField<Type>::Clone(*this, iF);
123 }
124
125
126 // Member Functions
127
128 //- Write
129 virtual void write(Ostream&) const;
131
132 // Mapping Functions
133
134 //- Map (and resize as needed) from self given a mapping object
135 virtual void autoMap(const fvPatchFieldMapper&);
136
137 //- Reverse map the given fvPatchField onto this fvPatchField
138 virtual void rmap
139 (
140 const fvPatchField<Type>&,
141 const labelList&
142 );
143
144
145 // Evaluation Functions
146
147 //- Fatal
148 virtual tmp<Field<Type>>
150
151 //- Fatal
152 virtual tmp<Field<Type>>
154
155 //- Fatal
157
158 //- Fatal
160};
161
162
163// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
164
165} // End namespace Foam
166
167// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168
169#ifdef NoRepository
170 #include "genericFvPatchField.C"
171#endif
172
173// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174
175#endif
176
177// ************************************************************************* //
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
calculatedFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
A FieldMapper for finite-volume patch fields.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition fvPatch.H:71
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
TypeName("generic")
Runtime type information.
tmp< Field< Type > > gradientInternalCoeffs() const
Fatal.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Fatal.
tmp< Field< Type > > gradientBoundaryCoeffs() const
Fatal.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Fatal.
genericFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual tmp< fvPatchField< Type > > clone() const
Return a clone.
genericFvPatchField(const genericFvPatchField< Type > &)=default
Default copy construct.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Clone with an internal field reference.
genericPatchFieldBase(const Foam::zero, const genericPatchFieldBase &)
Partial copy construct. Only copy type and dictionary.
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