Layer Block

Defines a sequence of modules

Overview

The Layer block contains a number of modules to run, in sequence, as part of the main simulation. Multiple Layer blocks can be defined in order to sensibly group together different parts of a particular simulation (e.g. equilibration, evolution, analysis, export etc.)

The block keyword itself takes a single (required) argument - the name of the layer. This name is used to reference the configuration when, for example, specifying module targets.

Keywords

Keyword Arguments Default Description
Disabled Disables execution of the layer
EndLayer Indicates the end of the current Layer block.
Frequency int 1 Frequency at which this layer will run, relative to the main iteration counter. A value of 1 means the layer will run on every iteration, a value of 10 means the layer will only run every 10th iteration, etc.
Module Module
[name]
Begins a Module block setting up an instance of a module of the type specified, with the optional unique name. If a name is not provided, a unique one will be generated automatically.
RequireEnergyStability States that the layer will not be run if any configuration target of any of its modules does not yet have a stable energy. This is useful for only running a layer when a configuration or configurations are at (pseudo-)equilibrium.
RequireNoSizeFactors States that the layer will not be run if any configuration target of any of its modules has an applied size factor (i.e. is greater than 1.0). This option is useful to prevent a layer from running when a configuration or configurations are still undergoing size factor treatment in the early stages of a simulation.

Example

Layer  'MyLayer'

  Frequency  5
  RequireNoSizeFactors

  Module  'A'
    ...
  EndModule

  Module  'B'  'SpecialModule'
    ...
  EndModule

EndLayer
Last modified February 24, 2023: Docs 1.0 (#1221) (6f6c04b7e)