Skip to content

marcus-k/MemNNetSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MemNNetSim

MemNNetSim: Memristive Nanowire Network Simulator. A proof-of-concept Python package for modelling and analyzing memristive random nanowire networks (NWNs). This package, developed by Marcus Kasdorf, was initiated from a summer research project in 2021 under the supervision of Dr. Claudia Gomes da Rocha at the University of Calgary.

Table of Contents

Installation

MemNNetSim has been tested on Python 3.10 to 3.13. It is recommended to install MemNNetSim in a virtual environment such as with venv or conda/mamba.

For installing locally, a pip version of 21.1 or greater is required.

Installation from PyPI

Install the latest release of MemNNetSim from PyPI using pip:

pip install mnns

Installation for development

Download or clone the GitHub repository:

git clone https://github.com/marcus-k/MemNNetSim.git
cd ./MemNNetSim

Then install the package in editable mode using pip:

pip install -e .[dev]

To install for editing the documentation, add the [docs] optional dependencies:

pip install -e .[dev,docs]

Uninstallation

Uninstall MemNNetSim using pip:

pip uninstall mnns

Usage

Nanowire network objects are simply NetworkX graphs with various attributes stored in the graph, edges, and nodes.

>>> import mnns
>>> NWN = mnns.create_NWN(seed=123)
>>> NWN
                Type: JDA
               Wires: 750
          Electrodes: 0
Inner-wire junctions: None
      Wire junctions: 3238
              Length: 50.00 um (7.143 l0)
               Width: 50.00 um (7.143 l0)
        Wire Density: 0.3000 um^-2 (14.70 l0^-2)
>>> mnns.plot_NWN(NWN)
(<Figure size 800x600 with 1 Axes>, <AxesSubplot:>)

Figure_1