☄️
kallisto docs
  • Featurizer and Modelling Helper
  • Setup and Installation
  • Testing suite
  • Check the Examples
  • Features
    • Coordination Numbers
    • Proximity Shells
    • Partial Charges
    • Polarizabilities
    • van-der-Waals Radii
    • Sterimol
  • Modelling
    • Breadth First Sorting
    • Root Mean Square Deviation
    • Substructure Finder
    • Substructure Exchanger
  • Misc
    • Need Help
    • License
Powered by GitBook
On this page
  • Introduction
  • Molecular Polarizabilities
  • Define the Subcommand
  • Application

Was this helpful?

  1. Features

Polarizabilities

Calculate atomic dynamic polarizabilities.

PreviousPartial ChargesNextvan-der-Waals Radii

Last updated 4 years ago

Was this helpful?

Introduction

Accurate dynamic polarizabilities can be determined by time-dependent density functional theory (TD-DFT) when applying a large atomic orbital basis set. Such reference TD-DFT calculations are, however, computationally demanding. To overcome this computational bottleneck kallisto uses a set of pre-calculated dynamic polarizabilities () for each atom and maps the environmental effect (so-called many-body effect) to atomic coordination numbers. Hence the problem is shifted from calculating dynamic polarizabilities to calculating atomic coordination numbers and interpolate the atomic reference systems. This procedure comes along with a tremendous increase in efficiency and overcomes furthermore numerical issues that could occur in TD-DFT calculations. The accuracy of such polarizabilities is high such that a mean absolute deviation below 5% can be obtained with respect to experimentally derived molecular polarizabilities for small sized organic molecules (see below).

We introduced the concept of (CNs) earlier. We calculate reference CN-values for each reference system and map all calculated TD-DFT polarizabilities to reference CN-values. Now we have a simple mapping from CN-values to TD-DFT polarizabilities, which is used within a Gaussian weighting scheme together with system-specific CN-values for a system of interest.

αj(iω)=∑j,ref=1Nj,refαj,ref(iω) Wj,refj\alpha_j(i\omega)=\sum\limits_{j,ref=1}^{N_{j,ref}}\alpha_{j,ref}(i\omega)\,W_{j,ref}^jαj​(iω)=j,ref=1∑Nj,ref​​αj,ref​(iω)Wj,refj​

The above equation sums over all pre-calculated TD-DFT polarizabilities (count of Nj,ref) each having a weight associated such that all weights sum up to unity. So how do we get the weighting coefficients? This is exactly where the CNs become important

Wj,refj(CNj,CNj,ref)=∑j=1Nsexp⁡(−β×j(CNj−CNj,ref)2)∑j,ref=1Nj,ref∑j=1Nsexp⁡(−β×j(CNj−CNj,ref)2),W_{j,ref}^j\left(CN_j, CN_{j,ref}\right) = \frac{\sum\limits_{j=1}^{N_s}\exp{\left(-\beta\times j\left(CN_j-CN_{j,ref}\right)^2\right)}}{\sum\limits_{j,ref=1}^{N_{j,ref}}\sum\limits_{j=1}^{N_s}\exp{\left(-\beta\times j\left(CN_j-CN_{j,ref}\right)^2\right)}},Wj,refj​(CNj​,CNj,ref​)=j,ref=1∑Nj,ref​​j=1∑Ns​​exp(−β×j(CNj​−CNj,ref​)2)j=1∑Ns​​exp(−β×j(CNj​−CNj,ref​)2)​,

with the calculated CNs for the system of interest and of all reference systems and beta = 6. The equation above uses the limit Ns for one of the summations, which is determined separately for each reference system (for those details ).Note that the dynamic reference polarizabilities can be pre-scaled to, e.g., incorporate atomic-charge information as has been introduced recently by . This approach uses an empirical charge-scaling function (zeta) to re-scale reference dynamic polarizabilities with respect to that enter afterwards the Gaussian weighing as discussed above, respectively.

αj,ref′(iω)=αj,ref(iω)ζ\alpha_{j,ref}'(i\omega) = \alpha_{j,ref}(i\omega)\zetaαj,ref′​(iω)=αj,ref​(iω)ζ

Molecular Polarizabilities

