The command @run

The command @run starts a simulation. It takes as input the name(s) of the phase(s) that should be used, in that order. The phase names may be separated by space or comma or new line:

@run phase_name
@run phase_name1, phase_name2, ...
@run phase_name1 phase_name2 ...
@run phase_name1
     phase_name2
     ...

With multiple runs, one may label the different @run commands to be able to refer to them in postprocessing:

@run my_run1 phase_name1, phase_name2, ...
@run my_run2 phase_name1, phase_name2, ...

The old syntax using runlabel may also be used:

@run phase_name1, phase_name2, ... runlabel:run1
@run phase_name1, phase_name2, ... runlabel:run2

The phase names can be specified on separate lines, which may be useful when running many phases and/or running many phases with long names:

@run my_run1
    phase_name1
    phase_name2
    ...

The stop condition for the phase given in the @phase block can be overridden in the @run statment by giving the stop condition in parenthesis after the phase name:

@run my_run1
    phase_name1(stop: stop_condition1)
    phase_name2(stop: stop_condition2)
    ...

This means that it is possible to specify a @phase without a stop condition. If there is no stop condition, neither in @phase nor in @run, an error will occur.

Multiple runs

The simulation depends on the value of a number of parameters, such as n_subjects, mechanism, etc. It will use the values that are set at the point of the @run command.

This makes it possible to re-set the value of a parameter and perform a @run again. In a script with several @run commands, use the syntax specifying the run label described above:

n_subjects = 10
@run ten_individuals phase_name

n_subjects = 100
@run hundred_individuals phase_name

These labels (ten_individuals and hundred_individuals) can then be used in the postprocessing stage in order to, for example, plot the data from the simulation with ten individuals, or from the simulation with 100 individuals:

runlabel = ten_individuals
@vplot e->b  # Plots the associative strength betweeen e and b in the simulation with 10 individuals

runlabel = hundred_individuals
@vplot e->b  # Plots the associative strength betweeen e and b in the simulation with 100 individuals