https://github.com/tkemmer/cunessie.jl
CUDA-accelerated Nonlocal Electrostatics in Structured Solvents
https://github.com/tkemmer/cunessie.jl
bioinformatics boundary-element-method cuda electrostatics gpu-computing julia proteins
Last synced: 3 months ago
JSON representation
CUDA-accelerated Nonlocal Electrostatics in Structured Solvents
- Host: GitHub
- URL: https://github.com/tkemmer/cunessie.jl
- Owner: tkemmer
- License: mit
- Created: 2020-02-11T11:47:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-01-14T15:16:52.000Z (4 months ago)
- Last Synced: 2025-01-14T15:53:05.113Z (4 months ago)
- Topics: bioinformatics, boundary-element-method, cuda, electrostatics, gpu-computing, julia, proteins
- Language: Julia
- Homepage:
- Size: 196 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.bib
Awesome Lists containing this project
README
# CUDA-accelerated Nonlocal Electrostatics
[](https://github.com/tkemmer/CuNESSie.jl/blob/master/LICENSE)`CuNESSie.jl` is an extension to the [`NESSie.jl`](https://github.com/tkemmer/NESSie.jl) package, providing CUDA-accelerated drop-in replacements for the package's numerical solvers and post-processors.
## Installation
In the Julia shell, switch to the
`Pkg` shell by pressing `]` and enter the following command:```sh
pkg> add https://github.com/tkemmer/NESSie.jl
pkg> add https://github.com/tkemmer/CuNESSie.jl
```## Usage example
The basic usage of this package is the same as for `NESSie.jl`. Just replace the `NESSie.BEM` module by `CuNESSie` in your code and you're ready to go:```julia
using NESSie
using CuNESSie # before: NESSie.BEM
using NESSie.Format: readoff, readpqr# I. Create model
model = readoff("data/born/na.off")
model.charges = readpqr("data/born/na.pqr")
model.params.εΩ = 1 # dielectric constant for vacuum model
model.params.εΣ = 78 # dielectric constant for water# II. Apply nonlocal solver
bem = solve(NonlocalES, model) # <-- CUDA-accelerated solver# III. Apply postprocessor
val = rfenergy(bem) # <-- CUDA-accelerated post-processor
println("Reaction field energy: $val kJ/mol")
````CuNESSie.jl` reuses the system models and solver results from `NESSie.jl`, so the local and nonlocal BEM solvers as well as the corresponding post-processors from both packages can be interchanged freely.
## Testing
`CuNESSie.jl` provides tests for most of its functions. You can run the test suite with the
following command in the `Pkg` shell:
```sh
pkg> test CuNESSie
```## Citing
If you use `CuNESSie.jl` in your research, please cite the following publications:
> T. Kemmer, S. Hack, B. Schmidt, A. Hildebrandt. CUDA-accelerated protein electrostatics in linear
> space. Journal of Computational Science 70 (2023) 102022.> T. Kemmer. Space-efficient and exact system representations for the nonlocal protein electrostatics
> problem. Ph. D. thesis (2021), Johannes Gutenberg University Mainz. Mainz, Germany.Citation items for BibTeX can be found in [CITATION.bib](https://github.com/tkemmer/CuNESSie.jl/blob/master/CITATION.bib).