User Tools

Site Tools


howto:geometry_optimisation

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
geometry_optimisation [2014/02/03 11:24] – remove spaces in code text oschuetthowto:geometry_optimisation [2024/01/15 09:23] (current) oschuett
Line 1: Line 1:
-====== Introduction ====== +This page has been moved to: https://manual.cp2k.org/trunk/methods/optimization/geometry.html
- +
-This tutorial is designed to illustrate how to relax the structure +
-of a system (without changing the cell dimensions) using ''CP2K''. We +
-use the relaxation of a water (H\(_2\)O) molecule as an example. +
- +
-The example files are contained in {{:geometry_optimisation.tgz|geometry_optimisation.tgz}} that comes with this tutorial. The calculation was carried out with ''CP2K'' version +
-2.4. +
- +
-It should be noted that before running the geometry optimisation, +
-the reader should have already know how to perform a simple +
-Kohn-Sham Density Functional Theory energy and force calculation +
-(this is covered in tutorial [[static_calculation|Calculating Energy and Forces using +
-QUICKSTEP]]), and they should also know how how to find a sufficient +
-grid cutoff for the static energy calculations (this is covered in +
-tutorial [[converging_cutoff|Converging the CUTOFF and REL_CUTOFF]]). +
- +
-====== Input Files ====== +
- +
-The input file for a geometry calculation is shown below: +
- +
-<code cp2k> +
-&GLOBAL +
-  PROJECT H2O +
-  RUN_TYPE GEO_OPT +
-  PRINT_LEVEL LOW +
-&END GLOBAL +
-&FORCE_EVAL +
-  METHOD QS +
-  &SUBSYS +
-    &CELL +
-      ABC 12.4138 12.4138 12.4138 +
-    &END CELL +
-    &COORD +
-      O      12.235322       1.376642      10.869880 +
-      H      12.415139       2.233125      11.257611 +
-      H      11.922476       1.573799       9.986994 +
-    &END COORD +
-    &KIND H +
-      BASIS_SET DZVP-GTH-PADE +
-      POTENTIAL GTH-PADE-q1 +
-    &END KIND +
-    &KIND O +
-      BASIS_SET DZVP-GTH-PADE +
-      POTENTIAL GTH-PADE-q6 +
-    &END KIND +
-  &END SUBSYS +
-  &DFT +
-    BASIS_SET_FILE_NAME ./BASIS_SET +
-    POTENTIAL_FILE_NAME ./POTENTIAL +
-    &QS +
-      EPS_DEFAULT 1.0E-7 +
-    &END QS +
-    &MGRID +
-      CUTOFF 200 +
-      NGRIDS 4 +
-      REL_CUTOFF 30 +
-    &END MGRID +
-    &SCF +
-      SCF_GUESS ATOMIC +
-      EPS_SCF 1.0E-05 +
-      MAX_SCF 200 +
-      &DIAGONALIZATION T +
-        ALGORITHM STANDARD +
-      &END DIAGONALIZATION +
-      &MIXING T +
-        ALPHA 0.5 +
-        METHOD PULAY_MIXING +
-        NPULAY 5 +
-      &END MIXING +
-      &PRINT +
-        &RESTART OFF +
-        &END RESTART +
-      &END PRINT +
-    &END SCF +
-    &XC +
-      &XC_FUNCTIONAL PADE +
-      &END XC_FUNCTIONAL +
-    &END XC +
-  &END DFT +
-&END FORCE_EVAL +
-&MOTION +
-  &GEO_OPT +
-    TYPE MINIMIZATION +
-    MAX_DR    1.0E-03 +
-    MAX_FORCE 1.0E-03 +
-    RMS_DR    1.0E-03 +
-    RMS_FORCE 1.0E-03 +
-    MAX_ITER 200 +
-    OPTIMIZER CG +
-    &CG +
-      MAX_STEEP_STEPS +
-      RESTART_LIMIT 9.0E-01 +
-    &END CG +
-  &END GEO_OPT +
-  &CONSTRAINT +
-    &FIXED_ATOMS +
-      COMPONENTS_TO_FIX XYZ +
-      LIST 1 +
-    &END FIXED_ATOMS +
-  &END CONSTRAINT +
-&END MOTION +
- </code> +
- +
-The reader should already be familiar with the [[http://manual.cp2k.org/trunk/CP2K_INPUT/GLOBAL.html|''GLOBAL'']] and +
-[[http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL.html|''FORCE_EVAL'']] sections. For geometry optimisation calculations, we +
-must set [[http://manual.cp2k.org/trunk/CP2K_INPUT/GLOBAL.html#desc_RUN_TYPE|''RUN_TYPE'']] in ''GLOBAL'' section to ''GEO_OPT'': +
- +
-<code cp2k> +
-RUN_TYPE GEO_OPT +
- </code> +
- +
-In this example, we note that we have chosen diagonalisation of the +
-Kohn-Sham Hamiltonian for the evaluation of wavefunctions, and used +
-Pulay mixing for the self-consistency loops. 5 histories are used +
-for Pulay mixing. +
- +
-The important section for geometry optimisation settings are +
-contained in subsection [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html|''GEO_OPT'']] of [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION.html|''MOTION'']] section. Note that +
-''GEO_OPT'' subsection only applies to the calculation where the cell +
-dimensions do not change. Calculations which allows the relaxation +
-of the cell are covered in a separate tutorial. +
- +
-<code cp2k> +
-&GEO_OPT +
-  TYPE MINIMIZATION +
-  MAX_DR    1.0E-03 +
-  MAX_FORCE 1.0E-03 +
-  RMS_DR    1.0E-03 +
-  RMS_FORCE 1.0E-03 +
-  MAX_ITER 200 +
-  OPTIMIZER CG +
-  &CG +
-    MAX_STEEP_STEPS +
-    RESTART_LIMIT 9.0E-01 +
-  &END CG +
-&END GEO_OPT +
- </code> +
- +
-The [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html#desc_TYPE|''TYPE'']] keyword sets whether the geometry optimisation is for +
-finding the local minima (''MINIMIZATION'') or for finding the saddle +
-point transition state (''TRANSITION_STATE''). The keywords [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html#desc_MAX_DR|''MAX_DR'']], +
-[[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html#desc_MAX_FORCE|''MAX_FORCE'']], [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html#desc_RMS_DR|''RMS_DR'']] and [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html#desc_RMS_FORCE|''RMS_FORCE'']] set the criteria of whether an +
-optimised geometry is reached. ''MAX_DR'' and ''RMS_DR'' (in Bohr) are +
-the tolerance on the maximum and root-mean-square of atomic +
-displacements from the previous geometry optimisation iteration; +
-''MAX_FORCE'' and ''RMS_FORCE'' (in Bohr/Hartree) are the tolerance on +
-the maximum and root-mean-square of atomic forces. The geometry is +
-considered to be optimised //only when all four criteria are +
-satisfied//. The keyword [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html#desc_MAX_ITER|''MAX_ITER'']] sets the maximum number of +
-geometry optimisation iterations. [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT.html#desc_OPTIMIZER|''OPTIMIZER'']] sets the algorithm for +
-finding the stationary points; in this example we have chosen the +
-conjugate gradients (''CG'') method. +
- +
-The [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/GEO_OPT/CG.html|''CG'']] subsection sets options for the conjugate gradients +
-algorithm. In this case, we have configured it so that no steepest +
-descent steps are to be performed before the start of the conjugate +
-gradients algorithm; and the CG algorithm should be reset (and one +
-steepest descent step is performed) if the cosine of the angles +
-between two consecutive searching directions is less than 0.9. +
- +
-<code cp2k> +
-&CONSTRAINT +
-  &FIXED_ATOMS +
-    COMPONENTS_TO_FIX XYZ +
-    LIST 1 +
-  &END FIXED_ATOMS +
-&END CONSTRAINT +
- </code> +
- +
-We can add constraints to atomic movements by using the [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/CONSTRAINT.html|''CONSTRAINT'']] +
-subsection in ''MOTION'' section. In this example, we choose to fix +
-particular atoms using the [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/CONSTRAINT/FIXED_ATOMS.html|''FIXED_ATOMS'']] subsection. The keyword +
-[[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/CONSTRAINT/FIXED_ATOMS.html#desc_COMPONENTS_TO_FIX|''COMPONENTS_TO_FIX'']] sets which of the ''X'' ''Y'' ''Z'' directions are to +
-be fixed, and in this case, the atoms will be completely pinned in +
-all directions (''XYZ''). The list of atoms to be constrained are +
-given by the [[http://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/CONSTRAINT/FIXED_ATOMS.html#desc_LIST|''LIST'']] keyword: +
- +
-<code cp2k> +
-LIST 1 2 3 ... N +
- </code> +
- +
-The numbers to the right of ''LIST'' are the list of atomic indices, +
-and correspond to the order (from top to bottom) of the atoms given +
-in the [[http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/SUBSYS/COORD.html|''COORD'']] subsection of [[http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/SUBSYS.html|''SUBSYS'']] (of [[http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL.html|''FORCE_EVAL'']]). In our +
-example, we have fixed the oxygen atom during geometry optimisation, +
-so that the water molecule will not move around while its structure +
-is being relaxed. +
-====== Results ====== +
- +
-The example is run using the serial version of the ''CP2K'' binaries: +
- +
-<code> +
-cp2k.sopt -o H2O.out H2O.inp & +
- </code> +
- +
-After the job has finished, you should obtain the following files: +
- +
-  * ''H2O.out'' +
-  * ''H2O-pos-1.xyz'' +
-  * ''H2O-1.restart'' +
-  * ''H2O-1.restart.bak-1'' +
-  * ''H2O-1.restart.bak-2'' +
-  * ''H2O-1.restart.bak-3'' +
- +
-Again, the file ''H2O.out'' contains the main output of the +
-job. ''H2O-pos-1.xyz'' contains the trace of atomic coordinates at +
-each geometry optimisation step in the ''xyz'' file format. The last +
-set of atomic coordinates corresponds to the relaxed +
-structure. ''H2O-1.restart'' is a ''CP2K'' input file, similar to +
-''H2O.inp'', which contains the latest atomic coordinates of the water +
-molecule. Should the job die for some reason, you can continue the +
-job using the latest atomic coordinates by using command: +
- +
-<code> +
-cp2k.sopt -o H2O.out H2O-1.restart & +
- </code> +
- +
-You can of course also use ''H2O-1.restart'' as a template for writing +
-an input for further calculations using the relaxed atomic +
-structures. +
- +
-The files ''H2O-1.restart.bak-*'' are backup restart files with +
-atomic coordinates obtained from the previous 1, 2 and 3 geometry +
-optimisation iterations. ''H2O-1.restart.bak-1'' should be the same as +
-''H2O-1.restart''+
- +
-In the main output file ''H2O.out'', at the end of each geometry +
-optimisation step, we will have the following information: +
- +
-<code> +
---------  Informations at step =     1 ------------ +
- Optimization Method        =                   SD +
- Total Energy                     -17.1643447508 +
- Real energy change                -0.0006776683 +
- Decrease in energy                          YES +
- Used time                  =               90.837 +
- +
- Convergence check : +
- Max. step size                     0.0336570168 +
- Conv. limit for step size  =         0.0010000000 +
- Convergence in step size                     NO +
- RMS step size              =         0.0168136889 +
- Conv. limit for RMS step           0.0010000000 +
- Convergence in RMS step    =                   NO +
- Max. gradient              =         0.0182785685 +
- Conv. limit for gradients  =         0.0010000000 +
- Conv. for gradients        =                   NO +
- RMS gradient                       0.0091312361 +
- Conv. limit for RMS grad.  =         0.0010000000 +
- Conv. for gradients        =                   NO +
---------------------------------------------------- +
- </code> +
- +
-The above output segment states that at the end of geometry +
-optimisation step 1, the total energy of the system is +
--17.1643447508 (Ha) and none of the criteria for optimised geometry +
-has been reached. The iteration therefore will carry on, until all +
-criteria becomes "''YES''"+
- +
-At the end of geometry optimisation, one should obtain something +
-like: +
- +
-<code> +
---------  Informations at step =    11 ------------ +
- Optimization Method        =                   SD +
- Total Energy                     -17.1646204766 +
- Real energy change                -0.0000000529 +
- Decrease in energy                          YES +
- Used time                  =               49.893 +
- +
- Convergence check : +
- Max. step size                     0.0003393150 +
- Conv. limit for step size  =         0.0010000000 +
- Convergence in step size                    YES +
- RMS step size              =         0.0001493298 +
- Conv. limit for RMS step           0.0010000000 +
- Convergence in RMS step    =                  YES +
- Max. gradient              =         0.0001787448 +
- Conv. limit for gradients  =         0.0010000000 +
- Conv. in gradients                          YES +
- RMS gradient                       0.0000786642 +
- Conv. limit for RMS grad.  =         0.0010000000 +
- Conv. in RMS gradients                      YES +
---------------------------------------------------- +
- </code> +
- +
-which clearly shows all criteria have been satisfied. +
- +
-The final Kohn-Sham energies can be obtained at the end of the +
-output: +
- +
-<code> +
-******************************************************************************* +
-***                    GEOMETRY OPTIMIZATION COMPLETED                      *** +
-******************************************************************************* +
- +
-                   Reevaluating energy at the minimum +
- +
-Number of electrons:                                                          8 +
-Number of occupied orbitals:                                                  4 +
-Number of molecular orbitals:                                                 4 +
- +
-Number of orbital functions:                                                 23 +
-Number of independent orbital functions:                                     23 +
- +
- Parameters for the always stable predictor-corrector (ASPC) method: +
- +
- ASPC order: 3 +
- +
- B(1) =   3.000000 +
- B(2) =  -3.428571 +
- B(3) =   1.928571 +
- B(4) =  -0.571429 +
- B(5) =   0.071429 +
- +
-Extrapolation method: ASPC +
- +
- +
-SCF WAVEFUNCTION OPTIMIZATION +
- +
- Step     Update method      Time    Convergence         Total energy    Change +
- ------------------------------------------------------------------------------ +
-    1 Pulay/Diag. 0.50E+00    0.5     0.00005615       -17.1646204762 -1.72E+01 +
-    2 Pulay/Diag. 0.50E+00    1.0     0.00000563       -17.1646347711 -1.43E-05 +
- +
- *** SCF run converged in     2 steps *** +
- +
- +
- Electronic density on regular grids:         -8.0000016293       -0.0000016293 +
- Core density on regular grids:                7.9999992554       -0.0000007446 +
- Total charge density on r-space grids:       -0.0000023739 +
- Total charge density g-space grids:          -0.0000023739 +
- +
- Overlap energy of the core charge distribution:               0.00000004555422 +
- Self energy of the core charge distribution:                -43.83289054591484 +
- Core Hamiltonian energy:                                     12.82175605770555 +
- Hartree energy:                                              17.97395116120845 +
- Exchange-correlation energy:                                 -4.12745148966141 +
- +
- Total energy:                                               -17.16463477110803 +
- +
-ENERGY| Total FORCE_EVAL ( QS ) energy (a.u.):              -17.164634771108034 +
- </code> +
howto/geometry_optimisation.1391426698.txt.gz · Last modified: 2020/08/21 10:15 (external edit)