Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Aestimo 1D Self-consistent Schrödinger-Poisson Solver (simply aestimo) is a simple 1-dimensional (1-D) simulator for semiconductor heterostructures. Aestimo is started as a hobby at the beginning of 2012, and become a usable tool which can be used as a co-tool in an educational and scientific work. This version of Aestimo is called 'Aestimo EDU'. Its code is easy to understand and it can be used easily for educational purposes. For the main Aestimo release please visit:

Hope that it also works for you. Please do not hesitate to contact us in case of any bugs found.

Current features

  • Material and alloys: GaAs, AlAs , InAs, InP, AlP, GaP, AlGaAs, InGaAs, InGaP and AlInP,
  • Band structure for gamma electrons and heavy, light and split-off holes,
  • Effective-mass method for electrons and 3x3 k.p method for holes,
  • Carrier concentrations for gamma electrons and heavy, light and split-off holes,
  • Electric field distribution,
  • Electron wavefunctions,
  • Non-parabolicity,
  • External electric field,
  • Strain for valance band calculations,

Getting Started

See the examples subdirectory of the distribution. Also, detailed information can be found in "Using the Code" part of this document. Subscription to the aestimo-users mailing list is highly recommended for further support. For developers and people interested in latest development issues, there is an aestimo-devel mailing list.


Aestimo EDU is Copyrighted by (C) 2013-2020 by Aestimo group. This software is distributed under the terms of the GNU General Public License v3, see ~/COPYING file or . This means that everyone is free to use, change, share and share the changes.

For the list of contributors, see ~/

Getting Help

Before asking any question, please visit to read many tutorials which includes many important examples. Same tutorials are included in your /doc folder.

To file an issue about the code please use GitHub's Issue management page for Aestimo EDU: .

Download and Installation

The latest version of the program is available in zipped form from the website:


You will need to have a recent version of Python3 installed on your computer. For this, please refer to Python Website, where binary packages for most platforms can be found. Additionally, you need some libraries. If you install matplotlib library, all other necessary libraries will be installed. You can use pip for intallation of matplotlib.

pip install matplotlib

Running the Code

The code is written in Python, and thus is platform independent. After extracting the file to a folder, user may point the files that are written below in the related folder. Here x.y is the version number. - The file that you need to run. - A simple configuration file. You must enter the input filename into this configuration file. - A database for materials properties. - Main program for conduction band calculations and gamma valley electrons. Its code is simple to understand. - Some samples files (X) are included in the package with prefix "sample-". - A script for simulating a design several times while varying a parameter over a range of values. - A readme file as you noticed. README_OUTPUTS - A readme about the structure of output files. LICENSE - License of the software. - List of the committers. /outputs - Output folder (If it is not available, it will be created in the first usage automatically.

First of all, user must prepare or use an input file. This file must specified in file. There are other options in file like necessary output files and on/off options for result viewer and in-run messages. After specifiying an input file in, user can run the aestimo easily with executing the command


For simulating a design several times while varying a parameter over a range of values, edit the '' file for your needs, and then execute it as


If the output file options are true in file, results can be found in the outputs folder. For Output files, please read file.


No releases published


No packages published