https://github.com/adam-kerrigan/pybader

Threaded implementation of grid-based Bader charge analysis.

https://github.com/adam-kerrigan/pybader

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.3%) to scientific vocabulary

Keywords

bader-charge-analysis chemistry materials-science multithreading numba numpy physics physics-analysis python science
Last synced: 5 months ago · JSON representation

Repository

Threaded implementation of grid-based Bader charge analysis.

Basic Info
  • Host: GitHub
  • Owner: adam-kerrigan
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 310 KB
Statistics
  • Stars: 15
  • Watchers: 2
  • Forks: 4
  • Open Issues: 2
  • Releases: 0
Topics
bader-charge-analysis chemistry materials-science multithreading numba numpy physics physics-analysis python science
Created almost 6 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.md

pybader (v0.3.12)

pybader is a threaded implementation of grid-based Bader charge analysis. It performs grid-based Bader charge analysis as presented in W Tang et al 2009 J. Phys.: Condens. Matter 21 084204. Methods have been updated to allow threading over multiple threads. It runs on POSIX systems, Mac OS, and Windows.

Usage

Installation will create 2 executeables (bader, bader-read) that can be used to run and read the output of the Bader calculation. To view available flags run:

sh $ bader --help $ bader-read --help

By default the program bader will output a file called bader.p which is a pickled Bader object. This file can be interpreted by the bader-read script. Human readable files can also be created in place of the bader.p file by supplying the flag --output dat to the main bader program. If you would like this to be the default behaviour (bader.p files contain the entire charge denisty and voxel to Bader volume and/or atom map so can be quite large) there is a config.ini file with sections for all the configurable variables. The location of this varies depending on platform but can be found by checking the pybader.__config__ variable. The current default settings are shown below ini [DEFAULT] method = neargrid refine_method = neargrid vacuum_tol = None refine_mode = ('changed', 2) bader_volume_tol = 0.001 export_mode = None prefix = '' output = pickle threads = 1 fortran_format = 0 speed_flag = False spin_flag = False

Check the examples folder and function doc strings for information on how to interface with the python module.

```python import pybader from pybader import ( methods, refinement, thread_handlers, interface, ) import pybader.io from inspect import getmembers, ismodule

help(pybader) help(methods) help(refinement) help(thread_handlers) help(interface)

for name, module in getmemebers(pybader.io, ismodule): help(module) ```

Requirements

pyBader requires a small number of open source projects to work properly, if using pip to install they should be installed automatically:

  • Numpy - NumPy is the fundamental package for scientific computing with Python.
  • Numba - A Just-In-Time Compiler for Numerical Functions in Python.
  • tqdm - A Fast, Extensible Progress Bar for Python and CLI.
  • pandas - A Library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

Installation

It's recommended to create a virtual python environment for the installation using a manager of your choice, this is optional and the docuemented manager is pyenv:

sh $ pyenv virtualenv pybader $ pyenv activate pybader Then the package can be installed using one of the methods described below:

Pip

Use the standard pip installer

sh $ pip install pybader

From source

Clone the repositry and make sure setuptools is installed

sh $ git clone https://github.com/kerrigoon/pybader $ python pybader/setup.py install

Development

Want to contribute? Great! Open your favorite Terminal and run these commands.

sh $ git clone https://github.com/kerrigoon/pybader $ pip install -e pybader/

Fiddle away and submit pull requests.

License

MIT

Owner

  • Name: Adam Kerrigan
  • Login: adam-kerrigan
  • Kind: user
  • Location: York, UK

GitHub Events

Total
  • Watch event: 3
Last Year
  • Watch event: 3

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 56
  • Total Committers: 2
  • Avg Commits per committer: 28.0
  • Development Distribution Score (DDS): 0.036
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Adam Kerrign a****4@y****k 54
kerrigoon 3****n 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • janosh (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels