Skip to content
BigDFT plugin for Aiida
Fortran Jupyter Notebook Python C M4 Makefile Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci
aiida_bigdft
docs
examples
.coveragerc
.gitignore
.pre-commit-config.yaml
.readthedocs.yml
.travis.yml
LICENSE
MANIFEST.in
README.md
azure-pipelines.yml
conftest.py
pytest.ini
setup.json
setup.py

README.md

Build Status Coverage Status Docs status PyPI version

aiida-bigdft

Aiida plugin for BigDFT code. This is a simple plugin to integrate bigdft computation in an AiiDA workflow. Input file is generated using PyBigDFT tools, and output is returned as a dict, using the LogFile feature of PyBigDFT. Both futile and PyBigDFT are included in this plugin, BigDFT itself is not needed.

This plugin is the default output of the AiiDA plugin cutter, intended to help developers get started with their AiiDA plugins.

Features

  • Create input files and specify command line options via a python dictionary and BigDFTParameters:

    d = { 'ignore-case': True }
    BigDFTParameters = DataFactory('bigdft')
    bigdft_parameters = {}
    bigdft_parameters["dft"] = { "ixc": "LDA", "itermax": "5" }
    bigdft_parameters["output"] = { 'orbitals': 'binary' } 
    inputs['parameters'] = BigDFTParameters(dict=bigdft_parameters)
  • Run computation and retrieve output files (by default : logfile, time.yaml, forces, can be extended to retrieve any geenrated file):

    inputs['extra_retrieved_files'] = List()
    inputs['extra_retrieved_files'].set_list([["./data*/*", ".", 2]])
    result = run(CalculationFactory('bigdft'), **inputs)
    #or asynchronously
    future = submit(CalculationFactory('bigdft'), **inputs)
  • load back YAML logfile and turn it into a python dict (through PyBigDFT utilities) to analyze results

    #only if run asynchronously, load results from database first after completion
    result=load_node(future.pk).outputs
    
    logfile = result['bigdft_logfile'].logfile
    print (logfile['Energy (Hartree)'])

Installation

pip install aiida-bigdft
verdi quicksetup  # better to set up a new profile, or run reentry scan
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
verdi run submit.py        # submit test calculation
verdi process list -a  # check status of calculation

The plugin also includes verdi commands to inspect its data types:

verdi data bigdft list
verdi data bigdft export <PK>

Development

git clone https://github.com/BigDFT-group/aiida-bigdft-plugin .
cd aiida-bigdft-plugin
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

Contact

bigdft-developers@lists.launchpad.net

You can’t perform that action at this time.