Skip to content

Meshmode --> Volumential Interpolation (2D)

Xiaoyu Wei requested to merge meshmode-interpolation into master

This PR will implement bidirectional interpolation operators between meshmode and volumential, under the assumption that the concerned meshmode discretization is based on an $N-d box (1\leq N\leq 3$).

The algorithm should build around boxtree's area query to achieve reasonable performance.

  • A container class that performs and caches tree area queries, w/t the associated tree/targets.

  • A routine that builds lookup tables using the area query result.

    1. For each simplex element in meshmode, find its circumscribed l^\inf sphere.
    2. Perform area query against the circumscribed sphere to find a short list of boxes that might intersect the element.
    3. Generate the element-to-sources lookup using this result.
  • (From meshmode). Implement the evaluation routine, i.e., interpolate the DoF vector to a different set of points, given:

    1. a meshmode discretization,
    2. a DoF vector,
    3. a list of target points,
    4. targets' associated element ids.
  • Add tests:

    • Given a function expression, compare: 1) evaluate on meshmode nodes -> interpolate, and 2) evaluate on volumential nodes.
    • Test algebraic exactness.
  • [ ] (To meshmode). Refactor volume_fmm.interpolate_volume_potential to take cached area queries and meshmode discretizations. (I will save this for the future)

Closes #40 (closed)

Edited by Xiaoyu Wei

Merge request reports

Loading