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
finiteVolume
fields
fvPatchFields
basic
basicSymmetry
basicSymmetryFvPatchField.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::basicSymmetryFvPatchField
26
27
Description
28
A symmetry patch
29
30
SourceFiles
31
basicSymmetryFvPatchField.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef basicSymmetryFvPatchField_H
36
#define basicSymmetryFvPatchField_H
37
38
#include <
finiteVolume/transformFvPatchField.H
>
39
#include <
finiteVolume/symmetryFvPatch.H
>
40
41
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42
43
namespace
Foam
44
{
45
46
/*---------------------------------------------------------------------------*\
47
Class basicSymmetryFvPatchField Declaration
48
\*---------------------------------------------------------------------------*/
49
50
template
<
class
Type>
51
class
basicSymmetryFvPatchField
52
:
53
public
transformFvPatchField
<Type>
54
{
55
56
public
:
57
58
//- Runtime type information
59
TypeName
(symmetryFvPatch::typeName_());
60
61
62
// Constructors
63
64
//- Construct from patch and internal field
65
basicSymmetryFvPatchField
66
(
67
const
fvPatch
&,
68
const
DimensionedField<Type, volMesh>
&
69
);
70
71
//- Construct from patch, internal field and dictionary
72
basicSymmetryFvPatchField
73
(
74
const
fvPatch
&,
75
const
DimensionedField<Type, volMesh>
&,
76
const
dictionary
&
77
);
78
79
//- Construct by mapping given basicSymmetryFvPatchField onto a new patch
80
basicSymmetryFvPatchField
81
(
82
const
basicSymmetryFvPatchField<Type>
&,
83
const
fvPatch
&,
84
const
DimensionedField<Type, volMesh>
&,
85
const
fvPatchFieldMapper
&
86
);
87
88
//- Construct as copy
89
basicSymmetryFvPatchField
90
(
91
const
basicSymmetryFvPatchField<Type>
&
92
);
93
94
//- Construct and return a clone
95
virtual
tmp<fvPatchField<Type>
>
clone
()
const
96
{
97
return
tmp<fvPatchField<Type>
>
98
(
99
new
basicSymmetryFvPatchField<Type>
(*this)
100
);
101
}
102
103
//- Construct as copy setting internal field reference
104
basicSymmetryFvPatchField
105
(
106
const
basicSymmetryFvPatchField<Type>
&,
107
const
DimensionedField<Type, volMesh>
&
108
);
109
110
//- Construct and return a clone setting internal field reference
111
virtual
tmp<fvPatchField<Type>
>
clone
112
(
113
const
DimensionedField<Type, volMesh>
& iF
114
)
const
115
{
116
return
tmp<fvPatchField<Type>
>
117
(
118
new
basicSymmetryFvPatchField<Type>
(*
this
, iF)
119
);
120
}
121
122
123
// Member functions
124
125
// Evaluation functions
126
127
//- Return gradient at boundary
128
virtual
tmp<Field<Type>
>
snGrad
()
const
;
129
130
//- Evaluate the patch field
131
virtual
void
evaluate
132
(
133
const
Pstream::commsTypes
commsType=
Pstream::blocking
134
);
135
136
//- Return face-gradient transform diagonal
137
virtual
tmp<Field<Type>
>
snGradTransformDiag
()
const
;
138
};
139
140
141
// * * * * * * * * * * * Template Specialisations * * * * * * * * * * * * * //
142
143
template
<>
144
tmp<scalarField >
basicSymmetryFvPatchField<scalar>::snGrad
()
const
;
145
146
template
<>
147
void
basicSymmetryFvPatchField<scalar>::evaluate
148
(
149
const
Pstream::commsTypes
commsType
150
);
151
152
153
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154
155
}
// End namespace Foam
156
157
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158
159
#ifdef NoRepository
160
# include <
finiteVolume/basicSymmetryFvPatchField.C
>
161
#endif
162
163
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
164
165
#endif
166
167
// ************************ vim: set sw=4 sts=4 et: ************************ //