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
derived
uniformDensityHydrostaticPressure
uniformDensityHydrostaticPressureFvPatchScalarField.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::uniformDensityHydrostaticPressureFvPatchScalarField
26
27
Description
28
Hydrostatic pressure boundary condition calculated as
29
30
pRefValue + rho*g.(x - pRefPoint)
31
32
where rho is provided and assumed uniform.
33
34
SourceFiles
35
uniformDensityHydrostaticPressureFvPatchScalarField.C
36
37
\*---------------------------------------------------------------------------*/
38
39
#ifndef uniformDensityHydrostaticPressureFvPatchScalarField_H
40
#define uniformDensityHydrostaticPressureFvPatchScalarField_H
41
42
#include <
finiteVolume/fixedValueFvPatchFields.H
>
43
44
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46
namespace
Foam
47
{
48
49
/*---------------------------------------------------------------------------*\
50
Class uniformDensityHydrostaticPressureFvPatch Declaration
51
\*---------------------------------------------------------------------------*/
52
53
class
uniformDensityHydrostaticPressureFvPatchScalarField
54
:
55
public
fixedValueFvPatchScalarField
56
{
57
// Private data
58
59
//- Constant density in the far-field
60
scalar rho_;
61
62
//- Reference pressure
63
scalar pRefValue_;
64
65
//- Reference pressure location
66
vector
pRefPoint_;
67
68
69
public
:
70
71
//- Runtime type information
72
TypeName
(
"uniformDensityHydrostaticPressure"
);
73
74
75
// Constructors
76
77
//- Construct from patch and internal field
78
uniformDensityHydrostaticPressureFvPatchScalarField
79
(
80
const
fvPatch
&,
81
const
DimensionedField<scalar, volMesh>
&
82
);
83
84
//- Construct from patch, internal field and dictionary
85
uniformDensityHydrostaticPressureFvPatchScalarField
86
(
87
const
fvPatch
&,
88
const
DimensionedField<scalar, volMesh>
&,
89
const
dictionary
&
90
);
91
92
//- Construct by mapping given
93
// uniformDensityHydrostaticPressureFvPatchScalarField onto a new patch
94
uniformDensityHydrostaticPressureFvPatchScalarField
95
(
96
const
uniformDensityHydrostaticPressureFvPatchScalarField
&,
97
const
fvPatch
&,
98
const
DimensionedField<scalar, volMesh>
&,
99
const
fvPatchFieldMapper
&
100
);
101
102
//- Construct as copy
103
uniformDensityHydrostaticPressureFvPatchScalarField
104
(
105
const
uniformDensityHydrostaticPressureFvPatchScalarField
&
106
);
107
108
//- Construct and return a clone
109
virtual
tmp<fvPatchScalarField>
clone
()
const
110
{
111
return
tmp<fvPatchScalarField>
112
(
113
new
uniformDensityHydrostaticPressureFvPatchScalarField
(*
this
)
114
);
115
}
116
117
//- Construct as copy setting internal field reference
118
uniformDensityHydrostaticPressureFvPatchScalarField
119
(
120
const
uniformDensityHydrostaticPressureFvPatchScalarField
&,
121
const
DimensionedField<scalar, volMesh>
&
122
);
123
124
//- Construct and return a clone setting internal field reference
125
virtual
tmp<fvPatchScalarField>
clone
126
(
127
const
DimensionedField<scalar, volMesh>
& iF
128
)
const
129
{
130
return
tmp<fvPatchScalarField>
131
(
132
new
uniformDensityHydrostaticPressureFvPatchScalarField
133
(
134
*
this
,
135
iF
136
)
137
);
138
}
139
140
141
// Member functions
142
143
// Access
144
145
//- Return the constant density in the far-field
146
scalar
rho
()
const
147
{
148
return
rho_;
149
}
150
151
//- Return reference to the constant density in the far-field
152
// to allow adjustment
153
scalar&
rho
()
154
{
155
return
rho_;
156
}
157
158
//- Return the reference pressure
159
scalar
pRefValue
()
const
160
{
161
return
pRefValue_;
162
}
163
164
//- Return reference to the reference pressure to allow adjustment
165
scalar&
pRefValue
()
166
{
167
return
pRefValue_;
168
}
169
170
//- Return the pressure reference location
171
const
vector
&
pRefPoint
()
const
172
{
173
return
pRefPoint_;
174
}
175
176
//- Return reference to the pressure reference location
177
// to allow adjustment
178
vector
&
pRefPoint
()
179
{
180
return
pRefPoint_;
181
}
182
183
184
// Evaluation functions
185
186
//- Update the coefficients associated with the patch field
187
virtual
void
updateCoeffs
();
188
189
190
//- Write
191
virtual
void
write
(
Ostream
&)
const
;
192
};
193
194
195
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
196
197
}
// End namespace Foam
198
199
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
200
201
#endif
202
203
// ************************ vim: set sw=4 sts=4 et: ************************ //