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
OpenFOAM
primitives
SphericalTensor2D
SphericalTensor2D_.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::SphericalTensor2D
26
27
Description
28
Templated 2D sphericalTensor derived from VectorSpace adding construction
29
from 1 component, element access using ii() member function and the
30
inner-product (dot-product) and outer-product operators.
31
32
SourceFiles
33
SphericalTensor2DI_.H
34
35
\*---------------------------------------------------------------------------*/
36
37
#ifndef SphericalTensor2D__H
38
#define SphericalTensor2D__H
39
40
#include <
OpenFOAM/VectorSpace.H
>
41
42
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44
namespace
Foam
45
{
46
47
/*---------------------------------------------------------------------------*\
48
Class SphericalTensor2D Declaration
49
\*---------------------------------------------------------------------------*/
50
51
template
<
class
Cmpt>
52
class
SphericalTensor2D
53
:
54
public
VectorSpace
<SphericalTensor2D<Cmpt>, Cmpt, 1>
55
{
56
57
public
:
58
59
// Member constants
60
61
enum
62
{
63
rank
= 2
// Rank of SphericalTensor2D is 2
64
};
65
66
67
// Static data members
68
69
static
const
char
*
const
typeName
;
70
static
const
char
*
componentNames
[];
71
static
const
SphericalTensor2D
zero
;
72
static
const
SphericalTensor2D
one
;
73
static
const
SphericalTensor2D
max
;
74
static
const
SphericalTensor2D
min
;
75
static
const
SphericalTensor2D
I
;
76
static
const
SphericalTensor2D
oneThirdI
;
77
static
const
SphericalTensor2D
twoThirdsI
;
78
79
80
//- Component labeling enumeration
81
enum
components
{
II
};
82
83
84
// Constructors
85
86
//- Construct null
87
inline
SphericalTensor2D
();
88
89
//- Construct given VectorSpace
90
inline
SphericalTensor2D
91
(
92
const
VectorSpace
<
SphericalTensor2D<Cmpt>
, Cmpt, 1>&
93
);
94
95
//- Construct given the component
96
inline
SphericalTensor2D
(
const
Cmpt& tii);
97
98
//- Construct from Istream
99
inline
SphericalTensor2D
(
Istream
&);
100
101
102
// Member Functions
103
104
// Access
105
106
inline
const
Cmpt&
ii
()
const
;
107
inline
Cmpt&
ii
();
108
};
109
110
111
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112
113
}
// End namespace Foam
114
115
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116
117
// Include inline implementations
118
#include "
SphericalTensor2DI_.H
"
119
120
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121
122
#endif
123
124
// ************************ vim: set sw=4 sts=4 et: ************************ //