oversetFvPatchField.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 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::oversetFvPatchField
28
29Group
30 grpCoupledBoundaryConditions
31
32Description
33 Boundary condition for use on overset patches. To be run in combination
34 with special dynamicFvMesh type that inserts interpolation into the matrix.
35
36SourceFiles
37 oversetFvPatchField.C
38
39\*---------------------------------------------------------------------------*/
40
41#ifndef oversetFvPatchField_H
42#define oversetFvPatchField_H
43
44#include "oversetFvPatch.H"
46
47// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48
49namespace Foam
50{
51
52/*---------------------------------------------------------------------------*\
53 Class oversetFvPatchField Declaration
54\*---------------------------------------------------------------------------*/
55
56template<class Type>
58:
59 public zeroGradientFvPatchField<Type>
60{
61protected:
62
63 // Protected data
64
65 //- Local reference cast into the overset patch
67
68 //- Master patch ID
69 mutable label masterPatchID_;
70
71
72public:
73
74 //- Runtime type information
75 TypeName(oversetFvPatch::typeName_());
76
77
78 // Constructors
79
80 //- Construct from patch and internal field
82 (
83 const fvPatch&,
85 );
86
87 //- Construct from patch, internal field and dictionary
89 (
90 const fvPatch&,
92 const dictionary&
93 );
94
95 //- Construct by mapping given oversetFvPatchField onto a new patch
97 (
99 const fvPatch&,
101 const fvPatchFieldMapper&
102 );
103
104 //- Construct as copy
106
107 //- Construct and return a clone
108 virtual tmp<fvPatchField<Type>> clone() const
109 {
111 (
113 );
114 }
115
116 //- Construct as copy setting internal field reference
118 (
121 );
122
123 //- Construct and return a clone setting internal field reference
125 (
127 ) const
128 {
130 (
131 new oversetFvPatchField<Type>(*this, iF)
132 );
133 }
134
135
136 // Member functions
137
138 // Evaluation functions
139
140 //- Initialise the evaluation of the patch field
141 virtual void initEvaluate(const Pstream::commsTypes commsType);
142
143 // I-O
144
145 //- Write
146 virtual void write(Ostream& os) const;
147};
148
149
150// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151
152} // End namespace Foam
153
154// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155
156#ifdef NoRepository
157# include "oversetFvPatchField.C"
158#endif
159
160// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161
162#endif
163
164// ************************************************************************* //
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:62
commsTypes
Types of communications.
Definition: UPstream.H:67
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
Boundary condition for use on overset patches. To be run in combination with special dynamicFvMesh ty...
const oversetFvPatch & oversetPatch_
Local reference cast into the overset patch.
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
label masterPatchID_
Master patch ID.
TypeName(oversetFvPatch::typeName_())
Runtime type information.
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.
virtual tmp< fvPatchField< Type > > clone(const DimensionedField< Type, volMesh > &iF) const
Construct and return a clone setting internal field reference.
Patch for indicating interpolated boundaries (in overset meshes).
A class for managing temporary objects.
Definition: tmp.H:65
This boundary condition applies a zero-gradient condition from the patch internal field onto the patc...
OBJstream os(runTime.globalPath()/outputName)
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73