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
meshTools
sets
cellSources
rotatedBoxToCell
rotatedBoxToCell.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::rotatedBoxToCell
26
27
Description
28
A topoSetSource to select cells based on cell centres inside
29
rotated/skewed box (parallelopiped?).
30
31
Box defined as origin and i,j,k vectors.
32
E.g. box rotated 45 degrees around z-axis with sizes sqrt(0.2^2+0.2^2)
33
(and extra large, 200 in z direction):
34
@verbatim
35
origin ( 0.4 0.4 -100);
36
i ( 0.2 0.2 0);
37
j (-0.2 0.2 0);
38
k ( 0.0 0.0 100);
39
@endverbatim
40
41
SourceFiles
42
rotatedBoxToCell.C
43
44
\*---------------------------------------------------------------------------*/
45
46
#ifndef rotatedBoxToCell_H
47
#define rotatedBoxToCell_H
48
49
#include <
meshTools/topoSetSource.H
>
50
#include <
meshTools/treeBoundBox.H
>
51
52
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53
54
namespace
Foam
55
{
56
57
/*---------------------------------------------------------------------------*\
58
Class rotatedBoxToCell Declaration
59
\*---------------------------------------------------------------------------*/
60
61
class
rotatedBoxToCell
62
:
63
public
topoSetSource
64
{
65
66
// Private data
67
68
//- Add usage string
69
static
addToUsageTable
usage_;
70
71
72
//- skewed box
73
const
vector
origin_;
74
const
vector
i_;
75
const
vector
j_;
76
const
vector
k_;
77
78
79
// Private Member Functions
80
81
void
combine(
topoSet
&
set
,
const
bool
add
)
const
;
82
83
84
public
:
85
86
//- Runtime type information
87
TypeName
(
"rotatedBoxToCell"
);
88
89
// Constructors
90
91
//- Construct from components
92
rotatedBoxToCell
93
(
94
const
polyMesh
&
mesh
,
95
const
vector
& origin,
96
const
vector
& i,
97
const
vector
& j,
98
const
vector
&
k
99
);
100
101
//- Construct from dictionary
102
rotatedBoxToCell
(
const
polyMesh
& mesh,
const
dictionary
& dict);
103
104
//- Construct from Istream
105
rotatedBoxToCell
(
const
polyMesh
& mesh,
Istream
&);
106
107
108
// Destructor
109
110
virtual
~rotatedBoxToCell
();
111
112
113
// Member Functions
114
115
virtual
void
applyToSet
116
(
117
const
topoSetSource::setAction
action,
118
topoSet
&
119
)
const
;
120
121
};
122
123
124
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125
126
}
// End namespace Foam
127
128
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129
130
#endif
131
132
// ************************ vim: set sw=4 sts=4 et: ************************ //