processorMeshes.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) 2011 OpenFOAM Foundation
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::processorMeshes
26 
27 Description
28  Container for processor mesh addressing.
29 
30 SourceFiles
31  processorMeshes.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef processorMeshes_H
36 #define processorMeshes_H
37 
38 #include "PtrList.H"
39 #include "fvMesh.H"
40 #include "IOobjectList.H"
41 #include "labelIOList.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 
49 /*---------------------------------------------------------------------------*\
50  Class processorMeshes Declaration
51 \*---------------------------------------------------------------------------*/
52 
53 class processorMeshes
54 {
55  // Private data
56 
57  const word meshName_;
58 
59  //- Processor databases
60  PtrList<Time>& databases_;
61 
62  //- List of processor meshes
63  PtrList<fvMesh> meshes_;
64 
65  //- List of processor point addressing lists
66  PtrList<labelIOList> pointProcAddressing_;
67 
68  //- List of processor face addressing lists
69  PtrList<labelIOList> faceProcAddressing_;
70 
71  //- List of processor cell addressing lists
72  PtrList<labelIOList> cellProcAddressing_;
73 
74  //- List of processor boundary addressing lists
75  PtrList<labelIOList> boundaryProcAddressing_;
76 
77 
78  // Private Member Functions
79 
80  //- Read all meshes
81  void read();
82 
83  //- Disallow default bitwise copy construct
85 
86  //- Disallow default bitwise assignment
87  void operator=(const processorMeshes&);
88 
89 
90 public:
91 
92  // Constructors
93 
94  //- Construct from components
95  processorMeshes(PtrList<Time>& databases, const word& meshName);
96 
97 
98  // Member Functions
99 
100  //- Update the meshes based on the mesh files saved in time directories
102 
103  //- Reconstruct point position after motion in parallel
104  void reconstructPoints(fvMesh&);
107  {
108  return meshes_;
109  }
112  {
113  return pointProcAddressing_;
114  }
117  {
118  return faceProcAddressing_;
119  }
122  {
123  return cellProcAddressing_;
124  }
127  {
128  return boundaryProcAddressing_;
129  }
130 
131 
132 };
133 
134 
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 
137 } // End namespace Foam
138 
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 
141 #endif
142 
143 // ************************************************************************* //
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Definition: List.H:61
static char meshName[]
Definition: globalFoam.H:7
A class for handling words, derived from string.
Definition: word.H:59
void reconstructPoints(fvMesh &)
Reconstruct point position after motion in parallel.
fvMesh::readUpdateState readUpdate()
Update the meshes based on the mesh files saved in time directories.
Namespace for OpenFOAM.
Container for processor mesh addressing.
readUpdateState
Enumeration defining the state of the mesh after a read update.
Definition: polyMesh.H:88
PtrList< fvMesh > & meshes()
const PtrList< labelIOList > & boundaryProcAddressing() const
const PtrList< labelIOList > & pointProcAddressing() const
const PtrList< labelIOList > & cellProcAddressing() const
PtrList< labelIOList > & faceProcAddressing()