Skip to main content

Estimates atom counts in monometallic nanoparticles given radius and contact angle

Project description

Treating a supported nanoparticle as a spherical cap, NanoparticleAtomCounter rapidly estimates the number of Total, Surface, Perimeter, and Interfacial atoms (see below). Only two inputs are mandatory: the radius and contact angle, readily obtainable from Transmission Electron Microscopy (TEM) images.

Atom types discriminated

Can be used on the web app or on a command line.

Requirements

  • numpy>=1.20,<2.3

  • pandas>=1.4

  • streamlit>=1.4,<2

  • openpyxl>=3.1.0

  • xlrd>=2.0.1

For testing, these are also required

  • pytest>=8,<9

  • ase>=3.22.0,<3.25

  • tqdm<=4.67.1

  • joblib<=1.5.1

  • ascii-colors

Installation

First create and activate a new environment:

mamba create --name env_name "python>=3.10,<3.15"
mamba activate env_name

To install the latest version:

pip install NanoparticleAtomCounter
#pip install NanoparticleAtomCounter[test] to be able to run tests

Alternatively:

git clone git@github.com:szilvasi-group/NanoparticleAtomCounter.git
cd NanoparticleAtomCounter/
pip install -e .
#pip install -e ".[test]" to be able to run tests

Usage

1) Prepare your input CSV

Upload a .csv with these headers:

r (A), R (A), Theta, Element, Interface Facet, Surface Facet

Definitions:

  • r (A) = footprint radius (in Angstrom); R (A) = radius of curvature (in Angstrom)

r vs R

Acute theta

Obtuse theta

  • Provide either r (A) or R (A) (if both are present, R (A) is ignored).

  • Theta = contact angle (in degrees)

  • Element = chemical symbol of the element that comprises the nanoparticle, e.g. Cr

  • Interface Facet and Surface Facet are OPTIONAL; leave blank if unknown.
    • Interface Facet = facet at the nanoparticle-support interface, e.g. (1,1,1)

    • Surface Facet = dominant facet at the nanoparticle-gas/vacuum interface, e.g. (1,0,0)

  • Here’s a sample input file

2) Use the web app

Upload your input file and download the output.

OR

2) Use the command line

nanoparticle-atom-count -i input_file.csv -o output_file.csv

Testing

If you have it installed with the tests, then run the following test and please let me know if there are any errors:

atom-count-test

Contact

Any problems or questions?

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

nanoparticleatomcounter-0.1.1.tar.gz (50.8 kB view details)

Uploaded Source

Built Distribution

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

nanoparticleatomcounter-0.1.1-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

Details for the file nanoparticleatomcounter-0.1.1.tar.gz.

File metadata

  • Download URL: nanoparticleatomcounter-0.1.1.tar.gz
  • Upload date:
  • Size: 50.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.18

File hashes

Hashes for nanoparticleatomcounter-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cc4ecf6bdc03eb14963cb447e66ffcecacb59406e0721a54350f970068558975
MD5 16f371c929820f0819f705240ad4bc66
BLAKE2b-256 7e6af57abf30cd59b0b88ecf66fda2764048a261d1e808c2b36f56755d973bb0

See more details on using hashes here.

File details

Details for the file nanoparticleatomcounter-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nanoparticleatomcounter-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ffc6421e393a1d039019cc43d575f28a3e3c426f0652f401bd12a808f60a650e
MD5 6f2e6a431540e96f362d70585512d310
BLAKE2b-256 3873aae1ba39c3b5893d885491b5bb8d0970238d6a9838ad5e356fa49839561e

See more details on using hashes here.

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