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

  • ascii-colors

For benchmarking, these are also required

  • ase>=3.22.0,<3.25

  • tqdm<=4.67.1

  • joblib<=1.5.1

Installation

First create and activate a new environment:

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

To install the latest version:

pip install NanoparticleAtomCounter

Alternatively:

git clone https://github.com/szilvasi-group/NanoparticleAtomCounter.git
cd NanoparticleAtomCounter/
pip install -e .

To be able to run tests:

pip install NanoparticleAtomCounter[test]

To be able to run benchmarks along with tests:

pip install NanoparticleAtomCounter[benchmark]

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

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

atom-count-benchmark

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.7.tar.gz (52.1 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.7-py3-none-any.whl (59.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nanoparticleatomcounter-0.1.7.tar.gz
  • Upload date:
  • Size: 52.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for nanoparticleatomcounter-0.1.7.tar.gz
Algorithm Hash digest
SHA256 26b39e180cf4f3023dd45e922e0cdbf69acd26fea32b8bde4151f9e285dbbdd7
MD5 35d34966ad074035929b862437fa10f8
BLAKE2b-256 7f641449d78dabcbfa6b522bbe11222df717b2c5663b79d41c31752bfd4f9961

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanoparticleatomcounter-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cc2b25520de2c666ed7d64e2f92dba3882ca2fc01f81fe50892edaccc97fdb27
MD5 0f9ae7a257779267de299abf6e1a0d0f
BLAKE2b-256 e2ef503b40972a377d9200710201aaf77da0328e0354fc7815553deeb04ded6f

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