Loading...
Searching...
No Matches
faceBoolSet.C
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) 2018 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26\*---------------------------------------------------------------------------*/
27
28#include "faceBoolSet.H"
29#include "polyMesh.H"
30#include "mapPolyMesh.H"
31#include "syncTools.H"
33
34// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
35
36namespace Foam
41
42// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
47{}
48
50Foam::faceBoolSet::faceBoolSet(const polyMesh& mesh, const bool val)
51:
52 topoBoolSet(mesh, "faceBoolSet", mesh.nFaces(), val)
53{}
54
55
57(
58 const polyMesh& mesh,
59 const boolList& bools
60)
61:
62 topoBoolSet(mesh, "faceBoolSet", mesh.nFaces(), bools)
63{}
64
65
67(
68 const polyMesh& mesh,
69 boolList&& bools
70)
72 topoBoolSet(mesh, "faceBoolSet", mesh.nFaces(), std::move(bools))
73{}
74
75
76// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
81}
82
84Foam::label Foam::faceBoolSet::maxSize(const polyMesh& mesh) const
85{
86 return mesh.nFaces();
87}
88
91{
92 updateLabels(morphMap.reverseFaceMap());
93}
94
104 Ostream& os,
105 const primitiveMesh& mesh,
106 const label maxLen
107) const
108{
109 topoSet::writeDebug(os, mesh.faceCentres(), maxLen);
110}
111
112
113// ************************************************************************* //
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
A special purpose topoSet with the face labels stored as a boolList. It does not correspond to a face...
Definition faceBoolSet.H:50
faceBoolSet(const polyMesh &mesh)
Construct with nFaces elements, all elements unset.
Definition faceBoolSet.C:37
virtual void distribute(const mapDistributePolyMesh &map)
Update any stored data for mesh redistribution.
Definition faceBoolSet.C:89
virtual void writeDebug(Ostream &os, const primitiveMesh &mesh, const label maxLen) const
Write maxLen items with label and coordinates.
Definition faceBoolSet.C:96
virtual label maxSize(const polyMesh &mesh) const
Return max index+1.
Definition faceBoolSet.C:77
virtual void sync(const polyMesh &mesh)
Sync faceBoolSet across coupled patches.
Definition faceBoolSet.C:71
virtual void updateMesh(const mapPolyMesh &morphMap)
Update any stored data for new labels.
Definition faceBoolSet.C:83
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
void distributeFaceData(List< T > &values) const
Distribute list of face data.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const labelList & reverseFaceMap() const noexcept
Reverse face map.
Mesh consisting of general polyhedral cells.
Definition polyMesh.H:79
Cell-face mesh analysis engine.
static void syncFaceList(const polyMesh &mesh, UList< T > &faceValues, const CombineOp &cop, const bool parRun=UPstream::parRun())
Synchronize values on all mesh faces.
Definition syncTools.H:465
topoBoolSet(const polyMesh &mesh, const word &setName)
Construct (no-read) with empty selection.
virtual void updateLabels(const labelUList &map)
Update map from map.
Definition topoBoolSet.C:29
label writeDebug(Ostream &os, const label maxElem, labelHashSet::const_iterator &iter) const
Write part of contents nicely formatted.
Definition topoSet.C:260
#define defineTypeName(Type)
Define the typeName.
Definition className.H:113
dynamicFvMesh & mesh
OBJstream os(runTime.globalPath()/outputName)
Namespace for OpenFOAM.
List< bool > boolList
A List of bools.
Definition List.H:60