FECCellToFaceStencil.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-2016 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
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 Class
27  Foam::FECCellToFaceStencil
28 
29 Description
30  All cells connected via edge to face.
31 
32 SourceFiles
33  FECCellToFaceStencil.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef FECCellToFaceStencil_H
38 #define FECCellToFaceStencil_H
39 
40 #include "cellToFaceStencil.H"
41 #include "edgeHashes.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 /*---------------------------------------------------------------------------*\
49  Class FECCellToFaceStencil Declaration
50 \*---------------------------------------------------------------------------*/
51 
53 :
54  public cellToFaceStencil
55 {
56  // Private Member Functions
57 
58  //- Calculates per edge the neighbour data (= edgeCells)
59  void calcEdgeBoundaryData
60  (
61  const boolList& isValidBFace,
62  const labelList& boundaryEdges,
63  EdgeMap<labelList>& neiGlobal
64  ) const;
65 
66  //- Calculates per face the edge connected data
67  // (= cell or boundary in global numbering).
68  void calcFaceStencil(labelListList& faceStencil) const;
69 
70 
71 public:
72 
73  // Constructors
74 
75  //- Construct from all cells and boundary faces
76  explicit FECCellToFaceStencil(const polyMesh&);
77 
78 };
79 
80 
81 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
82 
83 } // End namespace Foam
84 
85 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
86 
87 #endif
88 
89 // ************************************************************************* //
Foam::polyMesh
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:77
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::FECCellToFaceStencil
All cells connected via edge to face.
Definition: FECCellToFaceStencil.H:51
Foam::EdgeMap
Map from edge (expressed as its endpoints) to value. For easier forward declaration it is currently i...
Definition: EdgeMap.H:51
edgeHashes.H
Foam::List< bool >
cellToFaceStencil.H
Foam::cellToFaceStencil
Base class for extended cell-to-face stencils (face values from neighbouring cells)
Definition: cellToFaceStencil.H:56
Foam::FECCellToFaceStencil::FECCellToFaceStencil
FECCellToFaceStencil(const polyMesh &)
Construct from all cells and boundary faces.
Definition: FECCellToFaceStencil.C:427