Protocol cycle

This protocols allows running a series of calculations with one parameter cycling over a defined series of values.

The value of the keyword is changed everywhere where it is present in the input. Additionally, this value may be used also in other keywords whose value is built using user-defined templartes.

Input structure

The protocol requires following blocks in the input:

Keywords used

Keywords specific for this protocol:

Examples

The following examples, along with all other files needed to run them, can be found in the directory cuby4/protocols/cycle/examples

#===============================================================================
# Cycle protocol example 1: cycle over a list of values
#===============================================================================

# In this example, the cycle protocol is used to repeat a calculation
# on multiple geometries

job: cycle

# This sets the protocol to iterate over a list of values
cycle_type: list

# What keyword is changed in the cycle:
cycle_keyword: geometry

# Items of the list - values to be used for the geometry keyword
cycle_list:
  - S66:01 # Water dimer from the S66 data set
  - A24:hf_dimer # HF dimer from the A24 data set

# The calculation - PM6 interaction energy
calculation:
  job: interaction
  interface: mopac
  method: pm6
  # IMPORTANT: some placeholder has to be used, the value of the keyword is
  # changed by the cycle only where the keyword already exists
  geometry: "X"
#===============================================================================
# Cycle protocol example 2: cycle over a generated series
#===============================================================================

# In this example, the cycle is performed over a series of numbers generated
# on the fly. It is used to chage a parameter in the D3 dispersion correction.

job: cycle

# What keyword is changed in the cycle:
cycle_keyword: d3_a1

# Use the cycle over series mode:
cycle_type: series

# Define the series:
cycle_series_start: 1.0
cycle_series_end: 2.0
cycle_series_step: 0.1

# Calculation - calculation of the D3 dispersion correction for benzene dimer
# for a seres of values of the a1 parameter
calculation:
  job: interaction
  geometry: S66:24
  interface: dispersion3
  d3_damping: bj
  d3_s8: 0.0
  d3_a1: 1.0
  d3_a2: 2.0