volumential.wranglers.helmholtz_split#
Helmholtz near-field split correction for the sumpy backend.
Owns everything behind helmholtz_split: choosing the split order from the
box-scaled wave number, building/validating the per-term near-field tables,
the series-remainder P2P, the smooth correction sources, and the diagonal
limit of the self interaction.
- class volumential.wranglers.helmholtz_split.HelmholtzSplitCorrectionMixin[source]#
Bases:
objectNear-field Helmholtz split correction, mixed into the sumpy wrangler.
- get_helmholtz_split_cache_accounting(parameter_count: int = 1) HelmholtzSplitCacheAccounting[source]#
Return table-storage accounting for Helmholtz/Yukawa split mode.
- eval_direct_helmholtz_split_correction(target_boxes: Any, neighbor_source_boxes_starts: Any, neighbor_source_boxes_lists: Any, src_weights: Any, src_func=None, _split_out_kernel=None) Any[source]#
Near-field correction that the Helmholtz split leaves to be added.
With
helmholtz_splitoff this is a no-op returning zeros. Otherwise it sums the per-term table contributions, the series remainder and the smooth correction for the active target kernels.