UPDATE_IF
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.

Warning
Notice that not all the possible usage make particular sense. For example, conditionally updating a METAD keyword (that is: adding hills only if a variable is within a given range) can lead to unexpected results.
Examples

The following input instructs plumed dump all the snapshots where an atom is in touch with the solute.

Click on the labels of the actions for more information on what each action computes
tested on master
solute: GROUP 
ATOMS
the numerical indexes for the set of atoms in the group.
=1-124 coord: COORDINATION
GROUPA
First list of atoms.
=solute
GROUPB
Second list of atoms (if empty, N*(N-1)/2 pairs in GROUPA are counted).
=500
R_0
could not find this keyword
=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_IF
ARG
compulsory keyword the labels of values that should be used to make the decision on whether to update or not
=coord
MORE_THAN
lower bound
=0.5 DUMPATOMS
ATOMS
the atom indices whose positions you would like to print out.
=solute,500
FILE
compulsory keyword file on which to output coordinates; extension is automatically detected
=output.xyz UPDATE_IF
ARG
compulsory keyword the labels of values that should be used to make the decision on whether to update or not
=coord
END
( default=off ) end
Glossary of keywords and components
Compulsory keywords
ARG the labels of values that should be used to make the decision on whether to update or not
STRIDE ( default=1 ) the frequency with which the quantities of interest should be output
Options
END

( default=off ) end

LESS_THAN upper bound
MORE_THAN lower bound