Skip to main content

Nano NEGF

A Python framework for the self-consistent solution of 1D Non-Equilibrium Green's Function (NEGF) and Poisson equations for nanowire structures.

Features

  • 1D Poisson solver with Neumann Boundary Conditions.

  • Calculation of electron density and tunneling current using the NEGF formalism (Recursive Green's Function algorithm).

  • Self-consistent loop for the convergence of electrostatic potential and charge density.

  • Adjustable physical parameters including effective mass ($m^*$), relative permittivity ($\epsilon_r$), Fermi levels of the leads ($\mu_L$ and $\mu_R$), and temperature ($T$).

  • Built-in visualization for energy band diagrams and carrier density profiles.

Dependencies

This package requires Python 3.11 or newer and the following libraries:

  • numpy

  • matplotlib

Installation

To install the package, navigate to the root directory of the project (where pyproject.toml is located) in your terminal and run:

pip  install  -e  .

Note: The -e (editable) flag allows you to modify the source code without needing to reinstall the package.

Project Structure

nano_negf/

├── pyproject.toml # Package build configuration

├── nano_negf/ # Main source code

│ ├── __init__.py

│ ├── constants.py # Physical constants

│ ├── physics.py # Physics utilities (energy grids, Fermi functions, self-energy)

│ ├── poisson.py # Matrix-based Poisson solver

│ ├── negf.py # RGF algorithm, density, and current calculations

│ └── solver.py # Main SelfConsistentSolver class

└── example.py # Example usage script

Quick Start (Usage)

Once installed, you can import and use the SelfConsistentSolver in your scripts or go to the example file and run the code. Here is a basic example:

from nano_negf import SelfConsistentSolver

  

# 1. Initialize the solver with desired parameters

sim = SelfConsistentSolver(

N=100, # Number of grid points

dx=1e-9, # Grid spacing (m)

m_eff_ratio=0.25, # Electron effective mass ratio

mu_L=0.1, # Left lead chemical potential (eV)

mu_R=0.0, # Right lead chemical potential (eV)

Nd=1e24 # Doping density (1/m^3)

)

  

# 2. Run the self-consistent loop

sim.run(max_iter=800, mix=0.1, tol=1e-4)

  

# 3. Plot the results (Band diagram and Carrier density)

sim.plot_results()

Expected Output

this package will generate two types of output:

  1. Terminal Output: Current in each iteration.
  2. Graphical Output: Energy Band Diagram and Carrier Density

Energy Band Diagram and Carrier Density

Project URLs

  1. Homepage = "https://github.com/msaeedforoughi/nano_negf-framework"
  2. Bug Tracker = "https://github.com/msaeedforoughi/nano_negf-framework/issues"

License

Copyright (c) 2026 Mohammad Saeed Foroughi

Metadata

Release files for nano-negf 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nano-negf 0.1.3
File Size Uploaded
nano_negf-0.1.3.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nano-negf 0.1.3
File Interpreter ABI Platform
nano_negf-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / nano_negf-0.1.3.tar.gz

Download URL nano_negf-0.1.3.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4d04d5b1ef1f2b1b0bf29f0614858e4ee19bfa0210a60ebd0aeeaae0bb94d41c
BLAKE2b-256 checksum
How to use checksums
8c570d31d0cbcea15ad53d21f9487060b0b4131d6495327586efd124104e4c9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / nano_negf-0.1.3-py3-none-any.whl

Download URL nano_negf-0.1.3-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64f116c28706606480e45ed02285a43591ba86ae8ae887061eb9d2bd6699d5cc
BLAKE2b-256 checksum
How to use checksums
a172e1f911d93e513fe72ddd35b5429d204b3796fbe68a60949e98134f010df9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page