Skip to main content

Modelling and analyzing random nanowire networks in Python.

Project description

Random NWNs Tests

Python package for modelling and analyzing random nanowire networks. This package was a summer research project lasting from May 2021 to August 2021 under the supervision of Dr. Claudia Gomes da Rocha.

Update: This project will now be continuing as of May 2024. If you are using this project, please note there will be active development on it and the functionality may change.

For future additions, feel free to fork the repository. Please cite Marcus Kasdorf if you wish to extend the project.

Table of Contents

Installation

Random NWNs can be installed from PyPI for quick use or installed manually for development.

Production

The latest version of randomnwn can be installed from PyPI:

pip install randomnwn

An Anaconda environment file is also provided to create a new virtual environment with the minimum required dependencies required to run the package.

conda env create -n randomnwn -f environment.yml

Be sure you activate the environment before using the package!

conda activate randomnwn

Development

One can use the dev-environment.yml file with Anaconda to create a new virtual environment with all the required dependencies for development.

conda env create -n randomnwn -f dev-environment.yml

This will also install the randomnwn package in editable mode (i.e. as if running pip install -e . in the base folder).

Usage

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

>>> import randomnwn as rnwn
>>> NWN = rnwn.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)
>>> rnwn.plot_NWN(NWN)
(<Figure size 800x600 with 1 Axes>, <AxesSubplot:>)

Figure_1

See the wiki pages for more detail on usage.

Uninstallation

To uninstall the package, use:

pip uninstall randomnwn

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

randomnwn-0.5.5.tar.gz (36.8 kB view details)

Uploaded Source

Built Distribution

randomnwn-0.5.5-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

Details for the file randomnwn-0.5.5.tar.gz.

File metadata

  • Download URL: randomnwn-0.5.5.tar.gz
  • Upload date:
  • Size: 36.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for randomnwn-0.5.5.tar.gz
Algorithm Hash digest
SHA256 51c51cf3eba993a0766c55f1c8029a5201b493074e5031886229023aabd14922
MD5 af6ec2b1967242159378caabc6582f36
BLAKE2b-256 8b5454351c89e2fea926e3406874f6a30d2d268df613e6c11a5cf2f6858662f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for randomnwn-0.5.5.tar.gz:

Publisher: publish-pypi.yml on marcus-k/Random-NWNs

Attestations:

File details

Details for the file randomnwn-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: randomnwn-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 39.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for randomnwn-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e3e1be589c0b79034ecba4b62701cbd87ce3d55451272f79cb15063999f90262
MD5 443baacd57ecc61db5cbd868c9b2745b
BLAKE2b-256 4cd0bf1d91069900683a24e2e098b80c76b1db5b3c44dd47dd463354d80c56a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for randomnwn-0.5.5-py3-none-any.whl:

Publisher: publish-pypi.yml on marcus-k/Random-NWNs

Attestations:

Supported by

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