cartesianMeshExtractor.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | cfMesh: A library for mesh generation
4  \\ / O peration |
5  \\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
6  \\/ M anipulation | Copyright (C) Creative Fields, Ltd.
7 -------------------------------------------------------------------------------
8 License
9  This file is part of cfMesh.
10 
11  cfMesh is free software; you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by the
13  Free Software Foundation; either version 3 of the License, or (at your
14  option) any later version.
15 
16  cfMesh 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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  cartesianMeshExtractor
26 
27 Description
28  Generates the cartesian mesh template from the octree
29 
30 SourceFiles
31  cartesianMeshExtractor.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef cartesianMeshExtractor_H
36 #define cartesianMeshExtractor_H
37 
38 #include "polyMeshGenModifier.H"
39 #include "meshOctreeAddressing.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 class IOdictionary;
47 
48 /*---------------------------------------------------------------------------*\
49  Class cartesianMeshExtractor Declaration
50 \*---------------------------------------------------------------------------*/
51 
53 {
54  // Private data
55  //- reference to the octree addressing
57 
58  //- reference to the mesh
60 
61  //- decompose split hex cells
63 
64  //- cell label for a given leaf
66 
67  // Private member functions
68  //- delete all freestore data
69  void clearOut();
70 
71  //- create vertices and pointLeaves addressing
73 
74  //- create mesh data
75  void createPolyMesh();
76 
77  //- decompose split hexes into pyramids and tets
79 
80  // Private copy constructor
81  //- Disallow default bitwise copy construct
83 
84  //- Disallow default bitwise assignment
85  void operator=(const cartesianMeshExtractor&);
86 
87 public:
88 
89  // Constructors
90 
91  //- Construct from octree and mesh data
93  (
94  meshOctree& octree,
95  const IOdictionary& meshDict,
97  );
98 
99  // Destructor
100 
102 
103 
104  // Member Functions
105 
106  //- decompose split hexes into standard cells
107  void decomposeSplitHexes();
108 
109  //- create the mesh with the above options
110  void createMesh();
111 };
112 
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 } // End namespace Foam
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 #endif
121 
122 // ************************************************************************* //
Foam::IOdictionary
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition: IOdictionary.H:53
Foam::cartesianMeshExtractor::decomposeSplitHexesIntoTetsAndPyramids
void decomposeSplitHexesIntoTetsAndPyramids()
decompose split hexes into pyramids and tets
Definition: cartesianMeshExtractorDecomposeSplitHexes.C:43
Foam::cartesianMeshExtractor
Definition: cartesianMeshExtractor.H:51
Foam::cartesianMeshExtractor::octreeCheck_
meshOctreeAddressing octreeCheck_
reference to the octree addressing
Definition: cartesianMeshExtractor.H:55
polyMeshGenModifier.H
Foam::polyMeshGen
Definition: polyMeshGen.H:46
Foam::cartesianMeshExtractor::operator=
void operator=(const cartesianMeshExtractor &)
Disallow default bitwise assignment.
Foam::cartesianMeshExtractor::decomposeSplitHexes
void decomposeSplitHexes()
decompose split hexes into standard cells
Definition: cartesianMeshExtractor.C:71
Foam::cartesianMeshExtractor::createPolyMesh
void createPolyMesh()
create mesh data
Definition: cartesianMeshExtractorPolyMesh.C:51
Foam::cartesianMeshExtractor::cartesianMeshExtractor
cartesianMeshExtractor(const cartesianMeshExtractor &)
Disallow default bitwise copy construct.
Foam::cartesianMeshExtractor::clearOut
void clearOut()
delete all freestore data
Definition: cartesianMeshExtractor.C:40
Foam::cartesianMeshExtractor::decomposeSplitHexes_
bool decomposeSplitHexes_
decompose split hex cells
Definition: cartesianMeshExtractor.H:61
Foam::cartesianMeshExtractor::leafCellLabelPtr_
labelList * leafCellLabelPtr_
cell label for a given leaf
Definition: cartesianMeshExtractor.H:64
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:18
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
meshOctreeAddressing.H
Foam::cartesianMeshExtractor::createPointsAndAddressing
void createPointsAndAddressing()
create vertices and pointLeaves addressing
Definition: cartesianMeshExtractorPointsAndAddressing.C:39
Foam::meshOctreeAddressing
Definition: meshOctreeAddressing.H:59
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: HashTable.H:59
Foam::meshOctree
Definition: meshOctree.H:55
Foam::cartesianMeshExtractor::~cartesianMeshExtractor
~cartesianMeshExtractor()
Definition: cartesianMeshExtractor.C:64
Foam::cartesianMeshExtractor::mesh_
polyMeshGen & mesh_
reference to the mesh
Definition: cartesianMeshExtractor.H:58
Foam::cartesianMeshExtractor::createMesh
void createMesh()
create the mesh with the above options
Definition: cartesianMeshExtractor.C:76