processorFaMeshes.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) 2016-2017 Wikki 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
26Class
27 Foam::processorFaMeshes
28
29Description
30 Container for finite-area processor mesh addressing.
31
32Author
33 Zeljko Tukovic, FSB Zagreb
34
35SourceFiles
36 processorFaMeshes.C
37
38\*---------------------------------------------------------------------------*/
39
40#ifndef Foam_processorFaMeshes_H
41#define Foam_processorFaMeshes_H
42
43#include "PtrList.H"
44#include "faMesh.H"
45#include "fvMesh.H"
46#include "IOobjectList.H"
47#include "labelIOList.H"
48
49// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50
51namespace Foam
52{
53
54/*---------------------------------------------------------------------------*\
55 Class processorFaMeshes Declaration
56\*---------------------------------------------------------------------------*/
59{
60 // Private Data
61
62 //- List of processor finite volume meshes
63 const UPtrList<fvMesh>& fvMeshes_;
64
65 //- List of processor finite area meshes
66 PtrList<faMesh> meshes_;
67
68 //- List of processor point addressing lists
69 PtrList<labelIOList> pointProcAddressing_;
70
71 //- List of processor face addressing lists
72 PtrList<labelIOList> edgeProcAddressing_;
73
74 //- List of processor cell addressing lists
75 PtrList<labelIOList> faceProcAddressing_;
76
77 //- List of processor boundary addressing lists
78 PtrList<labelIOList> boundaryProcAddressing_;
79
80
81 // Private Member Functions
82
83 //- Read all meshes
84 void read();
85
86 //- No copy construct
87 processorFaMeshes(const processorFaMeshes&) = delete;
88
89 //- No copy assignment
90 void operator=(const processorFaMeshes&) = delete;
91
92
93public:
94
95 // Constructors
96
97 //- Construct from components
98 explicit processorFaMeshes(const UPtrList<fvMesh>& procFvMeshes);
99
100
101 // Member Functions
103 const PtrList<faMesh>& meshes() const noexcept
104 {
105 return meshes_;
106 }
109 {
110 return meshes_;
111 }
114 {
115 return pointProcAddressing_;
116 }
119 {
120 return edgeProcAddressing_;
121 }
124 {
125 return faceProcAddressing_;
126 }
129 {
130 return boundaryProcAddressing_;
131 }
132
133
134 //- Helper: remove all procAddressing files from mesh instance
135 static void removeFiles(const faMesh& mesh);
136};
137
138
139// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140
141} // End namespace Foam
142
143// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144
145#endif
146
147// ************************************************************************* //
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Definition: PtrList.H:73
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Definition: UPtrList.H:71
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
Definition: faMesh.H:100
Container for finite-area processor mesh addressing.
const PtrList< labelIOList > & boundaryProcAddressing() const noexcept
const PtrList< faMesh > & meshes() const noexcept
const PtrList< labelIOList > & pointProcAddressing() const noexcept
static void removeFiles(const faMesh &mesh)
Helper: remove all procAddressing files from mesh instance.
const PtrList< labelIOList > & faceProcAddressing() const noexcept
PtrList< faMesh > & meshes() noexcept
PtrList< labelIOList > & edgeProcAddressing() noexcept
dynamicFvMesh & mesh
Namespace for OpenFOAM.
const direction noexcept
Definition: Scalar.H:223