pengWann
pengWann: Descriptors of chemical bonding from Wannier functions - Published in JOSS (2025)
Science Score: 98.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
○Academic email domains
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Repository
A lightweight Python package for calculating descriptors of chemical bonding and local electronic structure from Wannier functions.
Basic Info
- Host: GitHub
- Owner: PatrickJTaylor
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://pengwann.readthedocs.io
- Size: 92.7 MB
Statistics
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 4
- Releases: 10
Topics
Metadata Files
README.md
(technically pronounced peng-van, but some pronounce numpy as num-pee rather than num-pie, so who really knows?)
A lightweight Python package for computing descriptors of chemical bonding and local electronic structure from Wannier functions.
A handful of example outputs from pengwann as applied to rutile.
The colour-coded numbers next to the crystal structure are Löwdin-style charges computed for Ti (blue) and O (red).
Core features:
- 📖 Read Wannier90 output files
- 🔎 Identify interatomic and on-site interactions in terms of atom-assigned Wannier functions
- 💻 Compute in parallel:
- The Wannier orbital Hamilton population (WOHP)
- The Wannier orbital bond index (WOBI)
- The Wannier-projected density of states (pDOS)
- Orbital and k-resolved implementations of all of the above
- 📈 Integrate descriptors to derive:
- Löwdin-style populations and charges
- Measures of bond strength and bond order
pengwann replicates the core functionality of LOBSTER but uses Wannier functions rather than pre-defined atomic or pseudo-atomic orbitals as a local basis in which to express the Hamiltonian and the density matrix.
A Wannier basis is advantageous in that, when derived from energetically isolated bands, the spilling factor is strictly 0.
For further details regarding detailed methodology, functionality and examples, see the documentation.
Getting started 🚀
Installation 🐧
The latest tagged release of pengwann is pip-installable as:
shell
pip install pengwann
Similarly, if you are using a conda environment, the latest tagged release is conda-installable as:
shell
conda install -c conda-forge pengwann
Alternatively, to install the current development build, you can build from source with:
shell
pip install git+https://github.com/PatrickJTaylor/pengwann.git
Note that building pengwann from source entails compiling a small Rust extension, meaning that a suitable version of the Rust compiler must be available on the host machine.
For more details regarding installation and platform support, see the full installation guide in the docs.
Basic usage 📝
For a quick run through of the basics, see the first example in the docs on computing bonding descriptors in diamond.
All of the example notebooks discussed in the documentation are also available for local execution under docs/examples should you wish to play around with some sample workflows and their associated data.
Support 🤝
Getting help 👋
If you're having problems using pengwann and the docs do not provide a solution, feel free to open a discussion and we will endeavour to get back to you as soon as possible.
Bugs 🐛
If you think you have found a bug in pengwann, please create an issue and let us know!
Contributing 🛠
Contributions to pengwann via pull request are very welcome, whether the changes are big or small!
See the contributing guide for more details.
Acknowledgements 📣
The development of pengwann was initially inspired by WOBSTER, which in turn drew inspiration from previous work on using Wannier functions for population analysis[^1].
[^1]: S. Kundu et al., Population analysis with Wannier orbitals, In: J. Chem. Phys. 154 (10 2021), p. 104111
Owner
- Name: Patrick Taylor
- Login: PatrickJTaylor
- Kind: user
- Repositories: 1
- Profile: https://github.com/PatrickJTaylor
PhD student modelling next-generation Li-ion cathode materials at the University of Bath.
JOSS Publication
pengWann: Descriptors of chemical bonding from Wannier functions
Authors
Tags
chemical bonding Wannier functionsCitation (CITATION.cff)
cff-version: "1.2.0"
authors:
- family-names: Taylor
given-names: Patrick J.
orcid: "https://orcid.org/0009-0003-6511-6442"
- family-names: Morgan
given-names: Benjamin J.
orcid: "https://orcid.org/0000-0002-3056-8233"
doi: 10.5281/zenodo.15238442
message: If you use this software, please cite our article in the
Journal of Open Source Software.
preferred-citation:
authors:
- family-names: Taylor
given-names: Patrick J.
orcid: "https://orcid.org/0009-0003-6511-6442"
- family-names: Morgan
given-names: Benjamin J.
orcid: "https://orcid.org/0000-0002-3056-8233"
date-published: 2025-04-28
doi: 10.21105/joss.07890
issn: 2475-9066
issue: 108
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 7890
title: "pengWann: Descriptors of chemical bonding from Wannier
functions"
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.07890"
volume: 10
title: "pengWann: Descriptors of chemical bonding from Wannier
functions"
GitHub Events
Total
- Create event: 56
- Release event: 9
- Issues event: 17
- Watch event: 6
- Delete event: 33
- Issue comment event: 9
- Push event: 294
- Pull request event: 82
- Fork event: 1
Last Year
- Create event: 56
- Release event: 9
- Issues event: 17
- Watch event: 6
- Delete event: 33
- Issue comment event: 9
- Push event: 294
- Pull request event: 82
- Fork event: 1
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 10
- Total pull requests: 49
- Average time to close issues: about 8 hours
- Average time to close pull requests: 2 days
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.14
- Merged pull requests: 38
- Bot issues: 1
- Bot pull requests: 25
Past Year
- Issues: 10
- Pull requests: 49
- Average time to close issues: about 8 hours
- Average time to close pull requests: 2 days
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.14
- Merged pull requests: 38
- Bot issues: 1
- Bot pull requests: 25
Top Authors
Issue Authors
- PatrickJTaylor (9)
- renovate[bot] (1)
Pull Request Authors
- renovate[bot] (25)
- PatrickJTaylor (22)
- bjmorgan (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 730 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 10
- Total maintainers: 1
pypi.org: pengwann
Computation of chemical bonding descriptors from Wannier functions
- Documentation: https://pengwann.readthedocs.io/
- License: GNU General Public License v3 (GPLv3)
-
Latest release: 0.5.2
published 8 months ago
