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
buoyantPressure
buoyantPressureFvPatchScalarField.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::buoyantPressureFvPatchScalarField
26
27
Description
28
Set the pressure gradient boundary condition appropriately for buoyant flow.
29
30
If the variable name is "pd" assume it is p - rho*g.h and set the gradient
31
appropriately. Otherwise assume the variable is the static pressure.
32
33
SourceFiles
34
buoyantPressureFvPatchScalarField.C
35
36
\*---------------------------------------------------------------------------*/
37
38
#ifndef buoyantPressureFvPatchScalarFields_H
39
#define buoyantPressureFvPatchScalarFields_H
40
41
#include <
finiteVolume/fvPatchFields.H
>
42
#include <
finiteVolume/fixedGradientFvPatchFields.H
>
43
44
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46
namespace
Foam
47
{
48
49
/*---------------------------------------------------------------------------*\
50
Class buoyantPressureFvPatch Declaration
51
\*---------------------------------------------------------------------------*/
52
53
class
buoyantPressureFvPatchScalarField
54
:
55
public
fixedGradientFvPatchScalarField
56
{
57
// Private data
58
59
//- Name of the density field used to calculate the buoyancy force
60
word
rhoName_;
61
62
63
public
:
64
65
//- Runtime type information
66
TypeName
(
"buoyantPressure"
);
67
68
69
// Constructors
70
71
//- Construct from patch and internal field
72
buoyantPressureFvPatchScalarField
73
(
74
const
fvPatch
&,
75
const
DimensionedField<scalar, volMesh>
&
76
);
77
78
//- Construct from patch, internal field and dictionary
79
buoyantPressureFvPatchScalarField
80
(
81
const
fvPatch
&,
82
const
DimensionedField<scalar, volMesh>
&,
83
const
dictionary
&
84
);
85
86
//- Construct by mapping given
87
// buoyantPressureFvPatchScalarField onto a new patch
88
buoyantPressureFvPatchScalarField
89
(
90
const
buoyantPressureFvPatchScalarField
&,
91
const
fvPatch
&,
92
const
DimensionedField<scalar, volMesh>
&,
93
const
fvPatchFieldMapper
&
94
);
95
96
//- Construct as copy
97
buoyantPressureFvPatchScalarField
98
(
99
const
buoyantPressureFvPatchScalarField
&
100
);
101
102
//- Construct and return a clone
103
virtual
tmp<fvPatchScalarField>
clone
()
const
104
{
105
return
tmp<fvPatchScalarField>
106
(
107
new
buoyantPressureFvPatchScalarField
(*
this
)
108
);
109
}
110
111
//- Construct as copy setting internal field reference
112
buoyantPressureFvPatchScalarField
113
(
114
const
buoyantPressureFvPatchScalarField
&,
115
const
DimensionedField<scalar, volMesh>
&
116
);
117
118
//- Construct and return a clone setting internal field reference
119
virtual
tmp<fvPatchScalarField>
clone
120
(
121
const
DimensionedField<scalar, volMesh>
& iF
122
)
const
123
{
124
return
tmp<fvPatchScalarField>
125
(
126
new
buoyantPressureFvPatchScalarField
(*
this
, iF)
127
);
128
}
129
130
131
// Member functions
132
133
//- Update the coefficients associated with the patch field
134
virtual
void
updateCoeffs
();
135
136
//- Write
137
virtual
void
write
(
Ostream
&)
const
;
138
};
139
140
141
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142
143
}
// End namespace Foam
144
145
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146
147
#endif
148
149
// ************************ vim: set sw=4 sts=4 et: ************************ //