pymatgen-io-aims is a pymatgen addon that adds support for FHI-aims, an all-electron full-potential electronic structure code based on numeric atom-centered orbitals. The package follows the same conventions as other pymatgen.io adapters so that FHI-aims can be used inside the pymatgen ecosystem — and tools built on top of it such as atomate2 — with minimal additional effort.
Features
Input generation — build geometry.in and control.in files from pymatgen Structure or Molecule objects via a thin wrapper around pyfhiaims.
Output parsing — read FHI-aims standard output into pymatgen objects (energies, forces, stresses, structures, magnetic moments, …).
Input set generators for common workflows:
Generator
Purpose
StaticSetGenerator
Single-point energy
RelaxSetGenerator
Geometry relaxation
SocketIOSetGenerator
Socket-based driver (i-PI / ASE)
MDSetGenerator
Molecular dynamics (NVE / NVT)
BandStructureSetGenerator
Band structure along high-symm. k-path
GWSetGenerator / BSBSESetGenerator
GW quasiparticle + BSE spectra
MagneticStaticSetGenerator
Spin-polarised single-point
MagneticRelaxSetGenerator
Spin-polarised relaxation
Installation
The package is available on PyPI:
pip install pymatgen-io-aims
To install the development version directly from the repository:
pip install git+https://gitlab.com/FHI-aims-club/pymatgen-io-aims.git
Requirements: Python ≥ 3.10, pymatgen ≥ 2022.0.3, pyfhiaims ≥ 1.1.0.
Quick Start
First configure pymatgen to use pymatgen-io-aims, and then:
from pymatgen.core import Structure
from pymatgen.io.aims.sets.core import StaticSetGenerator
structure = Structure.from_file("POSCAR")
gen = StaticSetGenerator(user_params={
"k_grid": [8, 8, 8],
"species_dir": "light"
})
input_set = gen.get_input_set(structure)
input_set.write_input("aims_input/")
This writes geometry.in and control.in into the aims_input/ directory, ready to be passed to FHI-aims.
Parsing output is equally straightforward:
from pymatgen.io.aims.outputs import AimsOutput
output = AimsOutput.from_outfile("aims.out")
print(output.final_structure)
print(output.final_energy)
Documentation & Examples
Auto-generated API documentation is available from the repository’s GitLab Pages. Tutorials and worked examples can be found at:
Contributing
Contributions are welcome! Please read CONTRIBUTING.md before opening a merge request. Bug reports and feature requests go to the issue tracker.
Contributors
Thomas A. R. Purcell (@tpurcell90) — creator and maintainer
Andrei Sobolev (@ansobolev) — creator and maintainer
License
pymatgen-io-aims is released under the MIT License. See LICENSE for details.
Metadata
Release files for pymatgen-io-aims 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymatgen_io_aims-0.2.1.tar.gz | 19.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pymatgen_io_aims-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.6 kB
Release files / pymatgen_io_aims-0.2.1.tar.gz
| Download URL | pymatgen_io_aims-0.2.1.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fea6acfb5159c6e9c4cd899333217005397b2bffaa31f1338eb84ce59ab9aed3
|
|
BLAKE2b-256 checksum How to use checksums |
f0781c229d30246335e1aa778565029ef6de394a6c2ac6bc97a6c3687350113c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / pymatgen_io_aims-0.2.1-py3-none-any.whl
| Download URL | pymatgen_io_aims-0.2.1-py3-none-any.whl |
|---|---|
| Size | 20.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2e0a10f1db94faaea37195282ec2c2df25813908dbabf841a9a66939d0e0c9f6
|
|
BLAKE2b-256 checksum How to use checksums |
264db669283450542d68fe4ab06080d351c1b43303311919c6d7982d98394ea2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|