After having set the simulation system up with [xpl2lis], you can start the simulation in the working directory with the iffi executable. It accepts the names of one or more control files as arguments. Without argument it uses "ctl.xml" as the default input.
** Examples **
Run "ctl.xml" on a single core.
~/bin/iffi.gnu.seq
Run "minimization.xml" with 4 mpi processes:
mpirun -np 4 ~/bin/iffi.gnu.ompi minimization.xml
Run 4 jobs farm?.xml together in parallel using 2 MPI processes for each job:
mpirun -np 8 ~/bin/iffi.gnu.ompi farm1.xml farm2.xml farm3.xml farm4.xml
Run a four-member replica exchange simulation. The files replica?.xml need to have the section <discreteTempering> turned on and the same rungs specified on their respective ladders (see examples for details):
mpirun -np 4 ~/bin/iffi.gnu.ompi replica{1,2,3,4}.xml
You can also use the same input file multiple (n) times by appending @n to it:
mpirun -np 4 ~/bin/iffi.gnu.ompi rest.xml@4
Within the input file you can use the $REPLICA$ variable for the replica specific settings,
eg. the output directory or the restart file.
For each input file, iffi creates a so called partition, which are numbered 0, 1, 2,..., and distributes the available mpi processes to these partitions.
In the course of a simulation, all observables requested by the user (e.g. energies, particle trajectories, dipole moments,..) are periodically written to the directory <outPath>.
Additionally, each process writes a log file to
<logPath>/log_<timestamp>[_p<partitionId>[n<nodeId of partition>].out
where the partition and node information is only included, if multiple partitions and/or nodes are used, e.g. when running a two partition simulation the files
_log/log_20140428-135320_p0n0.out and
_log/log_20140428-135320_p1n0.out
contain the output of the two master processes (n0). Warnings (non fatal) and errors (fatal) are written to similar log files ending on .err.
Iffi does not overwrite any files. If data would be written to an already existing file,
the latter is beforehand moved to the directory <backupPath> and appended a timestamp and the extension .bak .
Additionally, a complete control file, which lists the actual configuration of the run, and a stripped control file, which lists only the non-default user settings, are written to <backupPath>.
To stop the program before the final integration step is reached, you can issue a user defined kill signal to any of the MPI processes (with process id <pid>):
- ** kill -SIGUSR1 <pid> ** will stop the program after the next regular restart file has been written.
- ** kill -SIGUSR2 <pid> ** will stop the program after the next integration step and will write a final restart file.
Wiki: Compilation
Wiki: Getting started
Wiki: Plumed interface
Wiki: control file
Wiki: iphigenie
Wiki: xpl2iph
Wiki: xpl2lis