OpenFOAM
v2406
The open source CFD toolbox
cellSet.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 | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2011 OpenFOAM Foundation
9
Copyright (C) 2016-2024 OpenCFD Ltd.
10
-------------------------------------------------------------------------------
11
License
12
This file is part of OpenFOAM.
13
14
OpenFOAM is free software: you can redistribute it and/or modify it
15
under the terms of the GNU General Public License as published by
16
the Free Software Foundation, either version 3 of the License, or
17
(at your option) any later version.
18
19
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22
for more details.
23
24
You should have received a copy of the GNU General Public License
25
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
Class
28
Foam::cellSet
29
30
Description
31
A collection of cell labels.
32
33
SourceFiles
34
cellSet.C
35
36
\*---------------------------------------------------------------------------*/
37
38
#ifndef Foam_cellSet_H
39
#define Foam_cellSet_H
40
41
#include "
topoSet.H
"
42
43
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45
namespace
Foam
46
{
47
48
/*---------------------------------------------------------------------------*\
49
Class cellSet Declaration
50
\*---------------------------------------------------------------------------*/
51
52
class
cellSet
53
:
54
public
topoSet
55
{
56
// Private Member Functions
57
58
//- No copy construct
59
cellSet
(
const
cellSet
&) =
delete
;
60
61
62
public
:
63
64
//- Runtime type information
65
TypeNameNoDebug
(
"cellSet"
);
66
67
68
// Constructors
69
70
//- Construct from IOobject. No checking.
71
explicit
cellSet
(
const
IOobject
&
io
);
72
73
//- Construct empty (no-read) with IOobject information
74
cellSet
(
const
IOobject
&
io
,
const
Foam::zero
);
75
76
//- Construct from polyMesh (registry) and name.
77
//- Checks for valid cell ids.
78
cellSet
79
(
80
const
polyMesh
&
mesh
,
81
const
word
&
name
,
82
IOobjectOption::readOption
rOpt =
IOobjectOption::MUST_READ
,
83
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
,
84
IOobjectOption::registerOption
reg =
IOobjectOption::LEGACY_REGISTER
85
);
86
87
//- Construct from polyMesh (registry), name and registration option
88
cellSet
89
(
90
const
polyMesh
&
mesh
,
91
const
word
&
name
,
92
IOobjectOption::registerOption
reg,
93
IOobjectOption::readOption
rOpt =
IOobjectOption::MUST_READ
,
94
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
95
)
96
:
97
cellSet
(
mesh
,
name
, rOpt, wOpt, reg)
98
{}
99
100
//- Construct empty (no-read) with initial labelHashSet capacity
101
cellSet
102
(
103
const
polyMesh
&
mesh
,
104
const
word
&
name
,
105
const
label initialCapacity,
106
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
107
);
108
109
//- Copy construct (no-read) from existing set
110
cellSet
111
(
112
const
polyMesh
&
mesh
,
113
const
word
&
name
,
114
const
topoSet
&
set
,
115
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
116
);
117
118
//- Copy construct (no-read) from labelHashSet,
119
//- with search for IOobject instance.
120
cellSet
121
(
122
const
polyMesh
&
mesh
,
123
const
word
&
name
,
124
const
labelHashSet
& labels,
125
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
126
);
127
128
//- Move construct (no-read) from labelHashSet,
129
//- with search for IOobject instance.
130
cellSet
131
(
132
const
polyMesh
&
mesh
,
133
const
word
&
name
,
134
labelHashSet
&& labels,
135
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
136
);
137
138
//- Copy construct (no-read) from labels,
139
//- with search for IOobject instance.
140
cellSet
141
(
142
const
polyMesh
&
mesh
,
143
const
word
&
name
,
144
const
labelUList
& labels,
145
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
146
);
147
148
149
//- Construct from objectRegistry and name.
150
//- Used for tetMesh cellSet only.
151
cellSet
152
(
153
const
Time
&,
154
const
word
&
name
,
155
IOobjectOption::readOption
rOpt =
IOobjectOption::MUST_READ
,
156
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
157
);
158
159
//- Construct empty (no-read) with initial labelHashSet capacity
160
//- from objectRegistry.
161
//- Used for tetMesh cellSet only.
162
cellSet
163
(
164
const
Time
&,
165
const
word
&
name
,
166
const
label initialCapacity,
167
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
168
);
169
170
//- Copy construct (no-read) from labelHashSet.
171
//- Used for tetMesh cellSet only.
172
cellSet
173
(
174
const
Time
&,
175
const
word
&
name
,
176
const
labelHashSet
& labels,
177
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
178
);
179
180
181
// Factory Methods
182
183
//- Read and return contents. Intermediate IOobject is not registered
184
static
labelHashSet
readContents
185
(
186
const
polyMesh
&
mesh
,
187
const
word
&
name
188
);
189
190
191
//- Destructor
192
virtual
~cellSet
() =
default
;
193
194
195
// Member functions
196
197
//- Sync cellSet across coupled patches.
198
virtual
void
sync
(
const
polyMesh
&
mesh
)
199
{}
200
201
//- Return max index+1.
202
virtual
label
maxSize
(
const
polyMesh&
mesh
)
const
;
203
204
//- Update any stored data for new labels.
205
virtual
void
updateMesh
(
const
mapPolyMesh& morphMap);
206
207
//- Update any stored data for mesh redistribution.
208
virtual
void
distribute
(
const
mapDistributePolyMesh& map);
209
210
//- Write maxLen items with label and coordinates.
211
virtual
void
writeDebug
212
(
213
Ostream&
os
,
214
const
primitiveMesh&,
215
const
label maxLen
216
)
const
;
217
};
218
219
220
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
221
222
}
// End namespace Foam
223
224
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
225
226
#endif
227
228
// ************************************************************************* //
Foam::IOobjectOption::writeOption
writeOption
Enumeration defining write preferences.
Definition:
IOobjectOption.H:83
Foam::HashSet< label, Hash< label > >
Foam::cellSet::distribute
virtual void distribute(const mapDistributePolyMesh &map)
Update any stored data for mesh redistribution.
Definition:
cellSet.C:214
Foam::IOobjectOption::LEGACY_REGISTER
Legacy/default registration request (bool: true)
Definition:
IOobjectOption.H:105
Foam::IOobject::name
const word & name() const noexcept
Return the object name.
Definition:
IOobjectI.H:195
Foam::cellSet::writeDebug
virtual void writeDebug(Ostream &os, const primitiveMesh &, const label maxLen) const
Write maxLen items with label and coordinates.
Definition:
cellSet.C:256
Foam::cellSet::TypeNameNoDebug
TypeNameNoDebug("cellSet")
Runtime type information.
Foam::cellSet::updateMesh
virtual void updateMesh(const mapPolyMesh &morphMap)
Update any stored data for new labels.
Definition:
cellSet.C:208
Foam::IOobjectOption::NO_WRITE
Ignore writing from objectRegistry::writeObject()
Definition:
IOobjectOption.H:86
Foam::Time
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition:
Time.H:69
topoSet.H
Foam::cellSet::maxSize
virtual label maxSize(const polyMesh &mesh) const
Return max index+1.
Definition:
cellSet.C:202
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:6
Foam::word
A class for handling words, derived from Foam::string.
Definition:
word.H:63
Foam::IOobjectOption::MUST_READ
Reading required.
Definition:
IOobjectOption.H:63
Foam::UList< label >
Foam::cellSet::readContents
static labelHashSet readContents(const polyMesh &mesh, const word &name)
Read and return contents. Intermediate IOobject is not registered.
Definition:
cellSet.C:181
os
OBJstream os(runTime.globalPath()/outputName)
Foam::topoSet
General set of labels of mesh quantity (points, cells, faces).
Definition:
topoSet.H:59
Foam::cellSet::~cellSet
virtual ~cellSet()=default
Destructor.
Foam::IOobjectOption::registerOption
registerOption
Enumeration for use with registerObject(). Values map to bool (false/true)
Definition:
IOobjectOption.H:96
Foam::cellSet
A collection of cell labels.
Definition:
cellSet.H:47
Foam::zero
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
Definition:
zero.H:57
Foam::polyMesh
Mesh consisting of general polyhedral cells.
Definition:
polyMesh.H:75
io
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported...
Definition:
IOobject.H:180
Foam::cellSet::sync
virtual void sync(const polyMesh &mesh)
Sync cellSet across coupled patches.
Definition:
cellSet.H:227
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:26
Foam::IOobjectOption::readOption
readOption
Enumeration defining read preferences.
Definition:
IOobjectOption.H:57
src
meshTools
topoSet
topoSets
cellSet.H
Generated by
1.8.14