Skip to content

Simple Python Ipywidgets Interface to obtain the optoelectronic properties of Nanostructures

License

Notifications You must be signed in to change notification settings

JoseMVergara/SPIN

Repository files navigation

SPIN: [S]imple [P]ython [I]pywidgets Interface to obtain the optoelectronic properties of [N]anostructures

Introduction

The Simple Python Ipywidgets Interface to obtain the optoelectronic properties of Nanostructures (SPIN) is an open source graphical user interface which allows user to work with standard SIESTA (Beta version) files and perform end-to-end atomic level simulation processes, that is, it contains the complete flow, from the construction and visualization of structures or systems until the pre-processing, execution, and post-processing of calculations such as structure optimization, electronic properties like band structure and density of states (DOS) and optical properties. SPIN is a easy-to-use and fast-learning solution written in Python and built from Ipywidgets, however the end-user can use all available features without the need for Python language knowledge.

Install

First step is clone this repository:

git clone https://github.com/JoseMVergara/SPIN.git

SPIN program is written in Python 3 (>= 3.6). It has some dependences. To install the necessary modules, run in the terminal (command line):

pip3 install -r ./requirements.txt

Run

To run the program, please intance a jupyter notebook, run in command line:

jupyter notebook

then, open and execute SPIN_GUI.ipynb.

Usage

DFT calculations requires some insight from the user on how the algorithm should treat the problem, e.g, which operators or parameters are appropriate or when is convergence achieved. In the following we shall discuss the different components in calculations in SPIN. This beta version include the three basis part of the SPIN to do DFT calculations employed SIESTA code, i.e, Geometric structure, Configure (DFT parameters) and Calculation (control workflow).

Description of a geometric structure

The Geometric description has two taps: Structure options and Viewer.

Structure options:

Is the tap we will use to generate our first set of atomic coordinates. This tap includes four options:

  1. Upload file: Allow us to load external structure files in the formats supported by Openbabel. The program supports the SIESTA file formats *.fdf also.

  2. Create structure manually: This is our default option for entering the atomic coordinates and unit cell vectors. Coordinates have to be include in Angstrom units.

  3. Structures predefined: Allow us to access the ase build options.

  4. Load created structures: This option allows us to load previous built structures.

Viewer

The viewer is only a preview of the made structure in this beta version.

Description of SIESTA parameters

In this section we can configure the DFT parameters for SIESTA calculations. We have two options:

Upload input file : In this option we can reload the parameters from a previous fdf file. Only the parameters of the fdf are read.

Create input file: We can setup all basis DFT parameters, also we can defined the type of calculation, four option are predefined.

  1. Relax structure: This option is mandatory to run the other calculation, due that it create the file "label-relaxed.cif" that have the equilibrium structure required for bands, DOS and optical calculations.

  2. Calculate Bands structure: Defined the option to get the band structure for periodic systems.

  3. Calculate Total and Partial Density of states: We can get the DOS and PDOS, for PDOS this beta version do not include a processor to plot it.

  4. Calculate Optical properties: Defined the option to get the optical properties for periodic systems.

Description of Control workflow and calculations

This section allows user to select and perform single or multiple calculations.

Examples

There are some example calculations given with different usage scenarios.

About the project

SPIN project is currently in its Beta version and is open to the general public.

Licensing

This project is licensed under the terms of the MIT license.

About

Simple Python Ipywidgets Interface to obtain the optoelectronic properties of Nanostructures

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages