1:
2: This paper collects together material from essentially three separate
3: lines of work. One of them is the MIKA project (see
4: Sec.~\ref{sec:mika}), which is in fact an umbrella for a number of
5: activities related to real-space methods. The first priority in the
6: MIKA-project is on the expansion of these activities to include also
7: time-dependent problems. The MIKA-project has already spawned
8: important international collaborations with two other projects (see
9: Secs.~\ref{sec:Linz} and \ref{sec:gridpaw}).
10: %
11: Another line of work is defined by its aim to promote the applications
12: of the finite-element methods in electronic structure calculations.
13: %
14: Actual work related to the finite-element approach has been performed
15: with two codes - one of them is the well established general purpose {\bf Elmer}
16: package (see Sec.~\ref{sec:elmer}) developed at CSC, and the other one has
17: been recently developed for transport calculations (see Sec.~\ref{sec:paula}).
18: %
19: The third and thus far entirely independent line is centered around
20: the wavelet approach (see Sec.~\ref{sec:wavelet}).
21: %%
22: %We hope that giving here short descriptions of the six projects involved
23: %in the work described in this paper serves the purpose of
24: %structuring the material presented elsewhere in the paper.
25:
26:
27: \subsection{MIKA - a project and a program package \label{sec:mika}}
28:
29: The finite-difference program package MIKA has been described in
30: Refs. \cite{torsti03IJQC,torsti04PSIK,torsti05nano}. Example
31: calculations using its components are described in those references as
32: well as in Secs. \ref{rsdotsec}, \ref{axialsec} and \ref{dopplersec}
33: of this article. The common denominator of these programs is the
34: utilization of the RQMG-method (Sec.~\ref{rqmgsec},
35: Ref. \cite{Heiskanen}) as an eigensolver. The \mika-package can be
36: downloaded freely from the internet at {\bf
37: http://www.csc.fi/physics/mika/}.
38:
39: The MIKA-project, on the other hand should not be understood
40: as too tightly bound to the {\bf MIKA}-package. Instead, it is
41: a project for the development of real-space methods in general,
42: and currently the main emphasis is on the expansion of the activities
43: to dynamic phenomena described by the time-dependent density-functional
44: theory (TDDFT) \cite{runge84PRL}. We have chosen the {\bf GridPaw}-code
45: (Sec.~\ref{sec:gridpaw}) as the basis for this development, although
46: we, at the same time, monitor the development of the alternative
47: FE-approach based on the {\bf Elmer}-package (Sec.~\ref{sec:elmer}).
48:
49: %% MIKA is also the name of a project which started in 2002 as a
50: %% collaboration between CSC -- Scientific Computing Ltd. and the
51: %% Computational Condensed Matter and Complex Materials (COMP) -group of
52: %% the Helsinki University of Technology for the development of
53: %% real-space methods, and supporting the MIKA-package. The project is
54: %% now at a turning point, as significant funding from the finnish
55: %% technology agency TEKES has been granted, three new research groups
56: %% have joined the project, an international collaboration with the
57: %% Center for Atomic-scale Materials Physics (CAMP) of the Technical
58: %% University of Denmark has been established, and a new project manager
59: %% has been appointed.
60:
61:
62: \subsection{Diffusion-algorithm and response-function package} \label{sec:Linz}
63:
64: The real-space program package developed at the University of
65: Linz~\cite{newton,imstep,Collective,michael,magalg} for solving
66: the KS equations can be thought as an
67: alternative to the approach used in MIKA. Instead of using
68: multigrid methods, the eigenvalue problem is solved in this program by
69: using a diffusion algorithm, namely a highly efficient fourth-order
70: factorization of the evolution operator (see Sec.~\ref{diffusionsec}).
71: Secondly, the number of self-consistent iterations is significally
72: reduced by applying a response-function method.
73: Within the MIKA package, the response-function algorithm has been implemented
74: into \cyl \ (see Sec.~\ref{axialsec}).
75: The research applications of the two programs to quantum dot studies
76: have been rather similar, and the latest research results summarized
77: in Sec.~\ref{rsdotsec} have largely originated from collaborations
78: between the two projects.
79:
80:
81: \subsection{GridPaw} \label{sec:gridpaw}
82:
83: Also the {\bf GridPaw} code developed in
84: the Center for Atomic-scale Materials Physics (CAMP) of the Technical
85: University of Denmark is
86: a finite-difference program package for the Kohn-Sham
87: equations, in which strategies
88: different from those in the {\bf MIKA} -package have been
89: chosen \cite{mortensenPRB}.
90: %can be thought of as an alternative
91: %to \rspace.
92: Instead of norm-conserving pseudopotentials, the Projector
93: Augmented Wave (PAW) approach \cite{blochl94PRB,blochl03}
94: is implemented. A very important
95: technical detail in this implementation is the
96: utilization of the double-grid method \cite{ono99PRL}, discussed in Sec.~\ref{sec:fd}.
97: Instead of the RQMG method,
98: the residual minimization method with multigrid preconditioning is applied to solve
99: the eigenvalue problem as described in Sec.~\ref{sec:rmmdiis}.
100: Within the second phase of the MIKA-project, a
101: close collaboration with the GridPaw project is essential, as
102: described in Sec.~\ref{jatkoprojsec}.
103:
104: \subsection{Elmer} \label{sec:elmer}
105:
106:
107:
108: Elmer is a general purpose finite element solver and collection of
109: library subroutines for solving systems of partial differential equations
110: by the finite element method.
111:
112:
113: Given a finite element partition of an $n$-dimensional computational domain,
114: the program automatically constructs graphs for system matrices in the
115: compressed row storage format, optimizes bandwidth, builds up the quadtree
116: search structures and, if required, the restriction and extension
117: operators for projecting functions between different levels of finite
118: element spaces in multigrid analysis.
119:
120: The program provides interpolation basis functions and their gradients for simplices
121: and $n$-cubes for any given polynomial degree up to ten, and automatically
122: determines the optimal quadrature for numerically evaluating their inner
123: products. The local element matrices representing the disretized differential
124: operators are finally assembled in global structures using the predetermined
125: graphs. The global system is solved either with standard multifrontal
126: decomposition methods or Krylov-type iteration schemes. The iterative
127: solvers may be preconditioned by standard incomplete decompositions,
128: or multigrid methods. For eigenvalue problems the program utilizes the
129: Arnoldi-method as implemented in the {\bf Arpack} -package \cite{arpack}
130: in the shift-and-invert mode, with its own linear
131: system solvers applied to the computationally expensive invertion-step
132: of the algorithm.
133:
134: Basically, the program is well suited for solving problems that can be
135: posed in variational form. The classical Kohn-Sham scheme of DFT,
136: for example, fits into this framework extremely well. So far, we have
137: performed some preliminary tests for computing the electronic
138: charge density for simple molecules like CO and C$_{60}$ (see Sec.~\ref{elmersec}).
139: The results of these all-electron calculations are promising, but there is some work
140: that could be done to enhance the overall performance of the code. The
141: major problems are not in the finite element discretization itself,
142: but in the performance of the eigenvalue solver, and the relaxation
143: techniques needed to avoid the charge sloshing phenomenon of the
144: Kohn-Sham scheme. Here one can directly utilize experience gathered
145: using more traditional discretization schemes (see Sec.~\ref{sec:solve}).
146:
147: For more information, see {\bf http://www.csc.fi/elmer/}.
148:
149:
150: \subsection{Finite-element method for electron transport} \label{sec:paula}
151:
152: The program for modeling transport properties of the nanostructures is
153: written in the Laboratory of Physics within a co-operation with the
154: Institute of Mathematics both in the Helsinki University of
155: Technology. The project is in detail presented in the thesis
156: \cite{Paulan_vaikkari}.
157:
158: A nanostructure between leads is a typical electron transport
159: problem. This kind of systems are problematic to the DFT with
160: eigenfunction methods, because the system is of infinite size without
161: periodicity. We have solved this problem using the Green's function
162: methods with the open boundary conditions. The code has three
163: versions: one-, two-, and three-dimensional, so that different types
164: of nanostructures can be modeled.
165: %
166: The numerical implementation is done using the finite-element method
167: with $p$-elements up to the fourth order. We use mesh generator {\bf
168: Easymesh} \cite{easymesh} in the two-dimensional calculations, and
169: {\bf Netgen} \cite{netgen} in the three-dimensional ones.
170:
171:
172: \subsection{Wavelet package} \label{sec:wavelet}
173:
174:
175: The interpolating wavelet package for the computation of the
176: atomic orbitals has been written in the Institute of Physics
177: in the Tampere University of Technology in co-operation with
178: the Mathematics Division of the Faculty of Technology from the
179: University of Oulu. The aim of the effort is to develop the
180: wavelet method for the quantum mechanical applications.
181: Instead of using the orthogonal Daubechies wavelets the
182: biorthogonal interpolating wavelets have been utilized in the
183: implementation of the code. Up to now the atomic orbitals have
184: been computed for some light many-electron atoms (ions). In
185: the implementation we have used the nonstandard operator
186: form, since it provides an efficient method to carry out the
187: multi-resolution analysis in the electronic structure
188: calculations.
189:
190:
191:
192:
193: