Code options |
Compiler
options |
RMC_POT has several capabilities, which are sometimes exclude the simultaneous use of each other. To regulate the size of the executable and not deteriorate the performance certain features are only compiled in the code, if it is required. The compilation is governed by option switches in the code.
For Linux the Makefile was written for RMC_POT in the way to make the usage of the different option switches easier. Originally the option switches had to be switched ON or OFF in the altern.h file. Switching an option OFF had to be done by commenting it out from the code. (This is still the case in case of compiling with Visual studio in Windows platform.) The option switches can be found in the manual or in the table below.
For Linux users |
For Linux the user does not have to edit the altern.h file, the state of the option switches in the file does not matter. The generated code depends on the command line options passed to make. To avoid mixing up the executables created with different set of option switches, the executable name will contain indication, what switches are turned ON for the given compilation. Furthermore, the program will display at the beginning of the screen output, which compiler option were used.
The program name will begin with rmcp and with .exe.
The following table will contain the command line options and the indicators in the file name for the different option switches.
Command line option for make |
Indicators in the executable name |
Option switch |
Functionality related |
||
AENET=0 |
_ann |
_AENET for ANN potential usage |
AGC=0 |
_agc |
_ADVANCED_GEOM_CONST for advanced geometrical constraints |
EDIFF=0 |
_ediff |
_READ_EDIFF reading electron diffraction data in case of old format *.dat |
LOC=0 |
_loc |
_LOCAL_INV, local invariance
will be calculated |
LOC=ns |
_locns |
_LOCAL_INV and _LOCAL_INV_NS is ON (no *.lhgm file will be created during the local invariance
calculation) |
MULQ=0 |
_mq |
_MUL_SCAT_VECTOR is ON, Q*S(Q),
Q*F(Q) and g*F(g) is fitted |
NOPER=0 |
_nop |
_NO_PERIODIC is ON, periodic boundary condition NOT used, spherical sample |
RGR=0 |
_rgrx |
_R_SWITCH_GR_MIN_1 option is ON, the
program will expect r*[g(r)-1] data for all the g(r) data sets, and will fit
and save that as well |
VIBRAMP=0 |
_vamp |
_VIBR_AMP, the vibrational
motions of the atoms will be calculated. |
Output related |
||
NEI=0 |
_nei |
_NEI option is on,
neighbour list is saved into the *.nei file. |
NEI=e |
_neie |
_NEIE option is on,
neighbour list, squared neighbour distances and vector is saved into the *.nei file. |
AVM=0 |
_avm |
_AV_MOVE, if it is on, the
move in each direction separately accumulated for every atom and displayed. |
Computation
related |
||
I32=0 |
_i32 |
_USE_INT32, if it is on, 32
bit integers (4 byte) are used for longint,
otherwise it will 64 bit. |
AT=0 |
_atlas |
_ATLAS is ON, ATLAS library is used for Fourier transformation |
Developer
section |
||
TEST=0 |
_t |
_TEST_MODE is ON |
TESTDUR=0 |
_tdur |
_TEST_MODE and
_WRITE_TH_DURATION, writes thread
duration |
CHI=0 |
_chi |
_WRITE_CHI2_DETAIL is ON (the c2 components will
be written in to the *.chi file for every rejected move). |
Platform related |
||
INT =0 |
_i |
Use this, if you
want to compile with Intel icpc compiler instead of
the default gcc (NOT TESTED lately). |
MAC=0 |
_mac |
_CODE_WARRIOR_MAC is ON, the code
if compiled for this platform (NOT TESTED lately). |
General |
||
ARCH =X |
_X |
X is a character
string added before .exe (useful for version) |
You can use any number of different option switches in the same time.
Always delete the *.o object files before starting compilation with a new set of options,
as make cannot detect in the object files which options were used during their compilation, and it might use the old compilation’s object files instead of recompiling them if the source was not modified!
Example |
If you want to compile the RMC_POT program with advanced geometric constraint usage and on a 64-bit processor, use the command
make AGC=0
ARCH=_v2.5
This will result in the executable named rmcp_agc_v2.5.exe
Typing ‘make help’ in the command line in the directory where the Makefile located will give instruction on the usage as well.
Availability |
The Source packages on the download page contains the Makefile, but you can download it separately from here as well.
Last modified 04/03/2023) by Orsolya Gereben
(comments welcome!)