Skip to main content

SEAMM Atomic Charges Plug-in

GitHub pull requests Build Status Code Coverage Code Quality Documentation Status PyPi VERSION

A SEAMM plug-in for computing atomic (partial) charges from a converged electron density.

Features

This plug-in is a post-processing step: it runs after a quantum-chemistry step (VASP, Gaussian, Psi4, ORCA, …) that has produced an electron density, reads that density, and uses a real-space density-partitioning program to assign a partial charge to each atom. The charges are written back into the configuration as a labeled charge set (e.g. charges_DDEC6) so several schemes can coexist on the same structure.

Supported methods

  • DDEC6 (via the Chargemol program) – ESP-faithful, chemically transferable charges that work for molecular and periodic systems, including metals. The recommended general-purpose / force-field charge.

  • Bader / QTAIM (via the Henkelman bader code) – a rigorous topological partition of the density, the charge solid-state users expect.

Both consume a real-space density grid (or cube), so they apply equally to periodic and molecular calculations. They need the all-electron density from the upstream step (for VASP, CHGCAR plus AECCAR0/AECCAR2 via LAECHG=.TRUE.).

Acknowledgements

Developed by the Molecular Sciences Software Institute (MolSSI), which receives funding from the National Science Foundation under award CHE-2136142.

History

2026.7.14 – Control Chargemol’s core (OpenMP thread) count
  • The ncores option in the [atomic-charges-step] configuration is now wired to Chargemol via OMP_NUM_THREADS (it was previously documented but had no effect). ‘available’ (default) uses all cores the job/machine provides; an integer caps it. This matters most when running directly on a machine (no queuing system), where Chargemol’s OpenMP would otherwise use every core on the node.

  • The output now reports the number of threads used, and a line at the end of the step with the wall-clock time in seconds.

2026.7.13.1 – Bugfix: clearer Chargemol failures; skip incomplete densities
  • When Chargemol fails to produce charges, the error now quotes its real log (<input>.output) instead of the empty stdout.txt – so causes like “Could not find a suitable reference density” are shown directly. Chargemol writes its diagnostics to that log, not to stdout.

  • The atomic-densities directory is now used only if it actually contains the DDEC6 reference densities (c2_*.txt); an empty or incomplete directory is skipped in favor of the complete set bundled in the seamm-chargemol conda environment. This avoids a silent Chargemol failure when the configured directory exists but is not populated.

  • The bundled densities are now located by asking conda for the environment’s actual prefix, not by deriving it from the conda executable’s path. This fixes non-standard/HPC conda layouts where the derivation was wrong, so the densities silently were not found and DDEC6 failed.

2026.7.13 – Option to set the charges on the structure
  • New Set as the atomic charges on the structure option (default off). When on, the computed charges are also written to the structure’s standard per-atom charge attribute (in addition to the labeled charges_<label> column), so they travel with the structure – e.g. to write them to an extended-XYZ (extxyz) file for machine-learning training.

2026.6.29 – Run Chargemol from a dedicated conda environment
  • The installer now creates a ‘seamm-chargemol’ conda environment containing Chargemol (for DDEC6), and the step runs Chargemol in that environment – no hand-built installation or PATH setup is needed. Run ‘atomic-charges-step-installer install’ to set it up.

  • The reference atomic densities are found automatically inside the seamm-chargemol environment; the ‘DDEC reference densities’ setting is now needed only to point at a different copy.

2026.6.28 – Citations, charge normalization, and GUI fixes
  • The DDEC6 (Manz & Limas) and Bader (Henkelman) methodology papers are now cited for the charge method that is run.

  • The charges are normalized to the known net charge of the system with a small, reported uniform shift; this can be turned off.

  • Accepts an analytic wavefunction (.wfx) from a preceding ORCA step, in addition to Gaussian, for molecular DDEC6.

  • Fixed: the Results tab in the GUI was empty and selected results were not saved. The atomic charges, net charge, residual, and method are now listed and stored.

  • The charge method now offers Bader only when a density grid is available (a periodic/VASP density or explicit files); molecular densities offer DDEC6. Bader reports a clear message that it awaits periodic support.

2026.6.27 – Initial release of the Atomic Charges step
  • Computes DDEC6 atomic charges (via Chargemol) from a molecular Gaussian wavefunction (.wfx), storing them as a labeled charge set on the structure.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atomic_charges_step-2026.7.14.tar.gz (323.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atomic_charges_step-2026.7.14-py2.py3-none-any.whl (30.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file atomic_charges_step-2026.7.14.tar.gz.

File metadata

  • Download URL: atomic_charges_step-2026.7.14.tar.gz
  • Upload date:
  • Size: 323.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for atomic_charges_step-2026.7.14.tar.gz
Algorithm Hash digest
SHA256 f761f2becfba7a9d50d514ba3b3838e1f27c84b5769bb5c166e3cac17af142c7
MD5 969cbd2cc7b7ffee86f669f13134fc91
BLAKE2b-256 8bfcb82d55d7ff7d7e127df5d8a92aa899f7dc7fc89c04fbde3546d38a8c69d7

See more details on using hashes here.

File details

Details for the file atomic_charges_step-2026.7.14-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for atomic_charges_step-2026.7.14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 eeab40b659f14dadabe7e602bfe29c417897fc7a64f7d4537abb2e1bfa3bffe0
MD5 be8d68b3a2f5572ff095085bf7be231c
BLAKE2b-256 270993dce8ca336ea1adbd1c1a739e7a282c39b6e5a03a42289b860b2c9f2567

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page