RAtom solves nonlinear Kohn-Sham equation for an neutral atom.
The adaptive algorithm based on finite element method (FEM) is implemented.
The implemented algorithm is described in my papers:
-
Z. Romanowski, Adaptive solver of a Kohn-Sham equation for an atom, Modelling and Simulation in Materials Science and Engineering vol. 17, 045001 (2009), abstract
-
Z. Romanowski, Application of h-adaptive, high order finite element method to solve radial Schrödinger equation, Molecular Physics vol. 107, pp. 1339-1348 (2009), abstract
-
Z. Romanowski, A B-spline finite element solution of Kohn Sham equation for an atom, Modelling and Simulation in Materials Science and Engineering vol. 16, p. 015003 (2008), abstract
-
Z. Romanowski, Numerical Solution of Kohn–Sham Equation for Atom, Acta Physica Polonica B vol. 38, p. 3263 (2007), full paper
-
RAtomis the solver for non-linear Kohn-Sham equation, which is non-linear differential, second order, eigenvalue problem. -
RAtomsolves linear Kohn-Sham equation by Finite Element Method (FEM) with Lobatto polynomials as basis functions. -
RAtomsolves the non-linear Kohn-Sham equation iteratively by so called Self Consistent Field (SCF) procedure. -
In order to calculate interaction potential in linear Kohn-Sham equation, Poisson equation is solved.
-
The Poisson equation is the differential, second order, equation.
RAtomsolves Poisson equation by Finite Element Method (FEM) with Lobatto polynomials as the basis functions. -
For Poisson equation and Kohn-Sham equation, the electron density is needed. The electron density is represented (approximated), as the linear combination of Lobatto polynomials.
-
The distinguished feature of
RAtomis the implemented h-adaptive procedure. The following problems are solved adaptively: a) Linear Kohn-Sham equation b) Poisson equation c) Approximation of electron density -
The disctretization of linear Kohn-Sham equation leads to the generalized eigenvalue problem, which is solved by procedures from LAPACK libraries.
-
High order Gauss quadratures are applied in order to obtain the total energy of atom with absolute accuracy of 1E-6 hartree.
-
The program RAtom is implemented in C++, it runs as a single thread.
-
In order to build RAtom, type
makein the main directory. First, the LAPACK library is compiled. It requiresgfortrancompiler. Second,RAtomis compiled and it is compiled withg++compiler. -
After compilation the binary file
ratom.xis stored in./bindirectory. Programratom.xrequires one input parameter, which is a path to file with keywords. The format of input file forratom.xis very simple, and can be figure out by checking the examples located inexmdirectory. The directorydoccontaines description of the format and meaning of input file. -
In order to check the functionality of
RAtomprogram go to./exmdirectory. There are 92 sub-directories. Each of the sub-directory contains an input file namedatom.inpfor the atoms from Hydrogen to Uranium. Additionally, each atom-specific directory contains referential solution stored insolution.dat.ref. -
In order to run all prepared examples (tests), go to
./exmdirectory and type./run. Obtained solutions (i.e. total energies and eigenvalues) are listed in the filesolution.datin each sub-directory and compared to the referential data. -
In directory
./exmthere areGnuplotscripts for ploting total electron density and for ploting total electron density. -
Directory
./srccontains the source code ofRAtomplusMakefile. -
It is recommended to start reading the program
RAtomfromsrc/main.cppfile.
Zbigniew Romanowski, e-mail: romz@wp.pl