Setup and QC Software#
This section will give a short introduction and an overview of the general Linux setup, as well as Quantum Chemistry programs that will be used in this practical course.
Creating your working environment#
Program Packages#
The following programs are going to be used:
program |
executable |
|---|---|
PSI4 |
|
TURBOMOLE 7.6 |
|
COSMOtherm |
|
CRYSTAL14 |
|
VASP5.4 |
used via crystal interface |
DFTB3 |
used via crystal interface |
xTB (WP12 version) |
|
gCP |
|
DFTD3 |
|
For the usage of these programs, you can take a look at the respective manuals or (in most cases) use the -h option.
Hint
You can also find some additional information about TURBOMOLE in our QC II script.
General Setup#
The file .bashrc is a configuration file loaded every time a terminal is opened.
The .bashrc is designed to generally set the PATH variable or add scripts that can facilitate
working in the terminal. You can find further information in the Ubuntu wiki.
To be able to use a program, the system needs to know where to find it.
You can achieve this by modifying the PATH environment variable via the .bashrc in your /home/$USER/ directory.
The .bashrc covers the main setup of the PSI4, VASP, CRYSTAL, and COSMO-RS software as well as the configuration of thread
usage and memory limits so these programs run with a fixed number of CPU threads and enough stack space to avoid crashes.
Additonally, for the usage of PSI4, the respective conda environment has to be activated.
The .bashrc should look like the following and can also be found in the config directory in the WP12
GitHub Repository
(if it does not exist, create it):
1#PSI4
2. /software/psi4conda/etc/profile.d/conda.sh
3conda activate
4PSIS=/tmp1/$USER/.psi4_tmp
5if [ ! -e $PSIS ]; then
6 mkdir $PSIS
7fi
8export PSI_SCRATCH=$PSIS
9
10# make modules available
11. ${BASH_ENV} > /dev/null
12
13# VASP5.4
14export PATH=/home/abt-grimme/AK-bin/vasp/bin:$PATH
15
16# CRYSTAL14
17export PATH=/home/abt-grimme/crystal/14:$PATH
18
19# COSMORS
20export PATH=/opt/COSMOlogic/COSMOthermX19/COSMOtherm/BIN-LINUX/:$PATH
21
22# Set thread counts and use a larger stack
23export OMP_NUM_THREADS=4
24export MKL_NUM_THREADS=4
25ulimit -s unlimited
26export OMP_STACKSIZE=1000m
Important
Changes only apply to shells opened after changing your .bashrc.
If you want to apply the changes to your current shell, you need to run:
source ~/.bashrc
COSMOtherm#
The cosmosolv script needs the .cosmothermrc file in which parameters for the
solvents are specified. The .cosmothermrc you will need is as follows:
1ctd = BP_TZVP_19.ctd cdir = "/opt/COSMOlogic/COSMOthermX19/COSMOtherm/CTDATA-FILES" ldir = "/opt/COSMOlogic/COSMOthermX19/COSMOtherm/CTDATA-FILES"
2EFILE VPFILE
3f = toluene.cosmo fdir=/opt/COSMOlogic/COSMOthermX19/COSMOtherm/DATABASE-COSMO/BP-TZVP-COSMO autoc
4f = out.ccf
5henry xh={ 1.0 0.0 } tc=-50.0 Gsolv
6henry xh={ 1.0 0.0 } tc=-10.0 Gsolv
7henry xh={ 1.0 0.0 } tc=0.0 Gsolv
8henry xh={ 1.0 0.0 } tc=10.0 Gsolv
9henry xh={ 1.0 0.0 } tc=20.0 Gsolv
10henry xh={ 1.0 0.0 } tc=25.0 Gsolv
11henry xh={ 1.0 0.0 } tc=30.0 Gsolv
12henry xh={ 1.0 0.0 } tc=40.0 Gsolv
13henry xh={ 1.0 0.0 } tc=50.0 Gsolv
14henry xh={ 1.0 0.0 } tc=60.0 Gsolv
Create this file in your /home/$USER/ directory.
Hint
This is a general input file for the COSMOtherm program. The cosmosolv copies this file as an input for your calculation. If you are interested, you can find further information about COSMOtherm input files in the COSMOtherm manual.
GFN-xTB, gCP, TURBOMOLE, and DFTD3#
GFN-xTB, gCP, TURBOMOLE, and DFTD3 can be made available via the following commands.
module load xtb/prak
module load gcp
module load turbomole
module load dftd3
Please make sure to have these lines added to your .bashrc :
export OMP_NUM_THREADS=4
export MKL_NUM_THREADS=4
ulimit -s unlimited
export OMP_STACKSIZE=1000m
As mentioned above, these lines make the programs use a set number of CPU threads and give them plenty of memory so they run smoothly without running out of stack space.
Specific usage instructions#
GFN-xTB#
GFN-xTB can be called by:
xtb_prak <coord_input> [options]
where <coord_input> is a valid file of TM or Xmol format.
In exercise 2.3 you need to first optimize a structure and then calculate the second derivatives to get the vibrational contributions in the rigid-rotor-harmonic-oscillator model.
- You can do that, by using the following options:
--opt: structure optimization at the GFN2-xTB level,--hess: compute Hessian at the GFN2-xTB level (second derivatives) or--ohess: do both with one command.
Please note that after the optimization the input structure, e.g., the coord file is not
overwritten and will be on the file xtbopt.coord. You will have to use this file for the
calculation of the Hessian. If you encounter significant imaginary frequencies, try to optimize the created xtbhess file e.g. xtbhess.coord and use the optimized structure for another Hessian calculation.
Calculating the k-Grid#
To set the k points the SHRINK block has to be modified in the input file. The k points
are calculated differently depending on whether CRYSTAL or VASP is used.
where sj are the shrinking factors in reciprocal space. Further information is given in the lecture (solid state part).
You can calculate the shrinking parameter based on the k-point density ρk [Bohr-1]
and the unit cell vectors a ⃗1 , a ⃗2 and a ⃗3 (e.g. taken from the fort.34 file):
where si are the corresponding dimensionless SHRINK parameter, rounded to the next
non-zero integer. Note that the a ⃗i in fort.34 are in Ångström.
When converting a .cif file with cif2crystal you will receive the k-mesh density and the
SHRINK parameters corrsponding to the structure automatically.
Please note that for cif2crystal to work as intended, it expects a working python interpreter which we provide for you in a suitable conda environment that you can activate as follows.
module load conda
conda activate py27
You should now see a (py27) appear in the lower left corner as part of your shell prompt.