Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Interpolation presentation

Overview

The InterpKernel algorithms are part of the MED tool suite. They answer to the following basic problem : given a source mesh $M_s$, a source field $F_s$ and a target mesh $M_t$, reconstruct a field $F_t$ that uses $M_t$ as a support. The InterpKernel suite gives a number of possibilities to compute the target field, depending on a variety of user constraints.

interpolationimage.png
General interpolation scheme

Two different APIs are available depending on whether you run sequentially or in parallel:

The following space/mesh dimensions are covered:

The interpolation is performed either by:

  • node localization (PointLocator), when for example a node field is projected to a cell field
  • or via cell intersection (Conservative interpolation), when for example a cell field is projected to another cell field. For any given type of interpolation involving cell intersection computation, the computation of interpolation matrix W is performed in two steps :
    1. A filtering process reduces the number of pairs of elements for which the calculation must be carried out by eliminating the pairs whose bounding boxes do not intersect.
    2. For all remaining pairs, call the appropriate cell intersector

More complex treatments are also available:

  • treatment of extended polygons (where edges can be arcs or segments) for 2D intersection computations, via the Geometric2D intersector,

Finally the following types of spatial discretization combinations are supported:

  • management of fields with P0,P1 or P2 representations
  • P0<->P0, P1<->P0, P1<->P1 and P2->P0 (non conservative) interpolators are available.

Remember that whatever the situation you face, you must always specify whether the field represents an extensive or intensive physical quantity through the nature attribute of the field.

Key elements of the API

TODO, list setOption, setIntersectionType, etc ...