What is lsprlib?
lsprlib is a Python 3 scientific package for modelling UV-Vis spectral behaviour of metallic nanoparticle-dieletric composites.
Dependencies
To run lsprlib smoothly you will need:
- Python 3.4+
- Pandas 1.0.3+
- NumPy 1.18.1+
- SciPy 1.4.1+
- Statsmodels 0.11.0+
- Matplotlib 3.1.3+
What does lsprlib enable?
lsprlib 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?
To install lsprlib package use pip package manager:
pip install lsprlib
Usage
More examples on how to use the lspr_library 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 lsprlib as lpl
# Get the csv file with n,k values for silver in range 200-1000nm
# spaced evenly every 1nm
Ag = lpl.OpticalMaterial(name = "Silver",source = "n-k_Silver_200-1000nm_(1nm).csv")
# Get n,k values for vacuum
Vacuum = lpl.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 = lpl.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 = lpl.SpectralMeasurement("Measure the transmittance",
matrix=Vacuum, nanoparticle=nAg,
thickness=3).plot_results("T_corr")
License
lsprlib 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 lsprlib 0.20.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lsprlib-0.20.6.tar.gz | 2.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lsprlib-0.20.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.4 kB
Release files / lsprlib-0.20.6.tar.gz
| Download URL | lsprlib-0.20.6.tar.gz |
|---|---|
| Size | 2.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
87377f301b131e4b90a5f4afce540ea1bbb3c4c56a9d9db16db0cdf17c870c38
|
|
BLAKE2b-256 checksum How to use checksums |
c29cfc79ae71cf2ef7488fba6e56c2b56afa597a03c5248aecc2987810efb922
|
| 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 / lsprlib-0.20.6-py3-none-any.whl
| Download URL | lsprlib-0.20.6-py3-none-any.whl |
|---|---|
| Size | 3.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a255b50e24c2f4817fc21defcf0ed927e90769c17c636c691750a591aab10f4b
|
|
BLAKE2b-256 checksum How to use checksums |
c8d2172e72fae318f72b9d6ec498ea56e8aff61db1d10d3c1bc1943cff4399b1
|
| 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
|