Skip to main content

What is lspr?

lspr is a Python 3 scientific package for modelling UV-Vis spectral behaviour of metallic nanoparticle-dieletric composites.

Dependencies

To run lspr smoothly you will need:

  1. Python 3.4+
  2. Pandas 1.0.3+
  3. NumPy 1.18.1+
  4. SciPy 1.4.1+
  5. Statsmodels 0.11.0+
  6. Matplotlib 3.1.3+

What does lspr enable?

lspr enables one to approximate some spectroscopic features of metallic nanoparticle-dielectric composites, e.g. transmittance, absorbance, scattering cross-section. The model utilizes dipole approximation of Mie solution to Maxwell equations, described in more detail in article by Olson et al.1

To perform a simulation, one needs to construct a composite, so matrix and metallic nanoparticles, so for each a set of refractive index and extinction coefficient data for simulated spectral range are necessary. The model does not take into account possible interactions at the nanoparticle/matrix interface, i.e. the composite absorbance is a simple sum of matrix and nanoparticle absorbances calculated for pristine materials.

1 Optical Characterization of Single Plasmonic Nanoparticles - J. Olson, S. Dominguez-Medina, A. Hoggard, L.-Y. Wang, W.-Sh. Chang, S. Link; Chem Soc Rev. 2015 January 7; 44(1): 40-57. doi: 10.1039/c4cs00131a.

How to get it running?

PyPI

pip install lspr

Anaconda

conda install -c angantyr lspr

Usage

More examples on how to use the lspr and specific methods can be found in the documentation. The transmittance of 31nm silver nanoparticles homogeneously distributed in vacuum with concentration 5.8 · 1013 cm-3

import lspr

# Get the csv file with n,k values for silver in range 200-1000nm
# spaced evenly every 1nm
Ag = lspr.OpticalMaterial(name = "Silver",source = "n-k_Silver_200-1000nm_(1nm).csv")

# Get n,k values for vacuum
Vacuum = lspr.OpticalMaterial(name = "Vacuum",
                         source = "n-k_data_for_vacuum_200-1000nm_(1nm).csv")

# Create Ag nanoparticles with mean size of 31nm, standard deviation of 1nm
# and concentration of 5.8e13 cm^-3
nAg = lspr.Nanoparticle(name = "Silver nanoparticles", material=Ag,
                   size=31, concentration=5.8e13)

# Set the transmittance measurement of a 1 micron thick sample of the composite
(silver nanoparticles dispersed in vacuum); use "T_corr" for reflectance corrected result
Transmittance = lspr.SpectralMeasurement("Measure the transmittance",
                                    matrix=Vacuum, nanoparticle=nAg,
                                    thickness=3).plot_results("T_corr")

The result is a preformatted plot of the reflectance corrected transmittance

License

lspr is distributed under MIT license.

Support

If issue is spotted please open an issue on the GitHub repo of the project. For changes, upgrades and simillar refer to the project's wiki site.

Metadata

Release files for lspr 0.20.6.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lspr 0.20.6.9
File Size Uploaded
lspr-0.20.6.9.tar.gz 12.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lspr 0.20.6.9
File Interpreter ABI Platform
lspr-0.20.6.9-py3-none-any.whl Python 3 none any Details

Total release size: 25.4 kB

Release files / lspr-0.20.6.9.tar.gz

Download URL lspr-0.20.6.9.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
045dda7199b4ef7482523f519f1049e0505058344f25b84d3de1a3ceef96a76d
BLAKE2b-256 checksum
How to use checksums
181db0be6c0b2d49af7c414753a212dfbd52bc2a40eb6acbda3d8e2f369df135
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release files / lspr-0.20.6.9-py3-none-any.whl

Download URL lspr-0.20.6.9-py3-none-any.whl
Size 13.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ba87732a0f965e43d83834fb754a3ffdbfbd306df74cfd37fdf273c014e7074
BLAKE2b-256 checksum
How to use checksums
cca3c79689602264268b62543eb03c0109035200f0a4a50762b834af69f52b63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release history Release notifications | RSS feed

This release

0.20.6.9 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page