tree_d_3d.kernels.direct_log_sum.direct_log_sum_pyccel
The Pyccel version (CPU) of the direct_log_sum kernel of the Barnes-Hut and FMM solvers.
direct_log_sum_cuda.cu next to this file is the CUDA version (GPU) and direct_log_sum_numpy.py the
version for machines without Pyccel, all with the same arguments; the folder’s
__init__.py declares the kernel (see :mod:tree_d_3d.kernels). The flat
quadtree is described in :mod:tree_d_3d.flat_tree.
Functions
| Name | Description |
|---|---|
direct_log_sum | All-pairs line-charge potential and field; same conventions. |
direct_log_sumfunction#
def direct_log_sum(targets: float[:, :], exclude: int64[:], pos: float[:, :], charge: float[:], softening: float, phi: float[:], field: float[:, :], status: int64[:]) -> NoneAll-pairs line-charge potential and field; same conventions.
status[0] becomes 1 + a target that met an unsoftened coincident charge.