pytential helps you accurately evaluate layer potentials (and, sooner or later, volume potentials). It also knows how to set up meshes and solve integral equations.
It relies on
- numpy for arrays
- boxtree for FMM tree building
- sumpy for expansions and analytical routines
- modepy for modes and nodes on simplices
- meshmode for modes and nodes on simplices
- loopy for fast array operations
- pytest for automated testing
- PyOpenCL as computational infrastructure
PyOpenCL is likely the only package you'll have to install by hand, all the others will be installed automatically.