This is part of the generic module |
Conditional update of other actions.
This action can be used to enable and disable the update step for the following actions depending on the value of its arguments. This allows for example to extract snapshots with value of some CVs in a given range.
When called with MORE_THAN and/or LESS_THAN keywords, this action starts an if block. The block is executed if all the arguments are less than all the respective values in the LESS_THAN keyword (if present) and all the arguments are more than all the respective values in the MORE_THAN keyword (if present).
When called with the END flag, this action ends the corresponding IF block. Notice that in this case one should also provide the ARG keyword. It is recommended to use the same ARG keyword that was used to begin the block, so as to make the input more readable.
Of course, blocks can be nested at will.
There are many potential usages for this keyword. One might e.g. decide to analyze some variable only when another variable is within a given range.
The following input instructs plumed dump all the snapshots where an atom is in touch with the solute.
solute: GROUPATOMS=1-124 coord: COORDINATIONthe numerical indexes for the set of atoms in the group.GROUPA=soluteFirst list of atoms.GROUPB=500Second list of atoms (if empty, N*(N-1)/2 pairs in GROUPA are counted).R_0=0.5 # A coordination number higher than 0.5 indicate that there is at least one # atom of group `solute` at less than 5 A from atom number 500 UPDATE_IFcould not find this keywordARG=coordthe input for this action is the scalar output from one or more other actions.MORE_THAN=0.5 DUMPATOMSlower boundATOMS=solute,500the atom indices whose positions you would like to print out.FILE=output.xyz UPDATE_IFcompulsory keyword file on which to output coordinates; extension is automatically detectedARG=coordthe input for this action is the scalar output from one or more other actions.END( default=off ) end
STRIDE | ( default=1 ) the frequency with which the quantities of interest should be output |
END | ( default=off ) end |
ARG | the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3... |
LESS_THAN | upper bound |
MORE_THAN | lower bound |