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
SRFModel
SRFModel
SRFModel.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
Namespace
25
Foam::SRF
26
27
Description
28
Namespace for single rotating frame (SRF) models
29
30
Class
31
Foam::SRF::SRFModel
32
33
Description
34
Top level model for single rotating frame
35
- Steady state only - no time derivatives included
36
37
SourceFiles
38
SRFModel.C
39
40
\*---------------------------------------------------------------------------*/
41
42
#ifndef SRFModel_H
43
#define SRFModel_H
44
45
#include <
OpenFOAM/IOdictionary.H
>
46
#include <
OpenFOAM/autoPtr.H
>
47
#include <
OpenFOAM/runTimeSelectionTables.H
>
48
#include <
finiteVolume/fvMesh.H
>
49
#include <
finiteVolume/volFields.H
>
50
#include <
OpenFOAM/vectorField.H
>
51
52
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53
54
namespace
Foam
55
{
56
namespace
SRF
57
{
58
59
/*---------------------------------------------------------------------------*\
60
Class SRFModel Declaration
61
\*---------------------------------------------------------------------------*/
62
63
class
SRFModel
64
:
65
public
IOdictionary
66
{
67
68
protected
:
69
70
// Protected data
71
72
//- Reference to the relative velocity field
73
const
volVectorField
&
Urel_
;
74
75
//- Reference to the mesh
76
const
fvMesh
&
mesh_
;
77
78
//- Axis of rotation
79
vector
axis_
;
80
81
//- SRF model coeficients dictionary
82
dictionary
SRFModelCoeffs_
;
83
84
//- Angular velocity of the frame (rad/s)
85
dimensionedVector
omega_
;
86
87
88
private
:
89
90
// Private Member Functions
91
92
//- Disallow default bitwise copy construct
93
SRFModel
(
const
SRFModel
&);
94
95
//- Disallow default bitwise assignment
96
void
operator=(
const
SRFModel
&);
97
98
99
public
:
100
101
//- Runtime type information
102
TypeName
(
"SRFModel"
);
103
104
105
// Declare runtime constructor selection table
106
107
declareRunTimeSelectionTable
108
(
109
autoPtr
,
110
SRFModel
,
111
dictionary
,
112
(
113
const
volVectorField
& Urel
114
),
115
(Urel)
116
);
117
118
119
// Constructors
120
121
//- Construct from components
122
SRFModel
123
(
124
const
word
&
type
,
125
const
volVectorField
& Urel
126
);
127
128
129
// Selectors
130
131
//- Return a reference to the selected SRF model
132
static
autoPtr<SRFModel>
New
133
(
134
const
volVectorField
& Urel
135
);
136
137
138
// Destructor
139
140
virtual
~SRFModel
();
141
142
143
// Member Functions
144
145
// Edit
146
147
//- Read radiationProperties dictionary
148
virtual
bool
read
();
149
150
151
// Access
152
153
//- Return the axis of rotation
154
const
vector
&
axis
()
const
;
155
156
//- Return the angular velocity field [rad/s]
157
const
dimensionedVector
&
omega
()
const
;
158
159
//- Return the coriolis force
160
tmp<DimensionedField<vector, volMesh>
>
Fcoriolis
()
const
;
161
162
//- Return the centrifugal force
163
tmp<DimensionedField<vector, volMesh>
>
Fcentrifugal
()
const
;
164
165
//- Source term component for momentum equation
166
tmp<DimensionedField<vector, volMesh>
>
Su
()
const
;
167
168
//- Return velocity vector from positions
169
vectorField
velocity
(
const
vectorField
& positions)
const
;
170
171
//- Return velocity of SRF for complete mesh
172
tmp<volVectorField>
U
()
const
;
173
174
//- Return absolute velocity for complete mesh
175
tmp<volVectorField>
Uabs
()
const
;
176
};
177
178
179
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
180
181
}
// End namespace SRF
182
}
// End namespace Foam
183
184
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
185
186
#endif
187
188
// ************************ vim: set sw=4 sts=4 et: ************************ //