Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
OpenFOAM
fields
pointPatchFields
basic
coupled
coupledPointPatchField.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 | Copyright (C) 1991-2010 OpenCFD Ltd.
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
Class
25
Foam::coupledPointPatchField
26
27
Description
28
A Coupled boundary condition for pointField
29
30
SourceFiles
31
coupledPointPatchField.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef coupledPointPatchField_H
36
#define coupledPointPatchField_H
37
38
#include <
OpenFOAM/pointPatchField.H
>
39
#include <
OpenFOAM/coupledPointPatch.H
>
40
41
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42
43
namespace
Foam
44
{
45
46
/*---------------------------------------------------------------------------*\
47
Class coupledPointPatchField Declaration
48
\*---------------------------------------------------------------------------*/
49
50
template
<
class
Type>
51
class
coupledPointPatchField
52
:
53
public
pointPatchField
<Type>
54
{
55
56
public
:
57
58
//- Runtime type information
59
TypeName
(coupledPointPatch::typeName_());
60
61
62
// Constructors
63
64
//- Construct from patch and internal field
65
coupledPointPatchField
66
(
67
const
pointPatch
&,
68
const
DimensionedField<Type, pointMesh>
&
69
);
70
71
//- Construct from patch, internal field and dictionary
72
coupledPointPatchField
73
(
74
const
pointPatch
&,
75
const
DimensionedField<Type, pointMesh>
&,
76
const
dictionary
& dict
77
);
78
79
//- Construct by mapping given patchField<Type> onto a new patch
80
coupledPointPatchField
81
(
82
const
coupledPointPatchField<Type>
&,
83
const
pointPatch
&,
84
const
DimensionedField<Type, pointMesh>
&,
85
const
pointPatchFieldMapper
&
86
);
87
88
//- Construct and return a clone
89
virtual
autoPtr<pointPatchField<Type>
>
clone
()
const
= 0;
90
91
//- Construct as copy setting internal field reference
92
coupledPointPatchField
93
(
94
const
coupledPointPatchField<Type>
&,
95
const
DimensionedField<Type, pointMesh>
&
96
);
97
98
//- Construct and return a clone setting internal field reference
99
virtual
autoPtr<pointPatchField<Type>
>
clone
100
(
101
const
DimensionedField<Type, pointMesh>
& iF
102
)
const
= 0;
103
104
105
// Member functions
106
107
// Access
108
109
//- Return true if this patch field is derived from
110
// coupledFvPatchField<Type>.
111
virtual
bool
coupled
()
const
112
{
113
return
true
;
114
}
115
116
//- Evaluate the patch field
117
virtual
void
evaluate
118
(
119
const
Pstream::commsTypes
commsType=
Pstream::blocking
120
) = 0;
121
122
//- Initialise swap of patch point values
123
virtual
void
initSwapAdd
(
Field<Type>
&)
const
124
{}
125
126
//- Complete swap of patch point values and add to local values
127
virtual
void
swapAdd
(
Field<Type>
&)
const
= 0;
128
};
129
130
131
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132
133
}
// End namespace Foam
134
135
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136
137
#ifdef NoRepository
138
# include <
OpenFOAM/coupledPointPatchField.C
>
139
#endif
140
141
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142
143
#endif
144
145
// ************************ vim: set sw=4 sts=4 et: ************************ //