{"id":24554995,"url":"https://github.com/azadoks/aiida-openmx","last_synced_at":"2026-01-02T17:48:19.531Z","repository":{"id":48395192,"uuid":"337421108","full_name":"azadoks/aiida-openmx","owner":"azadoks","description":"AiiDA plugin for the OpenMX DFT code","archived":false,"fork":false,"pushed_at":"2021-07-29T09:05:43.000Z","size":211,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T03:37:39.174Z","etag":null,"topics":["aiida","aiida-openmx","aiida-plugins","density-functional-theory","openmx"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azadoks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-09T13:56:37.000Z","updated_at":"2024-08-15T20:09:42.000Z","dependencies_parsed_at":"2022-08-24T09:20:26.732Z","dependency_job_id":null,"html_url":"https://github.com/azadoks/aiida-openmx","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azadoks%2Faiida-openmx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azadoks%2Faiida-openmx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azadoks%2Faiida-openmx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azadoks%2Faiida-openmx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azadoks","download_url":"https://codeload.github.com/azadoks/aiida-openmx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243902291,"owners_count":20366259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiida","aiida-openmx","aiida-plugins","density-functional-theory","openmx"],"created_at":"2025-01-23T03:37:45.847Z","updated_at":"2026-01-02T17:48:19.499Z","avatar_url":"https://github.com/azadoks.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/zooks97/aiida-openmx/workflows/ci/badge.svg?branch=master)](https://github.com/zooks97/aiida-openmx/actions)\n[![Coverage Status](https://coveralls.io/repos/github/zooks97/aiida-openmx/badge.svg?branch=master)](https://coveralls.io/github/zooks97/aiida-openmx?branch=master)\n[![Docs status](https://readthedocs.org/projects/aiida-openmx/badge)](http://aiida-openmx.readthedocs.io/)\n[![PyPI version](https://badge.fury.io/py/aiida-openmx.svg)](https://badge.fury.io/py/aiida-openmx)\n\n# aiida-openmx\n\nAiiDA plugin for the OpenMX DFT code.\n\n\n## Installation\n\n### `aiida-openmx`\n\n```shell\npip install aiida-openmx\n```\n\n### Pseudopotential families and basis sets\n\nTo simplify the use of pseudopotentials and orbital bases in `aiida-openmx`, `aiida-pseudo` and `aiida-basis` have support for OpenMX's VPS pseudopotential and PAO pseudoatomic orbital formats respectively.\nFor high-throughput studies, it is additionally useful to create `PseudoPotentialFamily` and `BasisSet` AiiDA `Group`s, which hold many pseudopotentials and orbital bases as well as various metadata.\n\nAs an example, lets create a `PseudoPotentialFamily` for OpenMX's soft PBE19 pseudopotentials and a `BasisSet` for OpenMX's soft 'standard' recommendation.\n\nFirst, we collect the appropriate `.vps` pseudopotentials in a directory:\n```shell\nexport OPENMX_SOURCE=$HOME/openmx3.9/  # Path to the extracted OpenMX source code on your computer\nmkdir PBE_19_soft                                              # Directory to hold the .vps files\ncp ${OPENMX_SOURCE}/DFT_DATA19/VPS/*PBE19.vps ./PBE_19_soft/   # Copy non-hard/soft .vps files\ncp ${OPENMX_SOURCE}/DFT_DATA19/VPS/*PBE19S.vps ./PBE_19_soft/  # Copy soft version of hard/soft .vps files\n```\n\nNext, we'll create a `PseudoPotentialFamily` which contains all of the pseudopotentials in our directory.\nFirst, run `python`, `ipython`, or `verdi shell`.\nThen, run something like the following code:\n\n```python\nfrom aiida_pseudo.groups.family import PseudoPotentialFamily\nfrom aiida_pseudo.data.pseudo import VpsData\n\nPBE_19_soft_family = PseudoPotentialFamily(\n    dirpath='./PBE_19_soft/',          # Directory where we copied our .vps files\n    label='OpenMX/19/PBE/S',           # Name of the PseudoPotentialFamily in the AiiDA database\n    description='OpenMX PBE19 (soft)'  # Longer description of what the PseudoPotentialFamily contains\n    pseudo_type=VpsData                # AiiDA data type for VPS pseudopotentials\n)\n```\n\nWe can then check that the `PseudoPotentialFamily` is listed in our AiiDA `Groups`:\n\n```shell\nverdi group list -a\n```\n\n```\n  PK  Label              Type string    User\n----  -----------------  -------------  ---------------------\n   1  OpenMX/19/PBE/S    pseudo.family  austin.zadoks@epfl.ch\n```\n\nGreat! Now we can set up our pseudoatomic orbitals in a similar manner.\nBecause it's a bit trickier to collect all the appropriate files in this case, `aiida-openmx` provides some PAO tables based on OpenMX's recommendations.\n\n```shell\nexport OPENMX_SOURCE=$HOME/openmx3.9/\nexport AIIDA_OPENMX=$(python -c \"import pathlib; import aiida_openmx; print(pathlib.Path(aiida_openmx.__file__).parent)\")\nmkdir standard_19_soft\nfor paofile in $(cat $AIIDA_OPENMX/data/pao/standard_s.txt); do cp $OPENMX_SOURCE/DFT_DATA19/PAO/$paofile ./standard_19_soft/; done\n```\n\nFinally, we'll create a `BasisSet` which contains all of the pseudoatomic orbitals in our directory.\nFirst, run `python`, `ipython`, or `verdi shell`.\nThen, run something like the following code:\n\n```python\nfrom aiida_basis.groups.set import BasisSet\nfrom aiida_basis.data.basis import PaoData\n\nstandard_19_soft_set = BasisSet(\n    dirpath='./standard_19_soft/',  # Directory where we copied our .pao files\n    label='OpenMX/19/standard/S',  # Name of the BasisSet in the AiiDA database\n    description='OpenMX standard 19 (soft)'  # Longer description of what the BasisSet contains\n    basis_type=PaoData  # AiiDA data type for PAO bases\n)\n```\n\nWe can then check that the `BasisSet` is listed in our AiiDA `Groups`:\n\n```shell\nverdi group list -a\n```\n\n```\n  PK  Label                 Type string    User\n----  --------------------  -------------  ---------------------\n   1  OpenMX/19/PBE/S       pseudo.family  austin.zadoks@epfl.ch\n   2  OpenMX/19/standard/S  basis.set      austin.zadoks@epfl.ch\n```\n\n## Development\n\nIf you would like to contribute to the development of `aiida-openmx`, please clone this Github repository and install `aiida-openmx` as follows:\n\n```shell\ngit clone https://github.com/zooks97/aiida-openmx .\ncd aiida-openmx\npip install -e .[pre-commit,testing,docs]  # Install extra dependencies\npre-commit install  # Install pre-commit hooks\npytest -v  # Discover and run all tests\n```\n\nSee the [developer guide](http://aiida-openmx.readthedocs.io/en/latest/developer_guide/index.html) for more information.\n\n\n## License\n\nMIT\n\n\n## Contact\n\naustin.zadoks@epfl.ch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazadoks%2Faiida-openmx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazadoks%2Faiida-openmx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazadoks%2Faiida-openmx/lists"}