From: ndjinga Date: Mon, 26 Nov 2007 15:48:36 +0000 (+0000) Subject: New comments added for Doxygen X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=2236b4ef733a08dca825c38b1207090249ce4b58;p=tools%2Fmedcoupling.git New comments added for Doxygen --- diff --git a/doc/doxygen/main.dox b/doc/doxygen/main.dox index c2d9d1001..a7fc371ac 100644 --- a/doc/doxygen/main.dox +++ b/doc/doxygen/main.dox @@ -2,7 +2,7 @@ \mainpage MEDMEM user's guide \section intro Introduction -This document constitutes the user guide of the MEDMEM library and of its related tools. +This document constitutes the user guide of the MEDMEM library and of its related tools.blabla \section install Installation The install procedure of the MEDMEM library can handle a variety of configurations @@ -223,6 +223,7 @@ The connectivity of all these elements is defined in document \cite{MedDataModel /*! \page paramedmem ParaMEDMEM library + The ParaMEDMEM library is based on several classes that describe the coupling between two parallel codes. @@ -230,7 +231,7 @@ The classes that make up the API of the library are : - communication interface : \ref comm_interface, - definition of processor groups \ref processor_group, - Data Exchange Channel(aka DEC, abstract class) : \ref dec, and its implementations : - - Intersection DEC for a conservative interpolation based on intersecting elems volume computation : \ref intersectiondec, + - \ref intersectiondec for a \ref conservativeremapping based on intersecting elems volume computation, - NonCoincident DEC for a non-conservative interpolation based on element localization : \ref noncoincidentdec, - Explicit Coincident DEC for remapping coincident meshes on a one-to-one basis. This class applies to unstructured topologies: \ref explicit_coincident_dec, - Structured Coincident DEC for remapping coincident meshes on a one-to-one basis. This class applies to structured topologies : \ref structured_coincident_dec. @@ -272,4 +273,66 @@ The following options can be useful to configure MEDMEM : - \a --with-hdf5=${HDF5DIR} specifies a location for the HDF5 library (must be the same as that used for the MED-file library) - \a --with-lam=${LAMDIR} specifies an install path for a LAM MPI library, - \a --with-mpich=${MPICHDIR} specifies an install path for a MPICH-1 library. +*/ + + +/*! +\page conservativeremapping Conservative remapping + +At the basis of many CFD numerical schemes is the fact that physical quantities such as density, momentum or energy obey some balance laws that should be preserved at the discrete level on every cell. This property is critical for example to accurately capture shockwaves. To comply with this constraint, a remapping of the field \f$ \phi \f$ from the source mesh \f$ S \f$ to the target mesh \f$ T \f$ should preserve the integral of \f$ \phi \f$ on any domain. At the discrete level, for any target cell \f$ T_i \f$, one would like the following equality to be true + +\f[ +\int_{T_i} \phi = \sum_{S_j\cap T_i \neq \emptyset} \int_{T_i\cap S_j} \phi. +\f] +For fields with polynomial representation on each cell, the components of the discretised field \f$ \phi_s \f$ on the receiving side can be expressed as linear compinations of the components of the discretised field \f$ \phi_t \f$ on the target side, id est in terms of a matrix-vector product : + +\f[ + \phi_t=W.\phi_s, +\f] + +The coefficients of the linear remapping matrix \f$ W \f$ depends only on the source and target meshes and on the representation chosen for the fields: P0, P1, P1d etc... For the moment it is only possible to remap fields with P0 representations. + +\section P0-P0 cell-cell (P0->P0) conservative remaping + +In the case where the field values are constant on each cell, the coefficients of the linear remapping matrix \f$ W \f$ are given by the formula + +\f[ + W_{ij}=\frac{Vol(T_i\cap S_j)}{Vol(T_i)}. +\f] + +Therefore one need to compute intersection between source and target cells to obtain the linear remapping matrix which will generally be a sparse matrix. The Intersection computation proceeds in two steps: +- first a filtering process reduces the number of pairs of elements for which the calculation must be carried out by eliminating pairs that do not intersect through a comparison of their bounding boxes +- then, the volume or area of the intersection is calculated for the remaining pairs by an algorithm which is specific to each case (see \ref interpolation2D, \ref interpolation3Dsurf or \ref interpolation3D). + +\subsection interpolation2D Special features of 2D intersections + +When remapping two dimensional fields, areas of intersection between polygonal cells are to be computed. Two algorithms are available: +- Triangle: decompose each cells into triangles and computes triangle-triangle intersection by determining segments crossings and nodes inclusions. This algorithm is the fastest if both meshes are made of triangular cells. +- Convex: assumes that both meshes are made of convex cells, and performs a direct computation of the intersection nodes between two cells through a sweep line algorithm. + +The following options are available for the 2D intersection computations: + - Intersection_type: the type of algorithm to be used in the computation of the cell-cell intersections. + - Values: Triangle, Convex. + - Default: Triangle. + - Precision: Accuracy of the computations is precision times the characteristic size of the meshes. + - Values: positive real numbers. + - Default: 1.0E-12. + - PrintLevel: Level of verboseness during the computations. + - Values: interger between 0 and 3. + - Default: 0. + +\subsection interpolation3Dsurf Special features of 3D surface intersections + +When remapping a three dimensional surfaces, one should give a meaning to the area of intersection between two 3D polygons. A projection phase is thus necessary to have both polygons on the same plane. Care must be taken when defining this projection to avoid non conservative remappings. After the projection, the same algorithms as for 2D remapping may be used to compute the intersection on a 3D plane +Similar options as for the 2D remapping are available, plus some additional options specific to 3D surface remapping: + - MedianPlane: Position of the median plane where both cells will be projected + - Values: real number between 0 and 1. + - Default: 0.5. + - DoRotate: rotate the coordinate system such that the median plane is the Oxy plane. + - Values: boolean true or false (necessarilly true if Intersection_type=Triangle). + - Default: true (because default Intersection_type is Triangle). \ref test + + +\subsection interpolation3D Special features of 3D intersection +When remapping three dimensional fields, volumes of intersection between polyhedral cells are to be computed. We use the algorithm of Jeffrey Grandy,1999 (see \ref references) to intersect arbitrary polyhedra */ \ No newline at end of file