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:

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

arithmetic_orbits

Closed-form ('arithmetic') orbit reconstruction for reduced tables.

barycentric

Barycentric interpolation matrices and Gauss-Legendre nodes.

box_layout

Validation of the box/particle layout that table lookups assume.

device_arrays

Device-array plumbing shared by both wrangler backends.

fmmlib_backend

The pyfmmlib-based fpnd expansion wrangler.

fmmlib_batched

Batched far-field stages for the pyfmmlib backend.

helmholtz_split

Helmholtz near-field split correction for the sumpy backend.

kernel_symmetry

Introspection of sumpy kernels for near-field table symmetry.

kernels

Auxiliary sumpy expression kernels for the Helmholtz split.

nearfield_cache

Device-resident near-field table payload cache.

orbit_generated

Generated (search-derived) orbit reconstruction maps.

orbit_lookup

Open-addressed integer lookup tables for orbit reconstruction.

split_terms

Bookkeeping for Helmholtz-split term tables.

sumpy_backend

The sumpy-based fpnd expansion wrangler.

table_data

Marshalling of near-field interaction tables into device-ready arrays.

timing

Timing-future adapter for the boxtree FMM driver.