< Second Group Next lesson >

Content of this lesson

Material

This lesson has been created for current stable version. Earlier versions are fully capable of running this tutorial but input files may have to be changed according to possible earlier formats.

Energy landscape exploration using BART

Introduction:

This document explains how to use BART (ART with BigDFT). This is not a complete instruction manual but it should help anybody interested in start to run an ART exploration.

In this tutorial we assume that the user is already familiar with basic BigDFT inputs. If this is not the case, the reader is advised to follow the basic tutorial.

The central idea to ARTn is the activation, following the eigendirection corresponding to a negative eigenvalue, of a configuration from a local minimum to a nearby saddle point. Many have proposed similar algorithms, but our emphasis was in developing an efficient algorithm that could be applied to systems with many thousands of degrees of freedom. A detailed history of the methodology can found here.

The basic algorithm can be divided into three steps:

  • Leaving the harmonic well
  • Converging to the saddle point
  • Relaxing to a new minimum
  • Ethane

    For the following tutorial, ethane molecule will be used. We will try to get its rotational barrier about the carbon-carbon bond, which is around 0.12 eV.

    Structure Overview

    Input files

    Compulsory

    Optional

    Output files

    Everything is given in SI units (angstrom, electronvolt)

    Sending a first simulation

    ART is based in a random exploration of the energy landscape of the system around a given minimum. However, for the sake of having an idea of a successful event , we have chosen an initial direction that assures a convergence to the saddle point in a short time. Let's do this first. This simulation takes in average 40 minutes. Do the following modification in the bart.sh input file:

    
    EVENT_TYPE  GUESS_DIRECTION
    
    
    and add the C2H6/OPTIONAL/initdir.xyz file to your work directory.

    Fine tune of the parameters

    The success of an ART exploration relies on the fine tune of the parameters according to the material studied. In principle, you have to figure out what is best for you by trial and error. Let's take a look of the most important.

    WARNING The ART method is based in the estimation of the curvature of the energy potential. Therefore, the user should choose a basis set accurate enough.

    Exercise 1: Setting the step of the numerical derivative of forces in lanczos : set in bart.sh these parameters:

    Setup_Initial              .True.
    Number_Lanczos_Vectors_A        16  
    delta_disp_Lanczos            0.01
    Lanczos_of_minimum         .True.
    
    For a given number of lanczos vectors, change delta_disp_Lanczos parameter, let's say between 0.0005 and 0.05. The goal is to determine a correct parameter having in mind the precision and limitations of our methods. Normal values are around 0.01. You will see something like this :
      RELAXATION
      - Configuration stored in file :           min1000
      Starting Lanczos
         Em= -4.0553758474E+02   ( gnrm =  1.0E-05  )
       Iter     Ep-Em (eV)   Eigenvalue  a1
         1    -8.63E-07        0.101958 0.0000
         2    -8.95E-07        0.001721 0.9841
         3    -8.98E-07        0.000085 1.0000
      Done Lanczos
    .
    .
    .
    
       4  K=   4     2.3984  3 3      6.7387     -6.0054      3.0569     -0.2533      1.003   5    55   0.78
      Starting Lanczos
         Em= -4.0210289625E+02   ( gnrm =  1.0E-05  )
       Iter     Ep-Em (eV)   Eigenvalue  a1
         1     4.58E-03       -4.712874 0.0000
         2     4.57E-03       -5.115414 0.9993
         3     4.57E-03       -5.098967 1.0000
      Done Lanczos
       5  K=   5     3.4347  3 5      6.1357     -5.7408      2.1655     -5.0990      1.210   7   109   0.78
    
    
    Three iterations of the lanczos method are done for the minimum and for a perturbated configuration. Positive values are expected for your minimum.

    Exercise 2: Setting the number of lanczos vectors : set in bart.sh these parameters:

    Setup_Initial              .True.
    Number_Lanczos_Vectors_A        16  
    delta_disp_Lanczos            0.01
    Lanczos_of_minimum         .True.
    
    For a given delta_disp_Lanczos, change the Number_Lanczos_Vectors_A parameter, let's say between 13 and 19. Usually values are around 16.

    Exercise 3: Setting Eigenvalue_Threshold : set in bart.sh these parameters:

    Setup_Initial              .True.
    setenv Min_Number_KSteps                3   # Min. number of ksteps before calling lanczos 
    setenv Eigenvalue_Threshold         -0.05   # Eigenvalue threshold for leaving basin
    
    We need to test the threshold for having left the harmonic well. If this is too small, the program never converges to a saddle point, if it is so large, the program will follow the initial random direction too much, reducing the odds to find low energy barriers.

    Exercise 4: Setting Basin_Factor : set in bart.sh these parameters:

    Basin_Factor                   2.1
    
    This parameter helps you to leaving of the harmonic well as soon as possible, but take care. Play with diffent values and,

    Exercise 5: Setting Type_of_Events : set in bart.sh these parameters:

    Type_of_Events
    Radius_Initial_Deformation     1.2  
    Central_Atom                     1  
    
    Play with the diffents options, i.e. global, local, list_local, and list.