# Code Development

## Developments in electronic structure theory

Read more about Developments in electronic structure theory

## ELK Code

## Atomistic spin-dynamics method UppASD

Read more about Atomistic spin-dynamics method UppASD

## Ab initio Superconductivity Code UppSC

Read more about the UppSC code

## Parallel DMRG

## Developments in electronic structure theory

Physical properties of atoms, molecules and solids are determined by the collective behavior of electrons interacting with each other and with the nuclei. Unfortunately, an analytical solution of the electronic problem in a realistic system is often out of reach and one must resort to a numerical approach. In our group we contribute to developing various computational methods to solve the electronic problem in atoms, molecules and solids.

The most substantial part of our activity is focused on methods to solve the fundamental equation of density functional theory, the Kohn-Sham equation. They comprehend full-potential methods like Elk and RSPt, which are based on linear augmented plane waves and linear muffin-tin orbitals, respectively. In RSPt, we also develop computational techniques for treating strongly correlated materials, based on the dynamical mean-field theory (DMFT). A database of electronic structure has also been developed. Other methodological developments are also being pursued, e.g. a real-space electronic structure method that calculates the Green's function of the valence band states using recursion expressions and the continued fraction method, as well as the exact muffin-tin orbitals method (EMTO). The division also hosts developments of tight-binding methods that are used for calculations of e.g. topological states or the damping parameter of the Landau-Lifshitz-Gilbert equation.

## ELK Code

An all-electron full-potential linearised augmented-plane wave (FP-LAPW) code with many advanced features. Written originally at Karl-Franzens-Universität Graz as a milestone of the EXCITING EU Research and Training Network, the code is designed to be as simple as possible so that new developments in the field of density functional theory (DFT) can be added quickly and reliably.

The code is freely available under the GNU General Public License.

### References:

## Atomistic spin-dynamics method UppASD

The UppASD software solves numerically the equation of motion of atomistic spins. This allows for a description of the magnetization dynamics on an atomic level.

The method is based on the analytical derivations of Ref. [1], and the first implementation of UppASD can be found in Ref. [2]. Simulations up to one billion atoms can be made, and typical scientific problems addressed with this technique involve magnon excitations, skyrmion and soliton dynamics, ultrafast demagnetization, and magnonics. A review can be found in Ref. [3] and a text book describing this method is found in Ref. [4]. Current developments involve a multiscale approach that couple the atomistic description to a continuum micro-magnetic description.

### References

- V. P. Antropov, M. I. Katsnelson, M. van Schilfgaarde, and B. N. Harmon, “Ab Initio Spin Dynamics in Magnets”, Phys. Rev. Lett. 75, 729 (1995).
- B. Skubic, J. Hellsvik, L. Nordström and O. Eriksson, “A method for Atomistic Spin dynamics, development and examples”, J. Phys. Cond. Matt. 20, 315203 (2008).
- C. Etz, A. Bergman, L. Bergqvist, A. Taroni and O. Eriksson, “Atomistic spin-dynamics and surface magnons”, J. Physics. Cond. Matter. 27 243202 (2015) (Topical Review).
- O. Eriksson, A. Bergman, L. Bergqvist, and J. Hellsvik, “Ab-initio spin-dynamics; foundations and applications” (Oxford university press – 2017).

## Parallel DMRG

The density matrix renormalization group (DMRG) is a very powerful approach to simulate 1D interacting quantum systems, in many cases offering quasi-exact precision. It is based on a truncated Hilbert space: the coefficients needed to represent a many-body-wavefunction (or density matrix) in a naive product basis, which would be growing exponentially with system size, are each represented by a series of three-dimensional tensors, with one tensor for each site of the physical lattice.

To extend DMRG to more complex problems of 1D correlated systems coupled to particle reservoirs as well as 2D lattices often requires applying many nodes of a distributed-memory parallel supercomputer to a single calculation. Using the Message Passing Interface (MPI), a standard for distributed computing, pDMRG was designed specifically for this purpose. The code offers three layers of parallelism.

Developing pDMRG was one central goal of the MAQUIS collaboration, running from 2010 to 2013, between the groups of Thierry Giamarchi (University of Geneva), Frederic Mila (EPF Lausanne) and Matthias Troyer (ETH Zürich). The single-node version of pDMRG was already released as part of the redeveloped ALPS-library.

Parallel DMRG for distributed memory supercomputers has seen extensive testing and application to large-scale physics problems of superconductivity in 2D correlated electrons. Further development of this pDMRG is ongoing with, and more information on it can be found from, Theory Group Adrian Kantian.

## Dynamical Mean-Field Theory (DMFT)

The dynamical mean-field theory (DMFT) is a powerful technique to investigate strongly correlated systems. We apply and develop DMFT, in particular in combination with density-functional theory (DFT). We currently focus on methodological developments as well as applications to condensed matter physics and material science. The tool of choice for our activities is the full-potential linearized muffin-tin orbital (FP-LMTO) code RSPt. RSPt includes a fully general DFT+DMFT implementation, with self-consistent cycles over self-energy and charge density. The following solvers are part of RSPt and were developed by our group:

- spin-dependent T-matrix fluctuation-exchange (SPTF)
- Hubbard I approximation (HIA)
- Exact diagonalization (ED)

In RSPt, we also develop methods for extracting interatomic exchange interactions in correlated systems, for performing the analytical continuation of Green's functions and self-energies, and for avoiding the problem of local minima in LDA+U. Currently we are working on methods to calculate X-ray absorption spectroscopy (XAS) and resonant inelastic X-ray scattering (RIXS) for strongly correlated materials.

Among applications, we have applied our techniques to:

- itinerant ferromagnets Fe, Co and Ni and their compounds
- dilute magnetic semiconductors, as e.g. (Mn,Ga)As
- transition metal oxides, as e.g. NiO and FeO
- rare-earth compounds
- multiferroics, as e.g. BiFeO3

### Selected Publications

- Y. O. Kvashnin
*et al.*, Physical Review Letters**116**, 217202 (2016) - J. Schött
*et al.*, Physical Review B**93**, 075104 (2016) - I. Locht
*et al.*, Physical Review B**94**, 085137 (2016) - Y. O. Kvashnin
*et al.*, Physical Review B**91**, 125133 (2015) - I. Di Marco
*et al.*, Nature Communications**4**, 2645 (2013) - P. Thunström
*et al.*, Physical Review Letters**109**, 186401 (2012) - O. Grånäs
*et al.*, Computational Materials Science**55**, 295-302 (2012) - J. M. Wills
*et al.*, “Full-Potential Electronic Structure Method”, Springer (2010) - I. Di Marco
*et al.*, Physical Review B**79**, 115111 (2009) - A. Grechnev
*et al.*, Physical Review B**76**, 035107 (2007)

### Contacts

## RSPt

RSPt is a code for electronic structure calculations and its acronym stands for Relativistic Spin Polarized toolkit. RSPt offers a robust and flexible set of tools to calculate total energies, magnetic moments, band structures, Fermi surfaces and densities of states for all elements, and combinations thereof, over a wide range of volumes and structures.

RSPt is based on the Full-Potential Linear Muffin-Tin Orbital (FP-LMTO) method, which allows for very small basis sets and fast calculations, without any restriction on the symmetry of the potential. RSPt accommodates multiple energy sets (i.e. valence and semi-core states) with the same angular quantum numbers but different principal quantum number, which is ideal to provide an accurate description of semi-core states. The code can be used for spin-polarized and/or spin-orbit calculations with several LDA and GGA functionals implemented, as well as up-to-date implementations of beyond DFT methods, such as SIC, DFT+U or DFT+DMFT.

Main features:

- all-electron implementation of density functional theory (DFT)
- full-potential linear muffin-tin orbital method (FP-LMTO)
- relativistic effects plus spin-orbit coupling (SOC)
- collinear magnetic structures and fixed spin moment calculations
- inter-atomic exchange parameters Jij
- disorder included via virtual crystal approximation (VCA)
- versatile output: dos, bands, fat bands, Fermi surfaces, charge densities...
- three levels of MPI parallelization: inter-k, intra-k and Fourier mesh
- good scalability up to thousands cores

Beyond-DFT methods:

- DFT+U
- DFT+DMFT
- full self-consistence over self-energy and electron density
- two sets of local orbitals
- Spin-Polarized T-matrix Fluctuation-exchange (SPTF) solver
- Hubbard I approximation
- Exact diagonalization (ED) solver
- Generalized tensor moment decompositions

- self-interaction correction (SIC)

RSPt can be applied to systems including up to 100-150 atoms and can exploit an efficient parallelization up to thousands cores. No material library is needed as all input data is created on the fly. For these reasons, RSPt has also been used to generate the Gurka database of electronic structures, which can be used for the analysis of *big data*.

### Interested in using RSPt?

RSPt is an Open Source project and is distributed under a GPL2 licence, prior registration to our users list. More information on the registration can be found in the FAQ.

## RSPt references

The main source of information on how to use RSPt is the RSPt manual, which is included in each distribution. To learn more on the theoretical aspects of RSPt, we provide here a list of useful references. Most of these articles are also accessible via arXiv. Please feel free to cite those works that are relevant for your research.

### RSPt theory and LMTO in general

- J. M. Wills et al., arXiv:cond-mat/9912173 (1999)
- J. M. Wills et al., “Full-Potential Electronic Structure Method”, Springer-Verlag (2010)
- J. M. Wills, developer_notes (included in the documentation folder)
- R. W. Tank et al., phys. stat. sol. (b) 217, 89 (2000)
- T. Björkman, “Magnetic and Structural Properties of f-electron Systems from First Principles Theory”, PhD thesis (2009)

### RSPt accuracy

### SIC

### DFT+DMFT implementation

- A. Grechnev et al., Physical Review B 76, 035107 (2007)
- I. Di Marco et al., Physical Review B 79, 115111 (2009)
- O. Grånäs et al., Computational Materials Science 55, 295 (2012)
- I. Di Marco, “Correlation effects in the electronic structure of transition metals and their compounds”, PhD thesis (2009)
- O. Grånäs, “Theoretical Studies of Magnetism and Electron Correlation in Solids”, PhD thesis (2012)
- P. Thunström, “Correlated Electronic Structure of Materials: Development and Application of Dynamical Mean Field Theory”, PhD thesis (2012)
- I. L. M. Locht, “Cohesive and Spectroscopic properties of the Lanthanides within the Hubbard I Approximation”, Licentiate thesis (2015)

### SPTF solver

### Inter-atomic exchange parameters Jij

### Hubbard I approximation

### Exact diagonalization solver

## FAQ on RSPt

### What is RSPt?

RSPt is a code for electronic structure calculations, based on density functional theory (DFT) and its extensions.

### What does RSPt stand for?

RSPt is an old acronym and stands for Relativistic Spin-Polarized toolkit.

### How can I get RSPt?

Obtaining RSPt is rather simple. Registered users can download stable versions of the code directly from our repository on github. For this, you will also need to open an account on github. Unregistered users must first register to be able to access the repository and get the code.

### How can I register?

Anyone who wants to register to the list of RSPt users has to send a request to the “rspt.admin” address at the domain @physics.uu.se, stating clearly his/her title, affiliation and github account. Please also add a few lines on the intended usage of RSPt.

### Why should I register?

We ask users to register since RSPt is a code that is constantly under development. We try to discourage the usage of old versions of the code, which may contain bugs or outdated features. The best way of keeping things under control is to have an updated list of users that we can contact via mailing lists, when needed.

### What do I gain as a registered user?

As a registered user you gain the authorization to download the code and to receive our support for its installation. Given that we are not paid for this work, we do not offer a strictly professional service. Nevertheless, we will do our best to help you!

### What do I lose as a registered user?

Nothing!

### Will I receive a lot of spam?

Not at all. We plan to send emails every 6 months (or maybe 3, we still haven't decided) to communicate relevant news about bugs, updates, support, new features, workshops, etc. etc.

### What happens after I registered?

The RSPt administrators will soon invite your github account to the RSPt repository. With your account will have access to all the latest versions of the code. Simple instructions for download to users who are not familiar with github will be sent shortly after the registration.

### Is RSPt really free?

Yes, RSPt is an Open Source project and is distributed under a GPL2 licence. In practice you can freely use RSPt for your research. For your presentations, we kindly ask you to show our logo. For your publications, we kindly ask you to cite relevant works.

### How difficult is it to use RSPt?

This is probably the weakest point of RSPt. The FP-LMTO method is notoriously difficult to use. Its adaptive basis is very flexible but also easy to run into troubles. Moreover, the high flexibility of the input data is obtained in RSPt by means of many files. Mastering the input files takes some time, but in our opinion it is time well spent!

### How can I learn RSPt?

In principle, any user should be able to learn RSPt by following the RSPt manual. In practice, however, this task may be prohibitive. Not only the FP-LMTO formalism is *per se* very complicated, but RSPt has also an inconvenient user interface, with a series of fixed-format input files. Therefore it is suggested to attend one of our yearly workshops or to stay in contact with one of the expert users, possibly during a brief research visit. With proper assistance, a person with prior experience in electronic structure codes should be able to learn RSPt in about a week.

### I think I found a bug, what should I do?

You should report the bug directly on the repository page on github. The developers will look into it and will find a solution as soon as possible.

## Contact

- Programme Professor Materials Theory
- Olle Eriksson
- Avdelningsföreståndare
- Biplab Sanyal