This release is a pre-release and may not be stable for production use.
AiiDA CP2K
The CP2K plugin for the AiiDA workflow and provenance engine.
Installation
If you use pip, you can install it as:
pip install aiida-cp2k
Features
Following the philosophy to ''enable without getting in the way'', this plugin provides access to all of CP2K's capabilities through a small set of well-tested features:
- A full CP2K input has to be provided as a nested Python dictionary (example):
params = {'FORCE_EVAL': {'METHOD': 'Quickstep', 'DFT': { ... }}}
calc.use_parameters(ParameterData(dict=params))
- Section parameters are stored as key
_in the dictionary:
xc_section = {'XC_FUNCTIONAL': {'_': 'LDA'}}
- Repeated sections are stored as a list:
kind_section = [{'_': 'H', 'BASIS_SET': 'DZVP-MOLOPT-GTH', 'POTENTIAL': 'GTH-LDA'},
{'_': 'O', 'BASIS_SET': 'DZVP-MOLOPT-GTH', 'POTENTIAL': 'GTH-LDA'}]
- Most data files (basis sets, pseudo potentials, VdW, etc.) are auto-discovered from CP2K's data directory.
dft_section = {'BASIS_SET_FILE_NAME': 'BASIS_MOLOPT', ...}
- Additional data files can be added as AiiDA SinglefileData (example):
water_pot = SinglefileData(file="/tmp/water.pot")
calc.use_file(water_pot, linkname="water_pot")
- The start geometry can be provided as AiiDA StructureData (example):
atoms = ase.build.molecule('H2O', vacuum=2.0)
calc.use_structure(StructureData(ase=atoms))
- Alternatively the start geometry can be contained in the CP2K input (example):
coord_section = {' ': ['H 2.0 2.0 2.737166',
'H 2.0 2.0 2.000000']},
- For restarting a calculation a parent folder can be attached (example):
calc2.use_parent_folder(calc1.out.remote_folder)
- By default only the output and restart file (if present) are retrieved. Additional files are retrieved upon request (example):
settings = {'additional_retrieve_list': ["*.cube"]}
calc.use_settings(ParameterData(dict=settings))
- The final geometry is extracted from the restart file (if present) and stored in AiiDA (example):
print(calc.out.output_structure)
- From the CP2K output only the #warnings and final energy are parsed (example):
print(calc.res.nwarnings, calc.res.energy, calc.res.energy_units)
-
The calculation is considered failed if #warnings can not be found (example).
-
The conversion of geometries between AiiDA and CP2K has a precision of at least 1e-10 Ångström (example).
-
The Python code complies with the Flake8 coding conventions.
Testing
Every commit and pull request is automatically tested by TravisCI.
To run the tests locally install Docker and execute the following commands:
git clone https://github.com/cp2k/aiida-cp2k
docker build -t aiida_cp2k_test aiida-cp2k
docker run -it --init aiida_cp2k_test pytest -v
Metadata
Release files for aiida-cp2k-ng 1.0.0b2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiida_cp2k_ng-1.0.0b2.tar.gz | 18.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiida_cp2k_ng-1.0.0b2-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 47.9 kB
Release files / aiida_cp2k_ng-1.0.0b2.tar.gz
| Download URL | aiida_cp2k_ng-1.0.0b2.tar.gz |
|---|---|
| Size | 18.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
791e839d5497c1de841046602f30c4b32c9b883ce46bcf47aa6cbdddafa2a073
|
|
BLAKE2b-256 checksum How to use checksums |
be2a25d9f272e93f4d0600f4d8e183f8276862034fe4409e4cbcdb49629dc216
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16
|
Release files / aiida_cp2k_ng-1.0.0b2-py2-none-any.whl
| Download URL | aiida_cp2k_ng-1.0.0b2-py2-none-any.whl |
|---|---|
| Size | 29.0 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
eef81c87bb9d2d04c6c80dc307908d4f060e8cad1a3f5230324eabf76744e911
|
|
BLAKE2b-256 checksum How to use checksums |
49933ef4f355c7eabffcd865ee60d39c65ee01722913e9e39d07bb270bf5d483
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16
|