Salome HOME
MEDCoupling API change - stage #1
[tools/medcoupling.git] / doc / user / doxygen / doxfiles / reference / medcoupling.dox
1 /*!
2 \page medcoupling Core data structures (MEDCoupling)
3
4 <h1>Overview</h1>
5
6 The MEDCoupling library gather the core structures used everywhere in the MED world.
7
8 - \subpage arrays 
9 - \subpage numbering
10 - \subpage meshes
11 - \subpage fields
12
13 <h1>Design philosophy</h1>
14
15 The structures described above (arrays, meshes and fields), with the algorithms associated to it
16 form the core of the MEDCoupling library (\b libmedcoupling.so or \b medcoupling.dll). 
17 It is fully written in C++ and wrapped in Python.
18
19 The MEDCoupling C++ library implements a data structure which is the result of the following tradeoff:
20 - compliant with \ref glossary "code coupling":
21   - fields data structure containing enough information to perform a well defined interpolation
22   - data structure exchangeable through processes, as well in \ref parallel "parallel" (SPMD paradigm - 
23   \ref library "sometimes called ParaMEDMEM"), as in a \ref corba-distrib "distributed paradigm" (using CORBA).
24 - minimize as much as possible the number of external software prerequisites needed to use it (the core of the 
25 library, MEDCoupling, can be built as a standalone tool).
26 - light and agile enough to:
27    - maximize the amount of possible algorithms being applied on it
28    - ease the implementation of other projects using MEDCoupling as a prerequisite.
29 - large enough to be used for MED file I/O (thanks to the \ref medloader "MEDLoader" part).
30 - compliant with VTK visualization data structures
31 - integrate HPC constraints (compact structures, limitation of copies and launching of CPU consuming algorithms only when absolutely needed ).
32 - compliant with the \ref icoco "ICoCo API"
33
34 The MEDCoupling also implements a set of algorithms linked to this data structure. The 
35 \ref functionalities "functionalities" section gives an insight of the avalaible algorithm. 
36
37
38
39 */