Skip to main content

Modelling and analyzing random nanowire networks in Python.

Project description

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 and continued to be developed 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mnns-1.0.4.tar.gz (64.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mnns-1.0.4-py3-none-any.whl (53.6 kB view details)

Uploaded Python 3

File details

Details for the file mnns-1.0.4.tar.gz.

File metadata

  • Download URL: mnns-1.0.4.tar.gz
  • Upload date:
  • Size: 64.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mnns-1.0.4.tar.gz
Algorithm Hash digest
SHA256 a961314a5e87c81bc83d6245cd938823dee00f2b40058e3ac291c5493b9bd2ea
MD5 e6a3b41320d39fb7e3b34380d9baf297
BLAKE2b-256 cee97eb68d07a4595d5e09d5735f069240f5b63f3f236e849e0e77b1cbd37af3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mnns-1.0.4.tar.gz:

Publisher: pypi-publish.yml on marcus-k/MemNNetSim

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mnns-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: mnns-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 53.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mnns-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f08e939ee6706c425e0ff2a21c6a93ae0de295f20a565a58afd16eeaf37edc69
MD5 c9f0089233a57bca556dbed0a174fa8a
BLAKE2b-256 d2c114d9e3a2b92d3b1b1bd3bdbf01046fc5e52f2fb43315479aa77d48e7e67a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mnns-1.0.4-py3-none-any.whl:

Publisher: pypi-publish.yml on marcus-k/MemNNetSim

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page