Skip to main content

Aiida plugin for BigDFT code

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida-bigdft-0.2.6.tar.gz (184.0 kB view hashes)

Uploaded Source

Built Distribution

aiida_bigdft-0.2.6-py2-none-any.whl (226.4 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page