User Tools

Site Tools


benzen_structure_optimization

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
benzen_structure_optimization [2009/11/24 13:44]
jelen
benzen_structure_optimization [2018/03/08 15:44] (current)
Line 1: Line 1:
-Here we describe how to  perform structure optimization of a simple molecule using new version of Fireball. +Here we describe how to  perform structure optimization of a simple molecule using the new version of the Fireball ​code
-These are minimal steps required to optimize atomic structure using quenching optimization method:+There are minimal steps required to optimize atomic structure using quenching optimization method:
  
  
Line 9: Line 9:
 An initial configuration is written in a file with an arbitrary name (e.g. //​initial.bas//,​ see text bellow) An initial configuration is written in a file with an arbitrary name (e.g. //​initial.bas//,​ see text bellow)
  
-               12 +          ​12 
-   ​6 ​    -4.183081 ​    -4.008593 ​    -0.000092 +   ​6 ​    -4.192725 ​    -3.947918 ​    -0.000885 
-   ​6 ​    -3.047805 ​    -3.090020 ​     0.004490 +   ​6 ​    -3.105518 ​    -3.068150 ​     0.003445 
-   ​6 ​    -3.275844 ​    -1.647830 ​     0.001899 +   ​6 ​    -3.324254 ​    -1.686900 ​     0.002294 
-   ​6 ​    -4.639523 ​    -1.125588 ​     0.002371 +   ​6 ​    -4.629983 ​    -1.185844 ​     0.001786 
-   ​6 ​    -5.775305 ​    -2.043508 ​     ​0.000193 +   ​6 ​    -5.717209 ​    -2.065606 ​    -0.001295 
-   ​6 ​    -5.546619 ​    -3.485699 ​    -0.007522 +   ​6 ​    -5.498437 ​    -3.446870 ​    -0.005502 
-   ​1 ​    -6.432266 ​    -4.204789 ​    -0.015592 +   ​1 ​    -6.367512 ​    -4.151865 ​    -0.010025 
-   ​1 ​    -4.005535 ​    -5.135519 ​    -0.000976 +   ​1 ​    -4.018424 ​    -5.053386 ​    -0.000752 
-   ​1 ​    -1.983459 ​    -3.500264 ​     0.005183 +   ​1 ​    -2.061162 ​    -3.470265 ​     0.006507 
-   ​1 ​    -2.389446 ​    -0.929457 ​    -0.002861 +   ​1 ​    -2.455303 ​    -0.981710 ​     ​0.003944 
-   ​1 ​    -4.816925 ​     0.001517 ​    -0.000293 +   ​1 ​    -4.804199 ​    -0.080387 ​     0.004380 
-   ​1 ​    -6.839935 ​    -1.633156 ​    -0.001403 +   ​1 ​    -6.761568 ​    -1.663453 ​    -0.002176
- +
  
  
 ===== input file ===== ===== input file =====
  
-The **//fireball.in//** input file provides control over what sort of calculation will be done. If the file is not presented, fireball run default task with predefined parameters. Complete list of all choices can be found here. +The **''​fireball.in''​** input file provides control over what sort of calculation will be done. If the file is not presented, fireball run default task with predefined parameters. Complete list of all choices can be found here. 
-In our particular case, **//fireball.in//** file looks like:+In our particular case, **''​fireball.in''​** file looks like:
  
  
Line 37: Line 35:
   iquench = -1   iquench = -1
   icluster = 1   icluster = 1
 +  iqout = 3
   dt = 0.5   dt = 0.5
   &END   &END
Line 63: Line 62:
    ln -s $CURRENT_DIR_Fdata Fdata    ln -s $CURRENT_DIR_Fdata Fdata
  
 +or we add the path in fireball.in file:
 +
 +
 +  &OPTION
 +  basisfile = initial.bas
 +  nstepf = 5000
 +  iquench = -1
 +  icluster = 1
 +  iqout = 3
 +  dt = 0.5
 +  fdataLocation = '​$CURRENT_DIR_Fdata'​
 +  &END
 +  &OUTPUT
 +  iwrtxyz = 1
 +  &END
  
 ===== run optimization process ===== ===== run optimization process =====
Line 87: Line 101:
  
 You'll obtain on your screen comprehensive information how close optimization criteria are to used convergence tolerance:​\\ You'll obtain on your screen comprehensive information how close optimization criteria are to used convergence tolerance:​\\
 + 
  
-   ++++ iter =       31 Etot=     -83.90490326 ​Fi_max= ​      0.049773 +   .... 
-    +++ Etot  RES =      0.00044855 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  +     
-    +++ Fmax  RES =      0.04977333 ​ TOL =       ​0.05000000 ​  ​CONVERGED  +   ++++ iter =       46 Etot=     -83.90303173 ​Fi_max= ​      0.074447 
-   ++++ iter =       32 Etot=     -83.90475702 ​Fi_max= ​      0.037080 +    +++ Etot  RES =      0.00189182 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
-    +++ Etot  RES =      0.00175489 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  +    +++ Fmax  RES =      0.07444720 ​ TOL =       ​0.05000000 ​  NOT CONVERGED  
-    +++ Fmax  RES =      0.03707963 ​ TOL =       ​0.05000000 ​  ​CONVERGED  +   ++++ iter =       47 Etot=     ​-83.90304323 Fi_max= ​      ​0.071943 
-   ++++ iter =       33 Etot=     -83.90472022 ​Fi_max= ​      0.025251 +    +++ Etot  RES =      0.00013796 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
-    +++ Etot  RES =      0.00044161 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  +    +++ Fmax  RES =      0.07194256 ​ TOL =       ​0.05000000 ​  NOT CONVERGED  
-    +++ Fmax  RES =      0.02525064 ​ TOL =       ​0.05000000 ​  ​CONVERGED  +   ++++ iter =       48 Etot=     ​-83.90307246 Fi_max= ​      ​0.065520 
-   ++++ iter =       34 Etot=     -83.90468896 ​Fi_max= ​      0.025764 +    +++ Etot  RES =      0.00035078 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
-    +++ Etot  RES =      0.00037510 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  +    +++ Fmax  RES =      0.06552009 ​ TOL =       ​0.05000000 ​  NOT CONVERGED  
-    +++ Fmax  RES =      0.02576449 ​ TOL =       ​0.05000000 ​  ​CONVERGED  +   ++++ iter =       49 Etot=     ​-83.90322186 Fi_max= ​      ​0.053999 
-   ++++ iter =       35 Etot=     -83.90457769 ​Fi_max= ​      0.031889 +    +++ Etot  RES =      0.00179281 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
-    +++ Etot  RES =      0.00133533 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  +    +++ Fmax  RES =      0.05399895 ​ TOL =       ​0.05000000 ​  ​NOT ​CONVERGED  
-    +++ Fmax  RES =      0.03188856 ​ TOL =       ​0.05000000 ​  ​CONVERGED  +   ++++ iter =       50 Etot=     -83.90327990 ​Fi_max= ​      0.040755 
-   ++++ iter =       36 Etot=     -83.90458419 ​Fi_max= ​      0.030593 +    +++ Etot  RES =      0.00069654 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
-    +++ Etot  RES =      0.00007808 ​ TOL =       ​0.00010000 ​  ​CONVERGED  +    +++ Fmax  RES =      0.04075507 ​ TOL =       ​0.05000000 ​  ​CONVERGED  
-    +++ Fmax  RES =      0.03059333 ​ TOL =       ​0.05000000 ​  ​CONVERGED ​+   ++++ iter =       51 Etot=     -83.90347863 ​Fi_max= ​      0.024827 
 +    +++ Etot  RES =      0.00238468 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
 +    +++ Fmax  RES =      0.02482667 ​ TOL =       ​0.05000000 ​  ​CONVERGED  
 +   ++++ iter =       52 Etot=     -83.90359903 ​Fi_max= ​      0.011633 
 +    +++ Etot  RES =      0.00144488 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
 +    +++ Fmax  RES =      0.01163264 ​ TOL =       ​0.05000000 ​  ​CONVERGED  
 +   ++++ iter =       53 Etot=     -83.90365698 ​Fi_max= ​      0.022778 
 +    +++ Etot  RES =      0.00069536 ​ TOL =       ​0.00010000 ​  NOT CONVERGED  
 +    +++ Fmax  RES =      0.02277786 ​ TOL =       ​0.05000000 ​  ​CONVERGED  
 +   ++++ iter =       54 Etot=     -83.90365157 ​Fi_max= ​      0.021744 
 +    +++ Etot  RES =      0.00006491 ​ TOL =       ​0.00010000 ​  ​CONVERGED  
 +    +++ Fmax  RES =      0.02174432 ​ TOL =       ​0.05000000 ​  ​CONVERGED ​
     +++++  Quenching ​ process converged ​ +++++      +++++  Quenching ​ process converged ​ +++++ 
 +
 +
 +History of the total energy during the optimization process can be easily plotted using [[http://​www.gnuplot.info/​|Gnuplot]] program as follows:
 +
 +  grep ETOT so_sp.out | cut -b22- > etot.dat
 +  gnuplot
 +  gnuplot> set xlabel "time step"
 +  gnuplot> set xlabel "Etot [eV]"
 +  gnuplot> set format y "​%8.4f"​
 +  gnuplot> plot "​etot.dat"​ with linespoints
 +
 +optionally, we save the output into png figure format doing
 +
 +  gnuplot> set term png 
 +  gnuplot> set output "​etot.png"​
 +
 +
 +{{:​benzen:​etot_benzen.png?​700|}}
 +   
 +
 =====  final optimized structure & charge analysis ===== =====  final optimized structure & charge analysis =====
  
 Current optimized structure is placed in **''​answer.bas''​** file and it can be directly used as input file for a next run. Current optimized structure is placed in **''​answer.bas''​** file and it can be directly used as input file for a next run.
  
 +          12
 +   ​6 ​    ​-4.183507 ​    ​-4.005641 ​    ​-0.001142
 +   ​6 ​    ​-3.050800 ​    ​-3.089167 ​     0.003179
 +   ​6 ​    ​-3.278833 ​    ​-1.650218 ​     0.003065
 +   ​6 ​    ​-4.639215 ​    ​-1.128095 ​     0.001770
 +   ​6 ​    ​-5.771898 ​    ​-2.044592 ​    ​-0.001875
 +   ​6 ​    ​-5.543886 ​    ​-3.483549 ​    ​-0.004966
 +   ​1 ​    ​-6.427498 ​    ​-4.200469 ​    ​-0.008348
 +   ​1 ​    ​-4.006604 ​    ​-5.129725 ​    ​-0.002273
 +   ​1 ​    ​-1.988933 ​    ​-3.498117 ​     0.005219
 +   ​1 ​    ​-2.395194 ​    ​-0.933283 ​     0.005850
 +   ​1 ​    ​-4.815981 ​    ​-0.004012 ​     0.002952
 +   ​1 ​    ​-6.833808 ​    ​-1.635777 ​    ​-0.003761
 +
 +Each atomic configuration achieved during the optimization procedure is recorded into the **''​answer.xyz''​** file. The history can be visualized by e.g. [[http://​jmol.sourceforge.net/​|Jmol]] program. ​
 +
 +{{:​benzen:​benzen_opt.png?​700|benzene}}
  
-         12 
-   ​6 ​    ​-4.183421 ​    ​-4.006572 ​    ​-0.000382 
-   ​6 ​    ​-3.049741 ​    ​-3.089443 ​     0.004202 
-   ​6 ​    ​-3.277656 ​    ​-1.649257 ​     0.001957 
-   ​6 ​    ​-4.639330 ​    ​-1.127297 ​     0.002109 
-   ​6 ​    ​-5.773138 ​    ​-2.044253 ​    ​-0.000364 
-   ​6 ​    ​-5.544980 ​    ​-3.484420 ​    ​-0.006813 
-   ​1 ​    ​-6.429495 ​    ​-4.202168 ​    ​-0.013594 
-   ​1 ​    ​-4.005512 ​    ​-5.131722 ​    ​-0.001362 
-   ​1 ​    ​-1.986751 ​    ​-3.498702 ​     0.006074 
-   ​1 ​    ​-2.392519 ​    ​-0.932155 ​    ​-0.000013 
-   ​1 ​    ​-4.815967 ​    ​-0.001880 ​     0.002503 
-   ​1 ​    ​-6.836271 ​    ​-1.634989 ​    ​-0.002052 
  
 In addition, there is a file **''​CHARGES''​** which contains projected Lowdin charges onto individual shells. In addition, there is a file **''​CHARGES''​** which contains projected Lowdin charges onto individual shells.
  
-     ​12  ​c6h6.bas                                   1 +     ​12  ​initial0.bas                               3 
-      0.99538890 ​   3.10407153 +      0.99704005 ​   3.10168254 
-      0.99534701 ​   3.10417360 +      0.99692942 ​   3.10180981 
-      0.99539011 ​   3.10410887 +      0.99697651 ​   3.10173483 
-      0.99538154 ​   3.10398977 +      0.99702943 ​   3.10168959 
-      0.99535394 ​   3.10408536 +      0.99693536 ​   3.10181070 
-      0.99536810 ​   3.10408846 +      0.99696818 ​   3.10179334 
-      0.88948727 ​   0.01101221 +      0.89726521 ​   0.00398424 
-      0.88959544 ​   0.01102157 +      0.89733723 ​   0.00398285 
-      0.88948600 ​   0.01101498 +      0.89723911 ​   0.00398370 
-      0.88949241 ​   0.01100765 +      0.89728961 ​   0.00398349 
-      0.88961717 ​   0.01102288 +      0.89731948 ​   0.00398339 
-      0.88948823 ​   0.01100698+      0.89724802 ​   0.00398392 
    
benzen_structure_optimization.1259066686.txt.gz · Last modified: 2011/02/18 13:14 (external edit)