WIP: Build trees without particles
The main goal of this merge request is to add a BoxTree
data type that, as the name suggests, models tree of boxes.
Currently, boxtree
takes a set of particles and then builds the FMM tree based on it. When solving PDEs, however, one needs to first discretize the space with an FMM tree, then generate the "particles" as the quadrature nodes withing each leaf box.
BoxTree
is designed in the same way as the Tree
class, except that it does not contain particle information. After tree generation, QuadratureOnBoxTree
can be used to generates particles for leaf boxes.
Some caveats:
- Currently there is no adaptive tree generation, and
- my implementation of
generate_uniform_boxtree
so miserably slow that it is only useful for 2D problems. -
BoxTree
andTree
classes currently share much of the data structure, so theoretically it is possible that they share the same base class. But I would like to defer that refactoring for the moment, since the current state works reasonably well withvolumential
and does not seem to break any existing functionality ofboxtree
.
Edited by Xiaoyu Wei