aiida-champ
AiiDA plugin that wraps the vmc
executable of the CHAMP code for computing the total energy of a molecular system.
Repository contents
-
.github/
: Github Actions configuration-
ci.yml
: runs tests, checks test coverage and builds documentation at every new commit -
publish-on-pypi.yml
: automatically deploy git tags to PyPI - just generate a PyPI API token for your PyPI account and add it to thepypi_token
secret of your github repository
-
-
aiida_champ/
: The main source code of the plugin package-
data/
: A newCHAMPParameters
data class, used as input to theCHAMPCalculation
CalcJob
class -
calculations.py
: A newCHAMPCalculation
CalcJob
class -
cli.py
: Extensions of theverdi data
command line interface for thechampParameters
class -
helpers.py
: Helpers for setting up an AiiDA code forchamp
automatically -
parsers.py
: A newParser
for theCHAMPCalculation
-
-
docs/
: A documentation template ready for publication on Read the Docs -
examples/
: An example of how to submit a calculation using this plugin -
tests/
: Basic regression tests using the pytest framework (submitting a calculation, ...). Installpip install -e .[testing]
and runpytest
. -
.coveragerc
: Configuration of coverage.py tool reporting which lines of your plugin are covered by tests -
.gitignore
: Telling git which files to ignore -
.pre-commit-config.yaml
: Configuration of pre-commit hooks that sanitize coding style and check for syntax errors. Enable viapip install -e .[pre-commit] && pre-commit install
-
.readthedocs.yml
: Configuration of documentation build for Read the Docs -
LICENSE
: License for your plugin -
MANIFEST.in
: Configure non-Python files to be included for publication on PyPI -
README.md
: This file -
conftest.py
: Configuration of fixtures for pytest -
pytest.ini
: Configuration of pytest test discovery -
setup.json
: Plugin metadata for registration on PyPI and the AiiDA plugin registry (including entry points) -
setup.py
: Installation script for pip / PyPI
See also the following video sequences from the 2019-05 AiiDA tutorial:
- aiida-champ setup.json
- run aiida-champ example calculation
- aiida-champ CalcJob plugin
- aiida-champ Parser plugin
- aiida-champ computer/code helpers
- aiida-champ input data (with validation)
- aiida-champ cli
- aiida-champ tests
- Adding your plugin to the registry
- pre-commit hooks
For more information, see the developer guide of your plugin.
Features
- Add input files using
SinglefileData
:SinglefileData = DataFactory('singlefile') filemain = SinglefileData(file='vmc.inp') molecule = SinglefileData(file='butadiene.xyz') orbitals = SinglefileData(file='cas44.lcao') determinants = SinglefileData(file='cas44.det')
Installation
pip install aiida-champ
verdi quicksetup # better to set up a new profile
verdi plugin list aiida.calculations # should now show your calclulation plugins
Usage
Here goes a complete example of how to submit a test calculation using this plugin.
A quick demo of how to submit a calculation:
verdi daemon start # make sure the daemon is running
cd examples
python example_01.py # run test calculation
verdi process list -a # check record of calculation
The plugin also includes verdi commands to inspect its data types:
verdi data champ list
verdi data champ export <PK>
Development
git clone https://github.com/neelravi/aiida-champ .
cd aiida-champ
pip install -e .[pre-commit,testing] # install extra dependencies
pre-commit install # install pre-commit hooks
pytest -v # discover and run all tests
See the developer guide for more information.
License
MIT
Author
Name :: Ravindra Shinde (TREX-CoE) Email :: r.l.shinde@utwente.nl