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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymatgen_io_aims-0.2.1.tar.gz.
File metadata
- Download URL: pymatgen_io_aims-0.2.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fea6acfb5159c6e9c4cd899333217005397b2bffaa31f1338eb84ce59ab9aed3
|
|
| MD5 |
752642f1d38177640936ce1c73146ff0
|
|
| BLAKE2b-256 |
f0781c229d30246335e1aa778565029ef6de394a6c2ac6bc97a6c3687350113c
|
File details
Details for the file pymatgen_io_aims-0.2.1-py3-none-any.whl.
File metadata
- Download URL: pymatgen_io_aims-0.2.1-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e0a10f1db94faaea37195282ec2c2df25813908dbabf841a9a66939d0e0c9f6
|
|
| MD5 |
a6eb9b9ee2f833a2684aeecc4e4bee48
|
|
| BLAKE2b-256 |
264db669283450542d68fe4ab06080d351c1b43303311919c6d7982d98394ea2
|