Loading...
Searching...
No Matches
genericFvsPatchField.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) 2019-2021 OpenCFD Ltd.
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::genericFvsPatchField
28
29Description
30 This boundary condition provides a generic version of the \c calculated
31 condition, useful as a fallback for handling unknown patch types. Not
32 generally applicable as a user-specified condition.
33
34See also
35 Foam::calculatedFvsPatchField
36
37SourceFiles
38 genericFvsPatchField.C
39
40\*---------------------------------------------------------------------------*/
41
42#ifndef genericFvsPatchField_H
43#define genericFvsPatchField_H
44
47
48// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49
50namespace Foam
51{
52
53/*---------------------------------------------------------------------------*\
54 Class genericFvsPatch Declaration
55\*---------------------------------------------------------------------------*/
56
57template<class Type>
59:
60 public calculatedFvsPatchField<Type>,
62{
63 //- The parent boundary condition type
64 typedef calculatedFvsPatchField<Type> parent_bctype;
65
66
67public:
68
69 //- Runtime type information
70 TypeName("generic");
71
72
73 // Constructors
74
75 //- Construct from patch and internal field
77 (
78 const fvPatch&,
80 );
81
82 //- Construct from patch, internal field and dictionary
84 (
85 const fvPatch&,
87 const dictionary&
88 );
89
90 //- Construct by mapping given patch field onto a new patch
92 (
94 const fvPatch&,
97 );
98
99 //- Default copy construct
101
102 //- Construct as copy setting internal field reference
104 (
107 );
108
109 //- Return clone
110 virtual tmp<fvsPatchField<Type>> clone() const
111 {
112 return fvsPatchField<Type>::Clone(*this);
113 }
114
115 //- Clone with an internal field reference
117 (
119 ) const
120 {
121 return fvsPatchField<Type>::Clone(*this, iF);
122 }
123
124
125 // Member Functions
126
127 //- Write
128 virtual void write(Ostream&) const;
130
131 // Mapping Functions
132
133 //- Map (and resize as needed) from self given a mapping object
134 virtual void autoMap(const fvPatchFieldMapper&);
135
136 //- Reverse map the given faPatchField onto this faPatchField
137 virtual void rmap
138 (
139 const fvsPatchField<Type>&,
140 const labelList&
141 );
142
143
144 // Evaluation Functions
145
146 //- Fatal
147 virtual tmp<Field<Type>>
149
150 //- Fatal
151 virtual tmp<Field<Type>>
153
154 //- Fatal
156
157 //- Fatal
159};
160
161
162// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163
164} // End namespace Foam
165
166// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167
168#ifdef NoRepository
169 #include "genericFvsPatchField.C"
170#endif
171
172// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173
174#endif
175
176// ************************************************************************* //
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
calculatedFvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
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.
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...
static tmp< fvsPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
genericFvsPatchField(const genericFvsPatchField< Type > &)=default
Default copy construct.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
TypeName("generic")
Runtime type information.
virtual void rmap(const fvsPatchField< Type > &, const labelList &)
Reverse map the given faPatchField onto this faPatchField.
tmp< Field< Type > > gradientInternalCoeffs() const
Fatal.
virtual tmp< fvsPatchField< Type > > clone(const DimensionedField< Type, surfaceMesh > &iF) const
Clone with an internal field reference.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Fatal.
virtual tmp< fvsPatchField< Type > > clone() const
Return clone.
tmp< Field< Type > > gradientBoundaryCoeffs() const
Fatal.
genericFvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Construct from patch and internal field.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Fatal.
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