We introduce BinPo, an open-source Python code to compute electronic properties of two-dimensional electron systems. A bulk tight binding Hamiltonian is constructed from relativistic density functional theory calculations represented in the basis of maximally localized Wannier functions. BinPo has a Schrödinger-Poisson solver, integrating an electric field-dependent relative permittivity to obtain self-consistently the confining electrostatic potential energy term in the derived tight binding slab system. The band structure, energy slices, and other properties, along with different projections and orientations can be computed. High resolution and publishable figures of the simulations can be generated. In BinPo, priority has been given to ease-of-use, efficiency, readability and modularity, therefore becoming suitable to produce reliable electronic structures simulations at low computational cost. Along with the code itself, we provide files from first-principles calculations for some materials, instructions of use, and detailed examples of its wide range of capabilities. The code was developed with a focus on the ABO3 perovskite structure-based systems, such as SrTiO3 and KTaO3, because of their increasing impact in the materials community. Some features, such as the projection onto orbital states, are restricted to calculations using the relevant t2g orbitals for this family of materials, yet it is possible to include more elements in the basis for the band structure determination of other systems. The use of a relativistic approach allows for the inspection of the role of spin-orbit coupling and the resulting Rashba effect on the systems. We detail the approaches used in the code, so that it can be further exploited and adapted to other problems, such as adding new materials and functionalities which can strength the initial code scopes. Program summaryProgram title: BinPoCPC Library link to program files:https://doi.org/10.17632/zk4xy7vfy4.1Developer's repository link:https://github.com/emanuelm33/BinPoCode Ocean capsule:https://codeocean.com/capsule/0987578Licensing provisions: GPLv3Programming language: PythonExternal routines/libraries: NumPy, SciPy, Matplotlib, ASE.Nature of problem: Compute the band structure and other electronic properties in two-dimensional electron systems.Solution method: Construction of a slab Hamiltonian from one built using a basis of maximally localized Wannier functions. Solve the Schrödinger-Poisson scheme to get the self-consistent potential energy along the slab. Use this potential to compute the band structure and additional properties by solving the Schrödinger equation.Additional comments including restrictions and unusual features: Other features included are the visualization of the self-consistent process and final solutions, band structure and energy slices with different projections. High resolution and customizable figures can be obtained in all cases.
Read full abstract