Skip to content

Subworkflow Units

Subworkflows are composed of one or multiple units, or elementary calculations that can be executed in succession based on algorithmic conditions.

Unit types

The following types of units are available.

Execution

Used for computationally-heavy tasks, e.g. for a singular run of a physics-based simulation engine. For physics-based modeling engines, the execution unit is the main one. It contains the information about the input parameters and runtime environment for the specific simulation engine.

Processing

Used for data processing tasks that are not computationally intensive in nature, eg. data cleaning.

I/O

Perform input/output operations, such as reading from a remote database or downloading from object storage.

Assignment

Declare, set, increment, and perform math operations on variables. For example: iterate over a counter variable and a k-point density variable for a k-point convergence workflow.

Conditional

Used to make a decision on what should be the next unit in the workflow to be executed. The conditional is a mathematical formula that operates on one or more assignment variables to choose the next unit.

Map/Reduce

Step that is replicated for a list of independent input parameters. For example: run a total energy calculation subworkflow using a list of materials such as "Li, Na, K, Rb, Cs, Fr" as inputs.