nanonets
A kinetic Monte Carlo simulation tool for modeling charge tunneling dynamics in nanoparticle networks
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.6%) to scientific vocabulary
Repository
A kinetic Monte Carlo simulation tool for modeling charge tunneling dynamics in nanoparticle networks
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
NanoNets
NanoNets is a Python package for simulating single-electron transport in complex nanoparticle networks.
It provides tools for generating and analyzing nanoparticle device topologies, computing network electrostatics, and running efficient kinetic Monte Carlo (KMC) simulations of single-electron tunneling.
Designed for both fundamental research and device engineering.
Features
- Flexible Topology: Create regular lattice or random planar nanoparticle networks with customizable geometry and connectivity.
- Physical Electrostatics: Automatically computes full capacitance matrices and induced charges using physical NP parameters.
- Kinetic Monte Carlo: High-performance, Numba-optimized KMC engine for simulating electron tunneling, network currents, and time-resolved device response.
- Constant and Floating Electrodes: Simulate both voltage-biased and floating (open circuit) contacts.
- Heterogeneous Devices: Supports multiple nanoparticle types, resistive disorder, and tunable electrode configurations.
- Extensible & Modular: Clear class structure enables easy modification and integration with other scientific Python tools.
- Batch and Time-Dependent Simulation: Supports stationary (fixed voltage) and dynamic (time-varying voltage) simulation modes.
- Rich Output: Exports observables, charge/potential landscapes, network currents, and more, directly to CSV for analysis.
Class Overview
Click to expand full class documentation
### `NanoparticleTopology` - Generate, modify, and analyze nanoparticle networks with electrodes. - Built on `networkx` for flexible topology and visualization. ### `NanoparticleElectrostatic` - Adds electrostatics: computes NP radii, capacitance, and charge induction. - Efficiently packs nanoparticles and enforces physical constraints. ### `NanoparticleTunneling` - Adds single-electron tunneling and resistance network. - Precomputes tunneling events and manages tunnel junction resistances. ### `Simulation` - High-level device simulation class: sets up topology, electrostatics, electrodes, and resistances. - Runs KMC for stationary (DC) or dynamic (pulsed/AC) driving. ### `MonteCarlo` (jitclass) - Fast KMC simulation core. Computes currents, potentials, and observables using Numba for speed. - Supports both steady-state and time-resolved simulation.Quickstart Example
```from nanonets import Simulation import numpy as np
Define your network topology and parameters
topologyparameter = { 'Nx': 5, 'Ny': 5, # 5x5 lattice 'epos': [[0,0], [4,4]], # Electrodes at two corners 'electrode_type': ['constant', 'constant'] # Both are not floating }
Initialize simulation
sim = Simulation(topology_parameter)
Run a stationary simulation (fixed voltages)
Nvolt = 100 # Number of voltages voltages = np.zeros((Nvolt,3)) # 3 Columns (Two E + Gate) voltages[:,0] = np.linspace(-0.1, 0.1, Nvolt) # Voltage Sweep at E1 sim.runconstvoltages(voltages, targetelectrode=1)
Access results
currents = sim.getobservablestorage() potentials = sim.getpotentialstorage() ```
Citing
If you use NanoNets for published work, please cite:
@article{mensing2024kinetic,
title={A kinetic Monte Carlo approach for Boolean logic functionality in gold nanoparticle networks},
author={Mensing, Jonas and van der Wiel, Wilfred G and Heuer, Andreas},
journal={Frontiers in Nanotechnology},
volume={6},
pages={1364985},
year={2024},
publisher={Frontiers Media SA}}
Owner
- Login: JonasMnsing
- Kind: user
- Repositories: 2
- Profile: https://github.com/JonasMnsing
GitHub Events
Total
- Delete event: 2
- Push event: 213
- Create event: 2
Last Year
- Delete event: 2
- Push event: 213
- Create event: 2