Skip to content

Latest commit

 

History

History
70 lines (54 loc) · 4.72 KB

README.md

File metadata and controls

70 lines (54 loc) · 4.72 KB

Tutorials

Here you will find an overview of the existing tutorials and what they cover. For an extensive pedagogical overview, we recommend completing the following tutorials in the sequence presented below.

Before you start, make sure you have installed excitingworkflow and optionally jobflow-remote as described in the INSTALL.md file.

Reminder: If you plan to execute exciting locally in the jupyter notebooks (which you should do in the basic tutorials), make sure to load all necessary dependencies and modules in your environment before you launch jupyter.

Basics

  • The excitingtools tutorial, located outside this repository. It explains the excitingtools package, which is under the hood always used for any direct exciting interaction. You can find it here under the name "Basic usage of excitingtools". It will show you how to construct input objects used to write the input.xml file, how to execute a calculation from Python, and how to parse and use the exciting output files.
  • The ExcitingCalculation tutorial, find it here. You will learn how to use the ExcitingCalculation class. This class provides a convenient interface to your exciting calculations. It handles the steps from writing the inputs, executing the calculation, to parsing the results. Additionally, you can reuse old run directories and automatically skip already done parts of your calculation.
  • The jobflow tutorial, find it here. As jobflow is used for any workflow, you will learn the basic concepts. You will learn what a job is, how to construct a flow, and how to execute such flows. Also, some basic workflows are presented such that you learn about static and dynamic workflows.
  • A tutorial explaining the "real-world" usage and details of excitingworkflow. First, you will see yet another simplification to execute your calculation as a jobflow job. You will learn how the output of such a job is structured. Then, you will see how to execute a convergence workflow. Later you can do some high-throughput work or converge a GW calculation.

Additionally, the following example scripts are available:

Remote execution

If you want to learn more about how to execute your workflows on a remote machine, you can read the remote_execution tutorial as a starting point.

More detailed information can be found in the following tutorials:

Additionally, the following example scripts are available:

Advanced

The following things are available in the advanced folder:

  • MT basis workflow: A tutorial for the MT basis workflow. It can be used to converge the Local Orbital (LO) basis set.
  • useful_notes: A collection of (random) notes. Things that simplified my daily work and might be interesting to others as well. Some tips and tricks that I needed to learn the hard way. It should save you some time if you don't have to find out those things yourself by reading through tons of raw source code.
  • mypy_example: excitingworkflow uses the tool mypy to analyze and check the static type hinting. There you find examples and tests for developers on how to do advanced typing.
  • SOL_info: More information specifically to excitingworkflow users from the SOL group.
  • jobflow_output_schema: Advanced note for developers of new workflows. Tests some interplay between jobflow and pydantic.
  • XAS_BSE_convergence: A demonstration of a convergence workflow for XAS and BSE calculations.