A novel program to looking for global minimum structures of atomic clusters and molecules in gas phase is introduced in this work. The present proposal is based on the use of the Coulomb-interaction integral between the Fukui functions of two interacting fragments. This, in order to find the best chemical interaction structure that lead to a local or a global minimum structure.
The strategy to achieve this involves different steps. First, both fragments are identified as electron-donor or electron-acceptor species. This discrimination is based on the comparison of the chemical potencial of one fragment against the other one. Then, the corresponding Fukui's function are computed and they are used as input for the following step. Second, a population of individuals is generated by the stochastic distribution of these fragments in a sized-selected spatial box. In this box both fragments have been carried to interact between them following the "Maximum Matching" principle (see Ref. Osorio et al. J. Chem. Theory Comput. 2011, 7, 3995–4001.). Third, the best structures are selected according to the Coulomb-interaction integral value of the fragment interactions. Subsequently, the best candidates are relaxed to the nearest local minimum using a gradient method, i.e., ab-initio or DFT methods.
Last update: February, 04-2020
1) Step Zero
Before starting the installation, it is important to know that Kick-Fukui use the information of condensed values of the Fukui functions (attractors) as input file (.frag). For that reason, the code needs the assistance of a third-party software that perform the topological analysis of the corresponding Fukui's functions (i.e. TAFF, Multiwfn, Dgrid, TopChem2, AIMALL, TopMod, AIM-UC, AIM2000, etc).
File format with extension .frag
• First column = Atom symbol for attractor (X) and element (example Si).
• Second-Fourth column = Cartesian coordinates (Å) x-coord; y-coord; z-coord.
• Fifth column = Condensed values of the Fukui functions (attractors).
X 0.02053684 -1.29029342 -1.36079835 0.1900536003
X 0.02053684 1.31835992 -1.36079835 0.1926297737
X 0.02053684 -1.81202408 0.20439365 0.1526948452
Si 0.00000000 1.57169558 -0.53352285
Si 0.00000000 0.00000000 1.06704517
Si 0.00000000 -1.57169558 -0.53352285
Note: For more information of Condensed values of the Fukui functions, https://doi.org/10.1021/ct100022w
1. Softwares for Topology Analysis
• TAFF (https://github.com/HumanOsv/TAFF) example in the scripts folder
• Multiwfn (http://sobereva.com/multiwfn/)
• Dgrid (http://www2.cpfs.mpg.de/~kohout/dgrid.html) example in the scripts folder
• TopChem2 (http://www.lct.jussieu.fr/pagesperso/pilme/topchempage.html)
• AIMALL (http://aim.tkgristmill.com/)
• TopMod (http://www.lct.jussieu.fr/pagesperso/silvi/topmod_english.html)
• AIM-UC (https://facyt-quimicomp.neocities.org/aim_uc/manual/manual_en.html)
• AIM2000 (http://www.aim2000.de)
• MoPro (http://crm2.univ-lorraine.fr/lab/en/software/mopro/)
• ToposPro (https://topospro.com/)
• Rhorix (https://github.com/MJLMills/rhorix)
• HORTON (https://github.com/theochem/horton)
• Topology Tool Kit (https://topology-tool-kit.github.io/)
• GPUam (https://github.com/gpuam/binaries)
2. Installing Perl environment.
Since the Fukui-kick code is written in Perl, the Perl environment needs to be installed as well. Perl is a highly capable, feature-rich programming language that runs on many platforms from portable to mainframes. It can be installed from:
It can be installed from:
There are some additional libraries and softwares that must also be installed to allow Kick-Fukui to work:
-Install CPAN modules (http://www.cpan.org/modules/INSTALL.html or https://egoleo.wordpress.com/2008/05/19/how-to-install-perl-modules-through-cpan-on-ubuntu-hardy-server/)
user$ sudo cpan Parallel::ForkManager
user$ sudo cpan Math::Matrix
2) Downloading and Installing Kick-Fukui
Kick-Fukui can be directly downloaded as a zip file from the page:
-https://github.com/HumanOsv/Kick-Fukui
Alternatively, it can be downloaded using the Git tools using the following command:
user$ git clone https://github.com/HumanOsv/Kick-Fukui.git
user$ cd ./Kick-Fukui
Note: before downloading using Git tools, make sure to be in your final installation path.
We recommend to install using Git tools to update future Kick-Fukui software easily. To update the program, use the following command:
user$ git pull master
Alternatively, Kick-Fukui could be installed as follows: choose a final installation path, and then extract the ZIP file (containing the software). Provide all the basic permissions for use and, optionally, set Kick-Fukui_Algorithm.pl file as a system call.
3) Running Kick-Fukui
To run Kick-Fukui the following files are necessary in the working directory:
• f+_inputfile.frag : File with the nucleophilic Fukui function.
• f-_inputfile.frag : File with the electrophilic Fukui function.
• Config.in : The Kick-Fukui input file, see below for more information.
• DupGrigoryanSpringborg.pl : The executable file for duplicate molecular fragments.
• Kick-Fukui_Algorithm.pl : The executable file for structure prediction.
Note: Kick-Fukui_Algorithm.pl can be called from another path if correctly set
Now, use the following commands to execute this program:
user$ perl Kick-Fukui_Algorithm.pl Config.in > Output.log
Alternatively, the user can set Kick-Fukui to run in the background using one of the following methods:
user$ nohup perl Kick-Fukui_Algorithm.pl Config.in > Output.log
user$ setsid perl Kick-Fukui_Algorithm.pl Config.in > Output.log
4) Input File
The main input file, known as Config.in, contains all the necessary parameters for a correct calculation. Each variable is explained below.
The Initial Population size (1000N, N = Atoms number).
initial_species = 5000
Number of final geometries.
final_species = 50
NOTE: Species to send for quantum calculations.
Name of molecular species in the simulation.
File with the nucleophilic Fukui function
Mol_1 = f+koop-Si3.frag
File with the electrophilic Fukui function
Mol_2 = f-koop-Si9.frag
Box size the sum of the sides from both molecules multiply for a factor (Default 1). The factor size or size of the box (in Angstroms) length, width, and height.
box_size_factor = 0.8
Order Coulombic-Interaction Value (J) in a descending (YES) or scholastic (NO) manner.
energy_order = YES
Search for duplicate molecular species (YES/NO).
duplicate_species = NO
Output xyz file name.
output_file_name = Si12
General Note: Respect the spaces of separation between the symbol "=".
Correct : initial_species = 5000
Wrong : initial_species=5000
5) Kick-Fukui outputs
After a successful run of the program, several output files will be generated in your working directory.
Outputfile_sort.xyz : Final coordinates XYZ file format of each species sort by descending order value J.
Outputfile_stochastic.xyz : Final coordinates XYZ file format of each species stochastic order value J.
Output.log : Print summary information Kick-Fukui.
DuplicatesCoords_GS.xyz : Duplicates Grigoryan-Springborg Algorithm.
If you use this code, please cite:
Yañez, O.; Vásquez-Espinal, A.; Inostroza, D.; Ruiz, L.; Pino-Rios, R.; Tiznado, W. A Fukui Function-Guided Genetic Algorithm. Assessment on Structural Prediction of Sin (N= 12--20) Clusters. J. Comput. Chem. 2017, 38 (19), 1668–1677. https://doi.org/10.1002/jcc.24810
Osorio, E.; Ferraro, M. B.; Oña, O. B.; Cardenas, C.; Fuentealba, P.; Tiznado, W. Assembling Small Silicon Clusters Using Criteria of Maximum Matching of the Fukui Functions. J. Chem. Theory Comput. 2011, 7 (12), 3995–4001. https://doi.org/10.1021/ct200643z.