Tutorial -- Molecular SCF

To perform a parallel molecular self-consistent field (SCF) calculation in ReSpect, execute the command

respect --scf --inp=my-input-file --nt=4 --scratch=/path/to/scratch/directory

from a directory containing my-input-file.inp. There are four mandatory arguments for SCF

  • --scf
    invokes the SCF procedure;

  • --inp
    specifies a name of the input file;

  • --nt
    specifies the number of physical cores required for OpenMP parallel execution;

  • --scratch
    specifies a path to the scratch directory.

To control the SCF procedure, my-input-file.inp should contain the input block scf: with some SCF-specific keywords. A comprehensive list of all SCF keywords can be found here. A simple example of my-input-file.inp is

#DFT calculation of SeH2 molecule, employing the non-relativistic
#1c Kohn-Sham Hamiltonian with PBE functional. Alternative options
#of relativistic 2c and 4c Hamiltonians are also listed as comments. 

scf:

     method: ks/pbe         #1c Kohn-Sham Hamiltonian
    #method: ks-amfX2C/pbe  #2c amfX2C Hamiltonian 
    #method: mdks/pbe       #4c Dirac-Kohn-Sham Hamiltonian

     geometry:
          Se    0.000000000   -0.000008000   -0.077624000
          H     0.000000000    1.049076000    0.961901000
          H     0.000000000   -1.048465000    0.962534000

     basis:
            H:  upc-1
            Se: ucc-pvdz

     charge:        0
     multiplicity:  1
     maxiterations: 30
     convergence:   1.0e-5

There are several important and worth-to-remember aspects associated with the input syntax, namely

  • the input is case-insensitive
    This means that the program does not distinguish between uppercase and lowercase letters.

  • the input is insensitive to the number of blank lines and/or comment lines
    All comments begin with the number sign (#), can start anywhere on a line and continue until the end of the line.

  • the input is compliant with the dictionary syntax of the YAML markup language
    This means that each input line is represented either by a single block: statement or by a simple keyword:value pair, such as

  • block1:
        keyword1: value1 
        keyword2: value2  
        ...
        block2: 
          keyword3: value3
          keyword4: value4
          ...
        block3: 
               keyword5: value5
               keyword6: value6
               ...
    

    It is essential to remember that all members of one block: are lines beginning at the same indentation level. Whitespace indentation is used to denote the block structure; however, tab characters are never allowed as indentation. The only exception to the YAML-based input syntax is the block geometry: which utilizes a simple xyz format for the molecular geometry specification.


TIPS & TRICKS

Q: Is there a way to launch SCF calculations without the need to explicitly setup the scratch path by "--scratch=/path/to/scratch/directory"?

Yes, the argument "--scratch=/path/to/scratch/directory" can be saved to the file .respectrc in your home directory. If both the file and the command line argument exist, then ReSpect takes the scratch directory setting from the command line.

Q: How to restart an SCF calculation?

ReSpect offers a rather flexible framework for restarting SCF as it allows restarting between various Hamiltonians and/or different basis sets. SCF calculations can be restarted simply by creating the symbolic link to the data file of the previous job

ln -sf my-old-job.50 my-new-job.50

and by adding an extra argument --restart to the command line when restarting new job

respect --restart --scf --inp=my-new-job --nt=4 --scratch=/path/to/scratch/directory

However, some caution is needed here as the restart process rewrites all the previous SCF data, both in the output file (my-new-job.out_scf) as well as in the checkpoint file (my-new-job.50). If needed, make a backup of these files prior to the restart.

Q: Is it possible to recover an SCF job from a scratch directory?

If the ReSpect job for any reason fails and the scratch directory is still accessible, it is possible to recover the failed calculation. After running the command

respect --recover-job=/path/to/scratch/directory

file respect_checkpoint_file.50 will be created in the current directory. Using this file, you can now restart the SCF calculation as described in the tip above.


Latest Posts


Useful Links

Our Contacts

Hylleraas Centre
Department of Chemistry
UiT The Arctic University of Norway
Tromsø, NO-9037 Norway
Email: info@respectprogram.eu