Skip to main content

Ruff pre-commit Imports: isort linting: pylint pypi version supported python versions

excitingworkflow

exctingworkflow is a repository to collect scripts for automatically setting up exciting calculations and performing convergence series. All workflows are written in the workflow language of jobflow. excitingworklow can be used to execute dependent exciting calculations (WORKFLOWS) or simply many independent calculations (HIGH-THROUGHPUT).

Workflows

Currently supported workflows are:

  • groundstate convergence of the parameters rgkmax, nempty and ngridk with respect to the total energy
  • GW convergence of the parameters nempty and ngridq, and the HELO's (high energy local orbitals) in the species file(s) with respect to the Quasiparticle energies CBm and VBM, and the bandgap
  • BSE convergence of the parameters gqmax and ngridk/ngridq with respect to the exciton energy, and/or the spectral similarity (measured by spearman coefficient, or the tanimoto coefficient)
  • species workflow to find a maximal local orbital basis and local orbital hierarchy
  • GW workflow: automated workflow to execute a GW calculation using the task-based GW implementation

Installation

For innstructions on how to install excitingworkflow, please refer to the INSTALL file.

Remote execution

If you want to execute your workflows on a remote machine, for instance on a supercomputer using slurm as a queue manager, you can achieve this using jobflow-remote. You should read the remote_execution.md file to get started.

Command line interface

excitingworkflow provides a command line interface (CLI) written with typer. It contains mainly helper commands that should simplify your daily work. After the installation of excitingworkflow, you can invoke the CLI with:

ew

This is similar to calling ew -h or ew --help. You will see a list of all available commands. You can learn more about each command by calling ew <command> -h. Either you see the description of the command or you get a list of all available subcommands. For a complete overview of all commands, you can call:

ew --tree

Note that all commands using jobflow-remote will use the default project.

Tests

Tests are written and executed with pytest. Overall code coverage is also measured in the git pipeline and displayed on the webpage. You can run the test suite from the root directory via

pip install pytest
pytest tests/

This package is developed to execute exciting calculations. It's not possible to run exciting in the regular unit test suite. There are still tests covering the whole workflow, and actually running exciting. Those integration tests can be additionally triggered via:

pytest --run-exciting tests/

Note, in order for the test cases to find the exciting binary, the value for exciting_binary from the config file will be used, so it needs to be set.

Tutorials

We provide basic and advanced tutorials, as well as various example files for setting up and running this package. Refer to this README to get started.

Are you a SOL member?

Make sure to also read the SOL-specific information: SOL_info.md.

License

excitingworkflow is distributed under the GNU General Public License Version 3 (GPLv3) or any later version.

See the LICENSE file for details.

Contributing

We welcome contributions to this repository. Please refer to the CONTRIBUTING file for more information.

Compatibility

This package has been extensively tested and used on both Linux and macOS. Some of the standard paths given in the tutorials might need to be adjusted if you are using a different operating system. The plain usage of Windows is not recommended. Instead, you want to use a virtual machine or a docker-like environment.

Authors and acknowledgment

Fabian Peschel: main developer and maintainer

Hannah Kleine: contributed idea and parts of the implementation of the species workflow

Alexander Buccheri: thanks for supervision and guideline in writing the workflows

Download files

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

Source Distribution

excitingworkflow-0.1.2.tar.gz (217.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

excitingworkflow-0.1.2-py3-none-any.whl (256.3 kB view details)

Uploaded Python 3

File details

Details for the file excitingworkflow-0.1.2.tar.gz.

File metadata

  • Download URL: excitingworkflow-0.1.2.tar.gz
  • Upload date:
  • Size: 217.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for excitingworkflow-0.1.2.tar.gz
Algorithm Hash digest
SHA256 bec464e820f120380cd2b52901293bcd60473a592c84c2779f6953215e3622b1
MD5 b7653bbe16b3a16a8033ede94513e427
BLAKE2b-256 6ad2f49384a2b84c1fa7fb653a295ffa61ba049ad04cb674462ff9ee6b5f6ac9

See more details on using hashes here.

File details

Details for the file excitingworkflow-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for excitingworkflow-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d3b2a862f5e2d5ef3a87590209128fce077f6f2fd83e977fc081c41e4112919c
MD5 c13ecd31a88bf646cfbf058625675769
BLAKE2b-256 715d2a0422b39d3e909c765ac6f5ce9ce7a963a4e8c69cf72303b4043bd40e48

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page