-
Notifications
You must be signed in to change notification settings - Fork 3
2. Input structure
KIMERA is a command base program in which the user define the system and the simulation parameters by means of commands on an input file. The commands are read by KIMERA subsequently so the effect of a command may be changed or neglected by the effect of a later one. The list with all the commands can be found in this repository in 'intructions/command_list.txt'. In the next step we will classify them in several categories for clearence purposes:
-
Creation of the simulation box. Unit cell parameters, system dimensions, or Periodic Boundary Conditions (PBC) are essential to start building up your system. These commands are listed in section 2A. Simulation box.
-
Simulation box modifications. The actual topography and shape of the dissolving system can be specified by commands acting as system modifiers. The initial system box in 2A. Simulation box can be sculpted and changed to procude the desired one. The user can use an external script to help them to create their system. For example, In order to introduce in your system hundrends of adatoms (lonely atoms on the surface) at random postions, an external script to print the commands that will be later used in the KIMERA input file is very handy. The topography and shape commands are listed in section 2B. Topography. Moreover, the constituent atoms or particles of your system can be also modified after the system creation. Commands intended fo this porpuse are listed in section 2C. Particle type modifiers.
-
Events definition. In the KMC algorithm, in order to study the time evolution of the dissolving system, it is necessary to know beforehand the possible transitions, or events, that may happen in it. KIMERA recognises several commands to do the event definition as detailed as possible. The event definition commands are listed in section 2D. Events definition.
-
Reactive surface. KIMERA creates from the whole system a list with the initially reactive atoms for performance porpuses. Since it may not be to our liking, 2E. Reactive surface contains the commands that modify it.
-
Output requests. The output of KIMERA consists of several files inteded for visualization and data analysis. The commands that handle the output files are listed in section 2F. Output requests.
-
Other parameters. The finishing condition, the random generator seed, the desired number of cores to run the simulation, the distance threshold, or the searching algorithm (lineal or binary) are some of the side parameters that can be set. The commands that modify them are listed in 2G. Other parameters.
Any word different from a command is not considered by the program and can be treated as a comment. Nevertheless, each command is a close statement and it is not possible to make any comments in bettwen. Since all commands in KIMERA are in capital letters, in our examples we comment using lowercase letters starting with two hypens '--' to make a clearer differentiation.
Through this wiki and the command list, you will find commands with comments like --(*)
, --(**)
or --(***)
. These marks are only important when using the system exportation feature. KIMERA can use the system from a previous simulation to save computational time, but it creates restrictions in the change of the simulation parameters. specifically, commands from 2A. Simulation box have to be identical to the previous simulation, 2B. Topography, 2C. Particle type modifiers and 2E. Reactive surface commands have no longer effect, the structure of 2D. Events definition has to be the same though the values of the parameters can change, and all the commands related to 2E. Output requests and most of the 2G. Other parameters commands can be freely modified.
To recapitulate, marks indicate:
--(*) The change of these parameters is possible.
--(**) This command is compulsary as was in the original definition. Only the change of the ED and EP, FFD, DG* values is possible.
--(***) They are not possible to be used or have no effect.
The command that export a previous system is:
READ_SYSTEM_FROM_KIMERA_FILE (text)path_kimera_file
where ´path_kimera_file´ indicates the path of the kimera file in your computer.
Finally, three important points are highlighted:
1- It is necessary to request the program to print the KIMERA file in the previous simulation. You can find the details to do it in the E. Output requests section.
2- The format of this file is specific to KIMERA and can be found in this wiki, or in the 'instructions/KIMERA_format.txt' in this repository.
3- It would be possible for the users to use other programs to create their system to later study its dissolution in KIMERA if the proper file transformation is done.
Along this wiki and in the command list file, it can be observed that the command input parameters can be of this three types:
-
(text): Only one word, or several words without spacing.
-
(int): A natural number. 0,1,2,3,...
-
(double): A decimal number.
You can set a double parameter with an int (for example 1 would be threated as 1.0). Nevertheless the opposite is not posible (2.6 would be threated as 2).
The units of the input parameters are the following:
- Energy barriers: kBT units. kB is the Boltzman constant (1.380×10−23 J K-1) and T the temperature (K).
Tip: kBT/NA = 2.494 kJ mol-1 at 300 K. NA Avogadro constant.
-
Time: seconds (s).
-
Fundamental frequencies: (s-1).
-
Distance: Angstrom (Å).
-
Mass: Atomic mass unit (Dalton or u).
Whenever you use KIMERA, please cite "Martin, P., Gaitero, J. J., Dolado, J. S., & Manzano, H. (2020). KIMERA: A Kinetic Montecarlo Code for Mineral Dissolution. Minerals, 10(9), 825" https://www.mdpi.com/2075-163X/10/9/825/htm