AiiDA plugin for computing electronic charges on atoms using equilibration-type models using the Qeq method and the EQeq method.
- Add input structure in CIF format
CifData = DataFactory('cif')
inputs['structure'] = CifData(file='/path/to/file')
- Add parameters for electronegativity and Idempotential data of the elements.
SinglefileData = DataFactory('singlefile')
inputs['parameters'] = SinglefileData(file='/path/to/file')
- (optional) Specify
configure.input
options using a python dictionary andQeqParameters
QeqParameters = DataFactory('qeq.qeq')
inputs['configure'] = QeqParameters(dict={'save_grid': [True, 'grid.cube']})
QeqParameters
validates the command line options using voluptuous.
QeqParameters = DataFactory('qeq.qeq')
print(QeqParameters.schema) # shows supported options
- Add input structure in CIF format
CifData = DataFactory('cif')
inputs['structure'] = CifData(file='/path/to/file')
- Add parameters for ionization data of the elements.
SinglefileData = DataFactory('singlefile')
inputs['ionization_data'] = SinglefileData(file='/path/to/file')
- Add parameters for common oxidation states of the elements.
SinglefileData = DataFactory('singlefile')
inputs['charge_data'] = SinglefileData(file='/path/to/file')
- Specify command line options using a python dictionary and
EQeqParameters
EQeqParameters = DataFactory('qeq.eqeq')
inputs['parameters'] = EQeqParameters(dict={'method': 'ewald'})
EQeqParameters
validates the command line options using voluptuous.
QeqParameters = DataFactory('qeq.eqeq')
print(EQeqParameters.schema) # show supported options
pip install aiida-qeq
verdi quicksetup # set up a new profile
verdi calculation plugins # should now show your calclulation plugins
Here goes a complete example of how to submit a test calculation using this plugin.
In order to work, the commands egulp
(for Qeq) and eqeq
(for EQeq) needs to work on the machine and run the code's exectuable.
To get these programs you can look into danieleongari/egulp
and danieleongari/EQeq
or the compiled binaries provided within lsmo-epfl/aiida-lsmo-codes.
A quick demo of how to submit a calculation:
cd examples
verdi run run_qeq.py # submit qeq test calculation
verdi run run_eqeq.py # submit eqeq test calculation
verdi process list -a # check status of calculation
git clone https://github.com/lsmo-epfl/aiida-qeq
cd aiida-qeq
pip install -e .['pre-commit','testing']
pytest
If you are changing the inputs of existing tests or need to regenerate test data, place an .aiida-testing-config.yml
file in your repository that points to the required simulation codes:
---
mock_code:
# code-label: absolute path
egulp-99d1159: /path/to/egulp
eqeq-6490320: /path/to/eqeq
Note: egulp-XXXXXXX
stands for egulp at commit XXXXXXX
(analogous for eqeq). When switching to a newer code version, please consider regenerating the test data.
MIT