Skip to main content

ASE Interface for the H5MD format.

Project description

zincware codecov PyPI version Binder H5MD Discord

ZnH5MD - ASE Interface for the H5MD format.

ZnH5MD provides and interface from ASE to H5MD and vice versa. Install via pip install znh5md. Similar to ASE ZnH5MD provides read and write functionality:

import znh5md
from ase.collections import s22

znh5md.write("s22.h5", list(s22))
print(list(znh5md.iread("s22.h5")))
# list[ase.Atoms]

Further, you can access any data from within the entire dataset through the znh5md.IO class which provides a MutableSequence-like interface.

import znh5md
from ase.collections import s22

io = znh5md.IO("s22.h5", particles_group="s22")
io.extend(list(s22))

print(io[5:10])
# list[ase.Atoms]

Extended H5MD Format

ZnH5MD circumvents two current limitations of the H5MD standard.

  • support atoms with varying particle counts by padding the dataset with np.nan. Using varying species counts might break the compatibility with other H5MD tools.
  • support varying pbc within a single particle group by introducing particles/<group>/box/pbc/value in addition to the particles/<group>/box attributes. By default, this is enabled via IO(pbc_group=True). The particles/<group>/box attribute will be set to the PBC conditions of the first frame. Using this feature will not typically not break ompatibility with other H5MD tools but can lead to unexpected behaviour.

Supported

atoms.info entry

dict and list entries assume python standard types if not otherwise specified.

Type ZnH5MD
np.ndarray
float
str
dict
list
list[np.ndarray]
dict[str, np.ndarray]
list[dict]

atoms.arrays

Type ZnH5MD
np.ndarray
float
str
dict
list
list[np.ndarray]
dict[str, np.ndarray]
list[dict]

atoms.calc.results

Type ZnH5MD
np.ndarray
float
str
dict
list
list[np.ndarray]
dict[str, np.ndarray]
list[dict]

Current limitations

This is a not necessarily complete list of Limitations that will be fixed eventually. Any contributions are welcome.

  • Step: ZnH5MD assumes a fixed time interval of 1.
  • Units: There is no automatic unit conversion through e.g. the pint package
  • performance tweaks: there are many places in ZnH5MD that can be optimized for better performance. Currently most of the values are hard-coded, such as chunk size. Nevertheless, ZnH5MD outperforms most other packages w.r.t. read and write speed.

Project details


Download files

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

Source Distribution

znh5md-0.4.8.tar.gz (203.7 kB view details)

Uploaded Source

Built Distribution

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

znh5md-0.4.8-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file znh5md-0.4.8.tar.gz.

File metadata

  • Download URL: znh5md-0.4.8.tar.gz
  • Upload date:
  • Size: 203.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.19

File hashes

Hashes for znh5md-0.4.8.tar.gz
Algorithm Hash digest
SHA256 9dd02d45b5ed766e2f6a0c5b8c926cd15e5a8b9c3a80cab0303f518b129f16ac
MD5 5e02c302dc586f7fe06d2d3efb7bea2b
BLAKE2b-256 93d450b9ad618d799983823ef4087033dcb7e90ffe95cb02fbdda01cd7fa0d66

See more details on using hashes here.

File details

Details for the file znh5md-0.4.8-py3-none-any.whl.

File metadata

  • Download URL: znh5md-0.4.8-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.19

File hashes

Hashes for znh5md-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 83e7c82424ae94e6b4d8a1704447c32eb7303e0c11c4d73605482fe0911ce267
MD5 807d0bcc88f268239a472ec1b4b8ffca
BLAKE2b-256 81034ceb3cec2f1b466c2c4dc609fd236dc064a1da1c612c89c12d2afeeaf0a0

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 Pingdom Monitoring Sentry Error logging StatusPage Status page