We obtain molecular polarizabilities as the sum of all atomic ones. This approximation offers the possibility to calculate accurate molecular polarizabilities efficiently.

αmol=∑i=1Nαi\alpha_{mol} = \sum\limits_{i=1}^N \alpha_iαmol​=i=1∑N​αi​

Measure in %

MAD

3.1

4.7

10.9

MD

-2.6

-2.2

-0.8

RMSD

3.1

6.8

20.6

AMAX

16.9

22.3

74.4

MAD = Mean Absolute Deviation; MD = Mean Deviation; RMSD = Root-Mean Squared Deviation; AMAX = Absolut MAXimum deviation.

Timings* in seconds

tCPU

0.3

9.9

152.0

Define the Subcommand

> kallisto alp options arguments
--chrg <int>
(optional, default: 0)
description:
 absolute charge (qtotal) of the input structure (Lagrangian constraint)

--molecular (flag)
(optional, default: false)
description:
 get the molecular polarizability as sum of all atomic ones
 
--out <string> 
(optional)
description: 
 write output to file
input file is given as (positional) argument

Application

To calculate atomic dynamic polarizabilities for a neutral charged Alanine-Glycine molecule, we call the subcommand alp

> kallisto alp alanine-glycine.xyz
6.797559893536487
7.954558030234794
8.343416502883054
6.874125501683613
7.912180255606206
6.205524049384421
8.929930573457574
6.216975421946396
6.374242458036639
1.3827173212295591
1.3536217412847078
7.549015744100922
1.9657806025363944
1.4088758603316331
1.8573692724029527
1.8673376164561566
1.336319279749363
1.9359520557775551
1.9173190746286342
2.0092941860457025
# Save output to file 'alp'
> kallisto alp --out alp alanine-glycine.xyz
> cat alp
6.797559893536487
7.954558030234794
8.343416502883054
6.874125501683613
7.912180255606206
6.205524049384421
8.929930573457574
6.216975421946396
6.374242458036639
1.3827173212295591
1.3536217412847078
7.549015744100922
1.9657806025363944
1.4088758603316331
1.8573692724029527
1.8673376164561566
1.336319279749363
1.9359520557775551
1.9173190746286342
2.0092941860457025
# Get the molecular polarizability for the Alanine-Glycine molecule
> kallisto alp --molecular alanine-glycine.xyz
90.19211544088955

Now we obtain a list of atomic dynamic polarizabilities. Molecular polarizabilities can be calculated by using the molecular flag. We can furthermore calculate dynamic polarizabilities for the cationic (or anionic) Alanine-Glycine molecule by incorporating the chrg option as described in the subcommand definition.

The direct comparison to experimental polarizabilities shows the great success of the implemented method. As can be seen in the tables below kallisto calculates molecular polarizabilities (for 47 organic molecules - see with overall 135 structures) that are comparable to accurate quantum chemistry calculations (MP2/def2-QZVPD), but several orders of magnitude faster! We furthermore compare to the recently published AlphaML model (CCSD mode) and to the dftd4API, which uses a pre-compiled Fortran library as a backend.

********

********

********

*Total amount of computation time to obtain molecular polarizabilities for 45 organic molecules including: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and ). Timings for dftd4 and kallisto have been obtained by and are averaged over five runs on a Skylake, Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz. AlphaML values were taken from the printout of their . Total timing is calculated as the sum of all contributions.

complete benchmark
python
1-3-butadiene
1-butene
2-methyl-1-propene
acetaldehyde
acetone
adamantane
benzene
C2H2
C2H4
C2H6
CH3Cl
CH3CN
CH3OH
CH3SH
CH4
CO2
cyclopropane
dimethylamine
dimethylether
E-2-butene
ethanol
ethoxyethane
H2CO
H2O
H2S
HCN
methyl-propyl-ether
N2O
n-butane
NCCN
neopentane
NH3
n-heptane
n-hexane
n-octane
n-pentane
OCS
oxirane
propadiene
propane
propyne
SO2
SO3
trimethylamine
@awvwgk
webinterface
TD-PBE0/d-aug-def2-QZVP level of theory
atomic coordination numbers
check out the paper
Caldeweyher et al
electronegativity equilibration atomic partial charges
statistics
MP2
kallisto
AlphaML
dftd4
kallisto
AlphaML