Abstract

The PyGBe code solves the linearized Poisson-Boltzmann equation using a boundary-integral formulation. We use a boundary element method with a collocation approach, and solve it via a Krylov-subspace method. To do this efficiently, the matrix-vector multiplications in the Krylov iterations are accelerated with a treecode, achieving O(N log N) complexity. The code presents a Python environment for the user, while being efficient and fast. The core computational kernels are implemented in Cuda and interface with the user-visible code with PyCuda, for maximum ease-of-use combined with high performance on GPU hardware. This document provides background on the model and formulation of the numerical method, evidence of a validation exercise with well-known benchmarks---a spherical shell with a centered charge and one with an off-center charge--- and a demonstration with a realistic biological geometry (lysozyme molecule) Acknowledgement This research is made possible by support from the Office of Naval Research, Applied Computational Analysis Program. LAB also acknowledges support from NSF CAREER award OCI-1149784.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call