Salome HOME
MEDMEM suppression
[modules/med.git] / doc / doxygen / mesh.dox
1 /*!
2 \page mesh MESH
3
4 \section mesh_general General information
5
6 The MESH class is dedicated to the handling of unstructured
7 meshes. Class MESHING  deriving from it supplies functions for creating meshes from scratch (c.f. \ref meshing).
8
9 \section mesh_connectivity Content of the connectivity array
10 Underlying the unstructured meshes is the notion of connectivity. This section only covers meshes made out of standard elements, the \c MED_POLYGON and \c MED_POLYHEDRA case being detailed in section \ref polygon .
11
12 \anchor medmemConnArrays
13 \image html connectivity_arrays_small.png "Nodal connectivity storage scheme"
14 \image latex connectivity_arrays_small.eps "Nodal connectivity storage scheme"
15
16 In MEDMEM, an unstructured mesh nodal connectivity is defined with these arrays:
17 - the type array, which contains the number of cells for each present type;
18 - the nodal connectivity array containing the connectivity of each cell, all cells being sorted by type;
19 - the connectivity index array, which indicates the beginning of each cell in the connectivity array.
20
21 The cell types are ordered by their number of nodes; MED_POLYGON and
22 MED_POLYHEDRA is always the last type, if present.
23
24 As an example, let us consider a mesh made out of a linear triangle, two linear quadrangles and a quadratic triangle (c.f. figure \ref fig_connectivity_example ).
25 \image html connectivity_example_small.png "Example for mesh connectivity"
26 \image latex connectivity_example_small.eps "Example for mesh connectivity"
27 The number of types is :  3
28
29 The type array writes :
30 \{ \a MED_TRIA3, \a MED_QUAD4, \a MED_TRIA6 \} 
31
32 The global numbering index is :  \{ 1,2,4,5 \} }. Its dimension is \f$ n_{types}+1 \f$
33 so that elements of type \f$ type[i] \f$ are stored between element \f$ index[i] \f$ and 
34 \f$ index[i+1] \f$ ( \f$ index[i] \leq j < index[i+1] \f$).
35
36 The connectivity array writes :
37 \{ 1, 2, 3, 2, 4, 5, 3, 5, 6, 7, 8, 4, 6, 5, 10, 11,  9\} 
38
39 The connectivity index array writes :
40 \{ 1, 4, 8, 12, 18\} 
41
42 Its dimension is \f$n_{cell}+1\f$, in order to be able to write 
43 that nodes of element \f$i\f$ are located in the connectivity array between
44 \f$index[i]\f$ and \f$index[i+1]\f$ ( \f$index[i] \leq j < index[i+1]\f$).\\
45
46
47 \warning
48 As MEDMEM respects MED numbering which starts Fortran-style at 1, reading these information to set C structures requires careful handling of index offsets.
49
50
51 \section mesh_outline Outline
52
53 The description of MESH methods is given by the following sections :
54
55 - Description of constructors is given in \ref MESH_constructors.
56 - Methods retrieveing general information is given in \ref MESH_general.
57 - Retrieval of information about mesh nodes can be found in \ref MESH_nodes.
58 - Connectivity information methods are described in \ref MESH_connectivity.
59 - The methods retrieving family information are given in \ref MESH_families.
60 - The IO methods are given in \ref MESH_io. 
61 - The methods for an advanced usage (applying algorithms to meshes)
62 are given in \ref MESH_advanced.
63
64 */