DFT++ minicourse:
Build your own DFT code from scratch, in two days!
C = Y*inv(sqrtm(Y^O(Y)));
n = f*diag_outerproduct(I(C),I(C));
phi = -(4.0*pi)*Linv(O(n));
E_LDA = -0.5*f*Tr(C^L(C))+ ...
J(n)^(V_ion+O(J(exc(n)))+0.5*O(phi));
| ==> |
|
---|
On June 27 and 28 (Monday and Tuesday immediately after the
conference), Cornell will host a two-day, hands-on minicourse on the
development of electronic structure software using the DFT++
framework.
Over the course of two days, modern software design techniques will
make it possible for each participant to build a fully functional
density-functional theory code from scratch. The course is ideal for
those who would like to better understand the inner workings of
such software or who anticipate developing software for new techniques
in the future.
Although the exercises and examples will be based on
density-functional theory, the design principles are general and
applicable to other techniques such as GW calculations.
Familiarity with matlab/octave is not required, but will be useful.
Participation limited to 20.
Syllabus
Participants will develop familiarity with the workings of
density-functional software by implementing their own. This ambitious
intensive course will take place from 9am on Monday through 5pm on
Tue. It will consist of homework plus eight hours of instruction per
day, alternating between lectures discussing the relevant background
and hands-on implementation in the computer lab.
- Expressive software ---
- DFT++ algebraic language: analoque of Dirac notation for density-functional theory
- Solution of Poisson's equation in a single line of code
- Object orientation in linear algebra context
- High performance computing (cache and register optimization) with octave
- Spectral methods ---
- Plane wave represenation of DFT++ operators
- Implementation: solution of Poisson's equation, Ewald energies
- Variational solution of Kohn-Sham equations ---
- Energy functional and derivative within DFT++
- Preconditioned conjugate gradient minimization
- Implementation: DFT solution of three-dimensional quantum
dot (shell structure, etc.)
- Implementation: DFT solution of hydrogen molecule
(bond length, energy and vibrational frequency)
- Optimizations required for solid state calculations ---
- Isotropic spectral representations (mapping "plane-wave sphere" to
"FFT box")
- Pseudopotentials
- Implementation: DFT calculation of solid germanium
(bond densities, cohesive energy)
This material is based upon work supported by the National Science
Foundation under Grant No. 0113670. Any opinions, findings, and
conclusions or recommendations expressed in this material are those of
the author(s) and do not necessarily reflect the views of the National
Science Foundation.