Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lj3i62g6dk4q/public_html/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91
Validation of the PyGBe code for Poisson-Boltzmann equation :: Lorena A. Barba Group

Lorena A. Barba group

Validation of the PyGBe code for Poisson-Boltzmann equation


Warning: Undefined variable $post in /home/lj3i62g6dk4q/public_html/wp-content/themes/spruce-theme/api/figshare.php on line 57

Warning: Attempt to read property "ID" on null in /home/lj3i62g6dk4q/public_html/wp-content/themes/spruce-theme/api/figshare.php on line 57

Description

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.

 

Files

Links

Technical report made available under a CC-BY license. It describes the validation of the PyGBe code for Poisson-Boltzmann equation, which offers a Python interface to the user and high-performance thanks to internal computations being performed on GPU hardware using Cuda. The validation uses a standard benchmark (the Kirkwood sphere) and compares with other openly available code.