RMC++

 Quick start guide for RMC_POT

 

                           

 

Here is described, how to start RMC_POT quickly. It is however recommended to read the manual to have an understanding of how RMC works, and how to use the various options efficiently.

 

 

 Which code should I use?

 

 

The capability of the exe file depends on what compiler options were used during the compilation. Presently the standard compilation compiled without any specific compiler options and using the free format *.dat file is capable of multi-threading, handling bonded and non-bonded potential, all the data sets, the standard (average and normal coordination, cosine distribution of bond angle) constraints and swapping atoms.

For additional features (as the advanced geometric constraints, local invariance, vibrational amplitude calculation, non-periodic boundary conditions) new compilations are needed with the appropriate compiler options. See the manual for the details.

 

System

 

RMC_POT is suitable of the simulations of disordered materials, as fluids, glasses and amorphous solids. The systems can be treated the following way, depending on the requirements of the given material, and simulation requirements:

·          atomic systems using atomic moves using 1 (or more, only in case of fixed format *.dat file, discontinued) moved atoms with or without non-bonded potential;

·          molecular systems, where molecules are kept together by FNC constraint, but atomic moves are applied, using 1 or more (same as above) moved atoms;

·          molecular systems, where molecules are kept together by FNC constraint, molecular move is used, which means, that  a whole molecule is moved together the way it is described in the makemovecus.cpp file specially designed for this molecules, and the code has to be compiled with this makemovecus.cpp replacing the one given in the distribution. The *.cus file containing the adjustable parameters has to be given additionally to the fixed format *.dat file, if free format data input is used, then the parameters can be given there. These additional parameters depend on the system, described in the given makemovecus.cpp file. Some ideas, how it could look like can be learned from the ccl4_mol.cus file in the test_run/CCl4_mol directory of the example validation suite. This approach was abandoned.

·          molecular systems, where molecules are kept together with flexible, bonded potential interactions (bonds, angles, dihedrals), with or without non-bonded potential. To select the suitable potential and create appropriate staring configuration molecular dynamics (MD) simulations has to be run previously.

 

Parallelization

 

RMC_POT is parallelized to increase speed on shared-memory multi-processor (or hyper-threading) computers the efficiency depending on the simulated system. As RMC is not as well parallelizable as MD, usage of very many threads does not increase speed significantly. In a usual system size of 10000-20000 molecules and few hundred data point containing data sets 4-8 threads are ideal. Of course it can run consecutively (no threading) if the number of threads is set to 1 in the *.dat file.

The result will be mostly the same regardless parallel or consecutive execution were used, if no potential is calculated, no local invariance or BVS constraint is used. If it is, then there can be slight differences due to the rounding errors accumulating differently.

 

Input data

 

The earlier RMC versions used the fixed format *.dat file input inherited from RMCA and amended with more and more additional parameters for the new features. It became increasingly  difficult to include additional data in this rigid format, so a totally new approach, the free format data input was developed by László Temleitner. Obviously this is not entirely ‘free’, it has its rules (see the manual), and it is very flexible and easy to accommodate more new data for the new features. In the same time lot of the parameters were given a default value, which made it possible not to be necessary to include them into the free format *.dat file. Although for the downward compatibility the program can work with the old fixed format *.dat, it is recommended to use the free format data input. To facilitate the change to the new format, the program automatically creates several free format *.dat files for a simulation. The *.free file contains all the parameters (those as well, where default values were used), the *.freer file lists only the non-default values of the simulation, and in some cases the *.freers file is created as well, where the non-default parameters are given, but those, which should be determined by calculation are given with their new, calculated value (for example the actual value of the sigma parameters, if scalable sigma were used).

 

 

Starting RMC

 

 

RMC needs the following files to run.

·          *.cfg

·          *.dat

·          experimental data files, if needed, their name should appear in the *.dat file. RMC can be run actually without any experimental data, moving around the atoms, like hard-core balls

·          *.fnc (only needed, if molecules are handled with FNC constraint, both in case of atomic and molecular RMC);

·          *.top (*.itp) if potential is present to describe the molecule;

·          *.cus (only needed, if molecular RMC is used), code has to be compiled using the makemovecus.cpp file designed for the given molecule;

* denotes the same name to be used for the files

The validation suite contains five directories with five examples, read the readme.txt file of the validation suite to learn about them, they can be started easily with the name of the executable followed by the filename (without any extension). For example, if we have my.cfg and  my.dat for a simple run, then start it with executable my.

 

Starting your own simulation

 

·          Create your own *.dat file using an appropriate example dat file in one of the directories of the validation suite.

·          Create the *.cfg file according to the one in the same directory of the validation suite, see the manual and the auxiliary program section of the download page.

·          If molecules are handled, which should be kept together with FNC during the simulation, regardless atomic or molecular RMC is used, a *.fnc file describing the constraints holding together the molecules has to be created, (see the fnc file in the CCl4_at or  CCl4_mol directories of the validation suite) and the manual how to create it and the auxiliary program section of the download page.

·          You will need some experimental data, (see formats in the dummy directory of the validation suite), or you can run a hard-core RMC without it.

·          In case of molecular RMC use the makemovecus.cpp file describing the move of your molecule. CCl4 is the default given in the distribution beginning with version 1.6.1, and C2Cl4 and water can also be found in the source package makemovecus directory along with their *.cus files. If something else is needed, you have to write it yourself using the CCl4 and C2Cl4 makemovecus.cpp file, as examples.

·          In case of molecules kept flexibly together by bonded potential and/or if in case of non-bonded potential you will need the *.top (*.itp) file for describing the molecular topology (or simply the binding of the potential parameters to the RMC configuration). See the manual, the papers on this subject on the references page and the GROMACS manual for this, but it is NOT RECOMMENDED to start with this kind of systems, if you are new to RMC, first master the usage of RMC through the simpler systems!

Good Luck!

 

 

Top of page


Last modified 04/03/2023) by Orsolya Gereben
(comments welcome!)