#include "InterpolationMatrix.hxx"
#include "IntersectionDEC.hxx"
#include "ElementLocator.hxx"
-
+#include "MEDMEM_OptionManager.hxx"
/*!
\defgroup intersectiondec IntersectionDEC
\section overview Overview
-The IntersectionDEC enables the conservative remapping of fields between two parallel codes. This remapping is based on the computation of intersection volumes between elements from code A and elements from code B. The computation is possible for 3D meshes, 2D meshes, and 3D-surface meshes. Dimensions must be similar for code A and code B (for instance, though it could be desirable, it is not yet possible to couple 3D surfaces to 2D surfaces).
+The IntersectionDEC enables the \ref conservativeremapping of fields between two parallel codes. This remapping is based on the computation of intersection volumes between elements from code A and elements from code B. The computation is possible for 3D meshes, 2D meshes, and 3D-surface meshes. Dimensions must be similar for code A and code B (for instance, though it could be desirable, it is not yet possible to couple 3D surfaces to 2D surfaces).
-In the present version, only fields lying on elements are considered.
+In the present version, only fields lying on elements are considered.
A typical use of IntersectionDEC encompasses two distinct phases :
- A setup phase during which the intersection volumes are computed and the communication structures are setup. This corresponds to calling the IntersectionDEC::synchronize() method.
dec.sendData();
...
\endcode
-
-Computing the field on the receiving side can be expressed in terms of a matrix-vector product : \f$ \phi_t=W.\phi_s\f$, with \f$ \phi_t \f$ the field on the target side and \f$ \phi_s \f$ the field on the source side.
-
-\section surface Special features for 3D surface remapping
-When remapping a 3D surface to another 3D surface, a projection phase is necessary to match elements from both sides. Care must be taken when defining this projection to avoid non conservative remappings.
-
+ A \ref conservativeremapping of the field from the source mesh to the target mesh is performed by the function synchronise(), which computes the \ref remappingmatrix .
*/
/*! @{ */
namespace ParaMEDMEM
{
-IntersectionDEC::IntersectionDEC()
+ IntersectionDEC::IntersectionDEC()
{
}
IntersectionDEC::IntersectionDEC(ProcessorGroup& local_group, ProcessorGroup& distant_group):
DEC(local_group, distant_group),_interpolation_matrix(0)
{
+ registerOptions<string>(&_method,"method","P0");
}
IntersectionDEC::~IntersectionDEC()
if (_interpolation_matrix !=0)
delete _interpolation_matrix;
-}
+}
/*!
\brief Synchronization process for exchanging topologies.