volumential.wranglers#
Expansion wranglers implementing the fpnd strategy.
fpnd means: the far field is handled by a particle
approximation (a plain FMM over the quadrature nodes), while the near
field is evaluated directly from precomputed interaction tables.
Two backends provide the far field:
volumential.wranglers.sumpy_backend– expansions generated bysumpy, works for every kernel sumpy can differentiate, and carries the Helmholtz near-field split.volumential.wranglers.fmmlib_backend– expansions frompyfmmlibviaboxtree.pyfmmlib_integration, restricted to 2D/3D Laplace and Helmholtz but considerably faster.
The remaining modules are the pieces both backends share: near-field table
marshalling (table_data), the symmetry-orbit
reconstruction used to keep reduced tables small
(arithmetic_orbits,
orbit_generated), and assorted device-array,
kernel-introspection and layout-validation helpers.
volumential.expansion_wrangler_fpnd remains importable and re-exports
every name this package defines.
Modules
Closed-form ('arithmetic') orbit reconstruction for reduced tables. |
|
Barycentric interpolation matrices and Gauss-Legendre nodes. |
|
Validation of the box/particle layout that table lookups assume. |
|
Device-array plumbing shared by both wrangler backends. |
|
The pyfmmlib-based fpnd expansion wrangler. |
|
Batched far-field stages for the pyfmmlib backend. |
|
Helmholtz near-field split correction for the sumpy backend. |
|
Introspection of |
|
Auxiliary |
|
Device-resident near-field table payload cache. |
|
Generated (search-derived) orbit reconstruction maps. |
|
Open-addressed integer lookup tables for orbit reconstruction. |
|
Bookkeeping for Helmholtz-split term tables. |
|
The sumpy-based fpnd expansion wrangler. |
|
Marshalling of near-field interaction tables into device-ready arrays. |
|
Timing-future adapter for the boxtree FMM driver. |