CoMD is written with portability in mind and should compile using practically any compiler that implements the C99 standard.
You will need to create a Makefile by copying the sample provided with the distribution (Makefile.vanilla).
$ cp Makefile.vanilla Makefile
and use the make command to build the code
$ make
The sample Makefile will compile the code on many platforms. See comments in Makefile.vanilla for information about specifying the name of the C compiler, and/or additional compiler switches that might be necessary for your platform.
The main options available in the Makefile are toggling single/double precision and enabling/disabling MPI. In the event MPI is not available, setting the DO_MPI flag to OFF will create a purely serial build (you will likely also need to change the setting of CC).
The makefile should handle all the dependency checking needed, via makedepend.
'make clean' removes the object and dependency files.
'make distclean' additionally removes the executable file and the documentation files.
Various other options are made available by #define arguments within some of the source files.
Setting this to 1 will redirect all screen output to a file, currently set to 'testOut.txt'.
This is set to 1.0 by default, and shifts the values of the cohesive energy given by the Lennard-Jones potential so it is zero at the cutoff radius. This setting improves energy conservation step-to-step as it reduces the noise generated by atoms crossing the cutoff threshold. However, it does not affect the long-term energy conservation of the code.
The default value is 64, which allows ample padding of the linkCell structure to allow for density fluctuations. Reducing it may improve the efficiency of the code via improved thread utilization and reduced memory footprint.