Sie sind auf Seite 1von 17

GROUP PRESENTATION

FOR
PROF. NISANTH N. NAIRS GROUP

ON
DEVELOPMENT OF DENSITY FUNCTIONAL THEORY
METHODS FOR MOLECULAR COMPUTATIONS

BY
SOUMYADEEP DATTA
SUMMER INTERN UNDER SURGE-2017
INTRODUCTION

Density functional theory (DFT) is a computational quantum mechanical


modelling method to investigate electronic structure of many-body
systems, particularly atoms, molecules, condensed phases.
It derives its name from its usage of functionals of spatially dependent
electron density to predict properties of many-electron systems.
DFT is among the most popular and versatile methods used in condensed-
matter physics, computational chemistry and material sciences.
DFT has been popularly used in solid-state physics calculations since 1970.
However, it was not regarded to be accurate enough for quantum chemistry
calculations until around 1990, when significant improvements were made to
incorporate exchange and correlation corrections
PROBLEM DESCRIPTION
DFT is a computationally expensive technique requiring high performance
computational resources for evaluation of its components.
Typical DFT approaches such as VASP (Vienna Ab Initio Simulation
Package), ABINIT, include diagonalization of a Hamiltonian whose
dimension is proportional to the number of electrons(n).
Thus, the complexity of the algorithms typically is of the order of O(n3).
Even with improvements using mathematical tools such as Gram-Schmidt
orthonormalization, the complexity improves to only O(n2 log n).
Our aim is to develop a new linear scaling density functional theory
(DFT) program for doing computations of large molecules.
We aim to implement core subroutines for carrying out Fast Fourier
Transforms of wavefunctions and potentials.
STAGES OF DEVELOPMENT

1. Creation of real-space grids over which various functions are defined.


2. Creating optimal G-space grids, the reciprocal lattice for plane-wave
Fourier transforms given a real-space grid and an energy cut-off.
3. Defining real functions in three dimensions over the real-space grids
4. Calculating the Fourier transform of the real valued function defined
over the real-space mesh and projecting it over the G-space mesh
5. Shifting the entire program from serial architecture to parallel
architecture to improve performance in terms of time complexity.
STAGE I CREATING REAL SPACE GRIDS

REAL SPACE GRID POINTS GENERATED


STAGE I (CONTINUED)

We used the following expressions to determine individual grid points:



= 0, 1, 2, , 1 ( )


= 0, 1, 2, , 1 ( )


= 0, 1, 2, , 1 ( )

Here, Lx, Ly, Lz = Dimensions of supercell in x, y and z directions
Nx, Ny, Nz = Number of grid points in x, y and z directions
STAGE I (CONTINUED)
To estimate the number of grid points for a given energy cut-off, use
the following algorithm: (starting with Nx = Ny = Nz = 0)
= (2.0 )

= + 1, = + 1, = + 1


1 = 2 , 2 = 2 , 3 = 2 ( )

NO (1 2 3 ) YES
4 3 )?
< ( )(
3
STAGE I (CONTINUED)

Calculate NRx, NRy and NRZ, the closest estimators


of Nx, Ny and Nz which can be factorized in terms of
simple primes (2, 3, 5, 7, 11)

Most FFT implementations work best when the input size is typically a
power of 2 or at least can be factorized in terms of simple primes. Hence
the estimate obtained from the previous algorithm is fine tuned so as to
obtain best performance from the FFTW subroutines.
STAGE II CREATING G-SPACE GRIDS

G-SPACE GRID POINTS GENERATED


STAGE II (CONTINUED )

We used the following expressions to generate the grids in G-space:


2
= 0, 1, 2, , 1 ( )

2
= 0, 1, 2, , 1 ( )

2
= 0, 1, 2, , 1 ( )

Here, Lx, Ly, Lz = Dimensions of real space grid in x, y and z directions


Nx, Ny, Nz = Number of grid points in x, y and z directions
STAGE III GENERATING INPUT DATA
We defined the function f x, y, z = sin sin on real space grids

INPUT DATA SHOWING ISOSURFACES AT ISOVALUE = 0 (NODAL PLANES)


STAGE IV EVALUATING FOURIER TRANSFORMS
OF REAL-VALUED FUNCTIONS
We used highly-optimized subroutines of the FFTW library to calculate
three-dimensional Fourier Transforms of the real-valued function
defined over the real space grids.
With the help of these subroutines, we also simultaneously computed
the inverse Fourier transforms of the output to recover the input.
The original input and the recovered input were found to be identical.
After this, we shifted the entire program to a parallel computing
architecture to improve performance in terms of time complexity and
efficient usage of high-performance computing resources.
STAGE IV (CONTINUED )

OUTPUT WITH G-SPACE GRIDS AT ISOVALUE = 1519.27


STAGE IV (CONTINUED )

RECOVERED INPUT AT ISOVALUE = 0


STAGE V - PARALLELIZATION
Using MPI(Message Passing Interface) instructions, we shifted the
program to a parallel architecture.
The entire grid was divided into (roughly) equal-sized components for
each individual processor core for each of the operations generating
real space grids, input functions, evaluating Fourier transforms and
recovering the input data using FFTW library subroutines.
The subdivision of grids is done along a particular direction (say, the z
axis) and each individual chunk is taken care of by a separate
processor core so that computations are run in parallel.
The final results obtained were found to be in accordance with the
outputs from the serial version.
SIGNIFICANCE OF OUR WORK

Once implemented successfully, this will be a very useful tool for


computational physicists, chemists and material scientists alike.
Linear scaling of such complex operations over the number of
electrons/particles will substantially reduce computational overheads.
We hope our approach will be improved and in the true spirit of
scientific development, will lead the entire community forward
REFERENCES

Computational Chemistry Wiki


The FFTW library
Real space numerical grid methods in quantum chemistry
Density Functional Theory in the Solid State
The Carl-Parinello Molecular Dynamics Package Manual
Message Passing Interface Tutorials

Das könnte Ihnen auch gefallen