OpenFOAM
v2312
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-2022 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
TypeName
(
"cellSet"
);
66
67
68
// Constructors
69
70
//- Construct from IOobject. No checking.
71
explicit
cellSet
(
const
IOobject
&
io
);
72
73
//- Construct from polyMesh and name. Checks for valid cell ids.
74
cellSet
75
(
76
const
polyMesh
&
mesh
,
77
const
word
&
name
,
78
IOobjectOption::readOption
rOpt =
IOobjectOption::MUST_READ
,
79
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
80
);
81
82
//- Construct empty with initial size for labelHashSet
83
cellSet
84
(
85
const
polyMesh
&
mesh
,
86
const
word
&
name
,
87
const
label
size
,
88
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
89
);
90
91
//- Construct from existing set
92
cellSet
93
(
94
const
polyMesh
&
mesh
,
95
const
word
&
name
,
96
const
topoSet
&
set
,
97
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
98
);
99
100
//- Construct (no-read) with copy of labelHashSet
101
cellSet
102
(
103
const
polyMesh
&
mesh
,
104
const
word
&
name
,
105
const
labelHashSet
& labels,
106
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
107
);
108
109
//- Construct (no-read) with moving labelHashSet
110
cellSet
111
(
112
const
polyMesh
&
mesh
,
113
const
word
&
name
,
114
labelHashSet
&& labels,
115
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
116
);
117
118
//- Construct (no-read) with copy labels
119
cellSet
120
(
121
const
polyMesh
&
mesh
,
122
const
word
&
name
,
123
const
labelUList
& labels,
124
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
125
);
126
127
128
// Used for tetMesh cellSet only.
129
130
//- Construct from objectRegistry and name.
131
cellSet
132
(
133
const
Time
&,
134
const
word
&
name
,
135
IOobjectOption::readOption
rOpt =
IOobjectOption::MUST_READ
,
136
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
137
);
138
139
//- Construct empty from objectRegistry.
140
cellSet
141
(
142
const
Time
&,
143
const
word
&
name
,
144
const
label
size
,
145
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
146
);
147
148
//- Construct from labelHashSet
149
cellSet
150
(
151
const
Time
&,
152
const
word
&
name
,
153
const
labelHashSet
& labels,
154
IOobjectOption::writeOption
wOpt =
IOobjectOption::NO_WRITE
155
);
156
157
158
//- Destructor
159
virtual
~cellSet
() =
default
;
160
161
162
// Member functions
163
164
//- Sync cellSet across coupled patches.
165
virtual
void
sync
(
const
polyMesh
&
mesh
)
166
{}
167
168
//- Return max index+1.
169
virtual
label
maxSize
(
const
polyMesh
&
mesh
)
const
;
170
171
//- Update any stored data for new labels.
172
virtual
void
updateMesh
(
const
mapPolyMesh
& morphMap);
173
174
//- Update any stored data for mesh redistribution.
175
virtual
void
distribute
(
const
mapDistributePolyMesh
& map);
176
177
//- Write maxLen items with label and coordinates.
178
virtual
void
writeDebug
179
(
180
Ostream
&
os
,
181
const
primitiveMesh
&,
182
const
label maxLen
183
)
const
;
184
};
185
186
187
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188
189
}
// End namespace Foam
190
191
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
192
193
#endif
194
195
// ************************************************************************* //
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:187
Foam::IOobject::name
const word & name() const noexcept
Return the object name.
Definition:
IOobjectI.H:195
Foam::primitiveMesh
Cell-face mesh analysis engine.
Definition:
primitiveMesh.H:75
Foam::cellSet::writeDebug
virtual void writeDebug(Ostream &os, const primitiveMesh &, const label maxLen) const
Write maxLen items with label and coordinates.
Definition:
cellSet.C:229
Foam::cellSet::updateMesh
virtual void updateMesh(const mapPolyMesh &morphMap)
Update any stored data for new labels.
Definition:
cellSet.C:181
Foam::mapDistributePolyMesh
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Definition:
mapDistributePolyMesh.H:65
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
Foam::mapPolyMesh
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Definition:
mapPolyMesh.H:157
topoSet.H
Foam::HashTable< Foam::zero, Key, Hash >::size
label size() const noexcept
The number of elements in table.
Definition:
HashTable.H:342
Foam::cellSet::maxSize
virtual label maxSize(const polyMesh &mesh) const
Return max index+1.
Definition:
cellSet.C:175
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::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition:
Ostream.H:56
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::cellSet::TypeName
TypeName("cellSet")
Runtime type information.
Foam::cellSet
A collection of cell labels.
Definition:
cellSet.H:47
Foam::polyMesh
Mesh consisting of general polyhedral cells.
Definition:
polyMesh.H:74
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:172
Foam::cellSet::sync
virtual void sync(const polyMesh &mesh)
Sync cellSet across coupled patches.
Definition:
cellSet.H:188
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