User Tools

Site Tools


benzen_structure_optimization

This is an old revision of the document!


Here we describe how to perform structure optimization of a simple molecule using new version of Fireball. These are minimal steps required to optimize atomic structure using quenching optimization method:

atomic structure

In this particular case, we are about to optimize atomic structure of benzene molecule. An initial configuration is written in a file with an arbitrary name (e.g. initial.bas, see text bellow)

             12
 6     -4.183081     -4.008593     -0.000092
 6     -3.047805     -3.090020      0.004490
 6     -3.275844     -1.647830      0.001899
 6     -4.639523     -1.125588      0.002371
 6     -5.775305     -2.043508      0.000193
 6     -5.546619     -3.485699     -0.007522
 1     -6.432266     -4.204789     -0.015592
 1     -4.005535     -5.135519     -0.000976
 1     -1.983459     -3.500264      0.005183
 1     -2.389446     -0.929457     -0.002861
 1     -4.816925      0.001517     -0.000293
 1     -6.839935     -1.633156     -0.001403

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. In our particular case, fireball.in file looks like:

&OPTION
basisfile = initial.bas
nstepf = 5000
iquench = -1
icluster = 1
dt = 0.5
&END
&OUTPUT
iwrtxyz = 1
&END

where
keyword 'basisfile' defines name of a file with an initial atomic configuration;
keyword 'nstepf' defines the maximal number of time steps;
keyword 'iquench' sets a type of structure optimization;
keyword 'icluster' defines type of boundary conditions (here no periodicity);
keyword 'dt' is time step in femtoseconds;
keyword 'iwrtxyz' allows to save history of atomic trajectories during optimization proces into xyz-format output file ' answer.xyz'

Fdata

To initiate Fireball run, we need to create Fdata directory in working directory, which contains all electronic integrals to build up Hamiltonian for each geometry. These integrals has to be calculated in advance by create module. Once we have these data, usually we create Fdata dir via symbolic link

 ln -s $CURRENT_DIR_Fdata Fdata

run optimization process

Initiate Fireball run we need to execute binary file fireball.x. Usually we do that via shell script e.g. named run.bat:

 rm -fr CHARGES *.xv *.ac *.xyz
 $DIR_FIR/fireball.x

to run code we simply type in command line:

 ./run.bat > out &

this command run fireball on background.

output

Status of optimization process we can follow by simple command:

 grep "+++" out

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 =       32 Etot=     -83.90475702 Fi_max=       0.037080
  +++ Etot  RES =      0.00175489  TOL =       0.00010000   NOT CONVERGED 
  +++ Fmax  RES =      0.03707963  TOL =       0.05000000   CONVERGED 
 ++++ iter =       33 Etot=     -83.90472022 Fi_max=       0.025251
  +++ Etot  RES =      0.00044161  TOL =       0.00010000   NOT CONVERGED 
  +++ Fmax  RES =      0.02525064  TOL =       0.05000000   CONVERGED 
 ++++ iter =       34 Etot=     -83.90468896 Fi_max=       0.025764
  +++ Etot  RES =      0.00037510  TOL =       0.00010000   NOT CONVERGED 
  +++ Fmax  RES =      0.02576449  TOL =       0.05000000   CONVERGED 
 ++++ iter =       35 Etot=     -83.90457769 Fi_max=       0.031889
  +++ Etot  RES =      0.00133533  TOL =       0.00010000   NOT CONVERGED 
  +++ Fmax  RES =      0.03188856  TOL =       0.05000000   CONVERGED 
 ++++ iter =       36 Etot=     -83.90458419 Fi_max=       0.030593
  +++ Etot  RES =      0.00007808  TOL =       0.00010000   CONVERGED 
  +++ Fmax  RES =      0.03059333  TOL =       0.05000000   CONVERGED 
  +++++  Quenching  process converged  +++++ 

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.

       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.

   12  c6h6.bas                                   1
    0.99538890    3.10407153
    0.99534701    3.10417360
    0.99539011    3.10410887
    0.99538154    3.10398977
    0.99535394    3.10408536
    0.99536810    3.10408846
    0.88948727    0.01101221
    0.88959544    0.01102157
    0.88948600    0.01101498
    0.88949241    0.01100765
    0.88961717    0.01102288
    0.88948823    0.01100698
benzen_structure_optimization.1259066572.txt.gz · Last modified: 2011/02/18 13:14 (external edit)