Command-line usage#
To use the GUI#
build/openQminGUI.out
Running on the command line#
Run build/openQmin.out
with any of the available command-line options, which are described here in detail; for a brief summary you can type build/openQmin.out --help
.
Some examples:
To run 100 FIRE minimization steps on a cubic lattice of side length 250:
build/openQmin.out -i 100 -l 250
To do the same thing but using a GPU in slot 0:
build/openQmin.out -i 100 -l 250 -g 0
To load a file, e.g. “assets/boundaryInput.txt” with custom boundaries prepared for a cubic lattice of side length 80
build/openQmin.out -i 100 -l 80 --boundaryFile assets/boundaryInput.txt
To do the above, but also save the post-minimization state:
./build/openQmin.out -i 80 --boundaryFile assets/boundaryInput.txt -l 80 --saveFile data/saveTesting
Note
For --boundaryFile
and --saveFile
, the file path is relative to your present working directory.
Specifying MPI jobs#
As noted above, the -l
command line flag can be used to specify the side length of a cubic simulation
domain (other flags exist if you want the domain to be a rectangular prism). When using MPI, the default behavior is to take the command line size to specify the domain size ON EVERY MPI RANK. (One could imagine an alternate default behavior in which the command line specified the TOTAL size of the
simulation domain, which was then divided among the different processors.)
So, for example, the command:
mpirun -n 1 build/openQmin.out -l 100
will run a simulation domain of total size (100x100x100) lattice sites, on a single rank.
Moving to two processors, the command:
mpirun -n 2 build/openQmin.out -l 100
will run a simulation domain of total size (200x100x100) lattice sites, on two ranks (that
is, each rank will control a 100x100x100 domain).
Similarly the command:
mpirun -n 8 build/openQmin.out -l 100
will run a simulation domain of total size (200x200x200) lattice sites, where each of the
eight ranks continues to control a block of 100x100x100 lattice sites.