Chi-Tech
doc_VolumeMesher.h
Go to the documentation of this file.
1/** \defgroup LuaVolumeMesher Volume Meshers
2 * \ingroup LuaMesh
3 *
4 * ## General Concepts
5 *
6 * A volume mesher generates cells (chi_mesh::Cell) which can be
7 * either 2D polygons (chi_mesh::CellPolygon) or 3D polyhedrons
8 * (chi_mesh::CellPolyhedron). All cell objects are pushed into
9 * a vector located in a chi_mesh::MeshContinuum after creation.
10 * Right now only a single continuum can be operated on and this is normally
11 * by means of attaching a region to a solver. \n
12 *
13 * \n
14 * Right now 2D meshes can be partitioned but the full 2D cell geometry
15 * exists on each processor. This is mostly because of the way the extruder
16 * works. This means that for a 2D problem a continuum will have ALL of the
17 * cells (as fully defined cells), in every process, in the member
18 * vector "cells" of the continuum.
19 * The same can not be said for 3D extruded meshes where each process has all
20 * the nodes but if cells are not local then only placeholders are uploaded.
21 * Placeholders are basically the base class chi_mesh::Cell and contains only
22 * the cell's partition_id and its centroid. The concept that these placeholders
23 * are uploaded allows a sweeping order to figure out dependencies. A similar
24 * strategy would have to be devised for using third-party meshes.\n
25 *
26 * \n
27 * Global mesh references are maintained in chi_mesh::MeshContinuum::cells.
28 * This contains the actual mesh object. Local indices are stored in
29 * chi_mesh::MeshContinuum::local_cell_glob_indices and are the global indices
30 * of local cells. Conversely the local indices, given a global index,
31 * are stored in chi_mesh::MeshContinuum::glob_cell_local_indices.
32 *
33 * ## Extruder Mesher
34*/