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
cfdTools
general
SRF
derivedFvPatchFields
SRFFreestreamVelocityFvPatchVectorField
SRFFreestreamVelocityFvPatchVectorField.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-2011 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::SRFFreestreamVelocityFvPatchVectorField
26
27
Description
28
Freestream velocity patch to be used with SRF model
29
to apply the appropriate rotation transformation in time and space.
30
31
SourceFiles
32
SRFFreestreamVelocityFvPatchVectorField.C
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef SRFFreestreamVelocityFvPatchVectorField_H
37
#define SRFFreestreamVelocityFvPatchVectorField_H
38
39
#include <
finiteVolume/inletOutletFvPatchFields.H
>
40
41
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42
43
namespace
Foam
44
{
45
46
/*---------------------------------------------------------------------------*\
47
Class SRFFreestreamVelocityFvPatchVectorField Declaration
48
\*---------------------------------------------------------------------------*/
49
50
class
SRFFreestreamVelocityFvPatchVectorField
51
:
52
public
inletOutletFvPatchVectorField
53
{
54
// Private data
55
56
//- Velocity of the free stream in the absolute frame
57
vector
UInf_;
58
59
60
public
:
61
62
//- Runtime type information
63
TypeName
(
"SRFFreestreamVelocity"
);
64
65
66
// Constructors
67
68
//- Construct from patch and internal field
69
SRFFreestreamVelocityFvPatchVectorField
70
(
71
const
fvPatch
&,
72
const
DimensionedField<vector, volMesh>
&
73
);
74
75
//- Construct from patch, internal field and dictionary
76
SRFFreestreamVelocityFvPatchVectorField
77
(
78
const
fvPatch
&,
79
const
DimensionedField<vector, volMesh>
&,
80
const
dictionary
&
81
);
82
83
//- Construct by mapping given SRFFreestreamVelocityFvPatchVectorField
84
// onto a new patch
85
SRFFreestreamVelocityFvPatchVectorField
86
(
87
const
SRFFreestreamVelocityFvPatchVectorField
&,
88
const
fvPatch
&,
89
const
DimensionedField<vector, volMesh>
&,
90
const
fvPatchFieldMapper
&
91
);
92
93
//- Construct as copy
94
SRFFreestreamVelocityFvPatchVectorField
95
(
96
const
SRFFreestreamVelocityFvPatchVectorField
&
97
);
98
99
//- Construct and return a clone
100
virtual
tmp<fvPatchVectorField>
clone
()
const
101
{
102
return
tmp<fvPatchVectorField>
103
(
104
new
SRFFreestreamVelocityFvPatchVectorField
(*
this
)
105
);
106
}
107
108
//- Construct as copy setting internal field reference
109
SRFFreestreamVelocityFvPatchVectorField
110
(
111
const
SRFFreestreamVelocityFvPatchVectorField
&,
112
const
DimensionedField<vector, volMesh>
&
113
);
114
115
//- Construct and return a clone setting internal field reference
116
virtual
tmp<fvPatchVectorField>
clone
117
(
118
const
DimensionedField<vector, volMesh>
& iF
119
)
const
120
{
121
return
tmp<fvPatchVectorField>
122
(
123
new
SRFFreestreamVelocityFvPatchVectorField
(*
this
, iF)
124
);
125
}
126
127
128
// Member functions
129
130
// Access
131
132
//- Return the velocity at infinity
133
const
vector
&
UInf
()
const
134
{
135
return
UInf_;
136
}
137
138
//- Return reference to the velocity at infinity to allow adjustment
139
vector
&
UInf
()
140
{
141
return
UInf_;
142
}
143
144
145
// Evaluation functions
146
147
//- Update the coefficients associated with the patch field
148
virtual
void
updateCoeffs
();
149
150
151
//- Write
152
virtual
void
write
(
Ostream
&)
const
;
153
};
154
155
156
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157
158
}
// End namespace Foam
159
160
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161
162
#endif
163
164
// ************************ vim: set sw=4 sts=4 et: ************************ //