The task Stage

The .msj file should start with a task stage to specify the type of job. Although Multisim can determine the type of job based on the input structure file provided, this can lead to unpredictable behavior if the file was previously used by a different type of job. Explicitly stating the job type avoids this problem, and also permits Multisim to ensure that the input structure file provided is appropriate for the type of calculation requested.

The task stage has two keywords. The first is task, whose values are listed in Table 1.

Table 1. Values of the task keyword

Keyword

Value

Description

task

desmond:regular

Non-FEP Desmond job

 

desmond:fep

Desmond absolute or relative free energy (FEP) job

 

desmond:auto

Desmond job whose type is determined from the input structure file

The second is set_family which can be used to set parameters for a family of stages, e.g.

task {
   task = "desmond:regular"
   set_family = {
      desmond = {
         checkpt.write_last_step = no
      }
   }
}

The family of stages here is desmond. This family includes simulate, replica_exchange, and lambda_hopping stages. The settings in the desmond = {...} block are effective for all subsequent stages belonging to the desmond family. If there is a conflict between the settings in the set_family block and the explicit settings in a stage, the latter take precedence. For example:

task {
   task = "desmond:regular"
   set_family = {
      desmond = {
         checkpt.write_last_step = no
      }
   }
}
simulate {
   checkpt.write_last_step = yes
}

The value of the checkpt.write_last_step parameter is set to yes, overriding the setting checkpt.write_last_step = no within the set_family block, because explicit settings in the stage have higher precedence.

Valid stage family names include desmond and all stage names. If a stage name is used, the family consists of all stages of that name. For example:

task {
   task = "desmond:regular"
   set_family = {
      simulate = {
         checkpt.write_last_step = no
      }
   }
}

Here all subsequent simulate stages will be affected, but replica_exchange, and lambda_hopping stages will not.