@galihru/mnp-mie 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -32
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,50 +1,59 @@
|
|
|
1
|
-
# @galihru/mnp-mie
|
|
1
|
+
# @galihru/mnp-mie
|
|
2
2
|
|
|
3
|
-
Rayleigh quasi-static scattering formulas for spherical metallic nanoparticles
|
|
3
|
+
Rayleigh quasi-static scattering formulas for spherical metallic nanoparticles
|
|
4
|
+
in a homogeneous dielectric medium. Computes complex polarizability and
|
|
5
|
+
electromagnetic cross sections -- extinction, scattering, and absorption --
|
|
6
|
+
within the electric-dipole approximation, valid for particle radius a << lambda.
|
|
4
7
|
|
|
5
8
|
---
|
|
6
9
|
|
|
7
10
|
## Physical Background
|
|
8
11
|
|
|
9
|
-
In the Rayleigh (quasi-static) limit, the electromagnetic response of a small
|
|
12
|
+
In the Rayleigh (quasi-static) limit, the electromagnetic response of a small
|
|
13
|
+
sphere is fully characterised by its induced electric dipole moment. The key
|
|
14
|
+
quantity is the complex polarizability alpha, which encodes both radiative
|
|
15
|
+
(scattering) and non-radiative (absorption) optical losses. This framework
|
|
16
|
+
underpins localized surface plasmon resonance (LSPR) spectroscopy, photothermal
|
|
17
|
+
therapy, and surface-enhanced sensing.
|
|
10
18
|
|
|
11
19
|
---
|
|
12
20
|
|
|
13
21
|
## Implemented Formulations
|
|
14
22
|
|
|
15
|
-
### 1. Quasi-static Polarizability (Clausius
|
|
23
|
+
### 1. Quasi-static Polarizability (Clausius-Mossotti)
|
|
16
24
|
|
|
17
|
-
For a sphere of radius *a* with permittivity
|
|
25
|
+
For a sphere of radius *a* with permittivity eps_p in an embedding medium with
|
|
26
|
+
permittivity eps_m:
|
|
18
27
|
|
|
19
|
-

|
|
20
29
|
|
|
21
|
-
The **
|
|
30
|
+
The **Frohlich resonance** (LSPR condition) occurs when:
|
|
22
31
|
|
|
23
|
-
=0)
|
|
24
33
|
|
|
25
34
|
---
|
|
26
35
|
|
|
27
36
|
### 2. Wave Number in the Embedding Medium
|
|
28
37
|
|
|
29
|
-

|
|
30
39
|
|
|
31
|
-
where
|
|
40
|
+
where lambda is the free-space wavelength in nanometres.
|
|
32
41
|
|
|
33
42
|
---
|
|
34
43
|
|
|
35
44
|
### 3. Electromagnetic Cross Sections
|
|
36
45
|
|
|
37
|
-
**Extinction cross section**
|
|
46
|
+
**Extinction cross section** -- total power removed from the incident beam:
|
|
38
47
|
|
|
39
|
-
\quad[\mathrm{nm}^2])
|
|
40
49
|
|
|
41
|
-
**Scattering cross section**
|
|
50
|
+
**Scattering cross section** -- power re-radiated as scattered light:
|
|
42
51
|
|
|
43
|
-

|
|
44
53
|
|
|
45
|
-
**Absorption cross section**
|
|
54
|
+
**Absorption cross section** -- power dissipated as Ohmic heat:
|
|
46
55
|
|
|
47
|
-

|
|
48
57
|
|
|
49
58
|
---
|
|
50
59
|
|
|
@@ -60,7 +69,7 @@ npm install @galihru/mnp-mie
|
|
|
60
69
|
|
|
61
70
|
### `rayleighPolarizability(radiusNm, epsParticle, epsMedium)`
|
|
62
71
|
|
|
63
|
-
Returns the complex polarizability
|
|
72
|
+
Returns the complex polarizability alpha of a sphere.
|
|
64
73
|
|
|
65
74
|
```js
|
|
66
75
|
import { complex, rayleighPolarizability } from "@galihru/mnp-mie";
|
|
@@ -69,14 +78,14 @@ const epsParticle = complex(-7.45, 1.23); // Au at 548 nm
|
|
|
69
78
|
const epsMedium = complex(1.769, 0.0); // water
|
|
70
79
|
|
|
71
80
|
const alpha = rayleighPolarizability(50, epsParticle, epsMedium);
|
|
72
|
-
//
|
|
81
|
+
// -> { re: ..., im: ... } [nm^3]
|
|
73
82
|
```
|
|
74
83
|
|
|
75
84
|
---
|
|
76
85
|
|
|
77
86
|
### `rayleighCrossSections(wavelengthNm, radiusNm, epsParticle, epsMedium)`
|
|
78
87
|
|
|
79
|
-
Returns extinction, scattering, and absorption cross sections in nm
|
|
88
|
+
Returns extinction, scattering, and absorption cross sections in nm^2.
|
|
80
89
|
|
|
81
90
|
```js
|
|
82
91
|
import { complex, rayleighCrossSections } from "@galihru/mnp-mie";
|
|
@@ -86,16 +95,16 @@ const epsMedium = complex(1.769, 0.0);
|
|
|
86
95
|
|
|
87
96
|
// Single wavelength
|
|
88
97
|
const cs = rayleighCrossSections(548.1, 50, epsParticle, epsMedium);
|
|
89
|
-
//
|
|
98
|
+
// -> { cExt: ..., cSca: ..., cAbs: ... } [nm^2]
|
|
90
99
|
|
|
91
100
|
// Spectral scan (array input)
|
|
92
|
-
const
|
|
101
|
+
const scan = rayleighCrossSections(
|
|
93
102
|
[400, 450, 500, 548, 600, 700],
|
|
94
103
|
50,
|
|
95
104
|
[eps400, eps450, eps500, eps548, eps600, eps700],
|
|
96
105
|
[em400, em450, em500, em548, em600, em700]
|
|
97
106
|
);
|
|
98
|
-
//
|
|
107
|
+
// -> [{ cExt, cSca, cAbs }, ...]
|
|
99
108
|
```
|
|
100
109
|
|
|
101
110
|
---
|
|
@@ -108,19 +117,13 @@ Constructs a complex number `{ re, im }`.
|
|
|
108
117
|
import { complex } from "@galihru/mnp-mie";
|
|
109
118
|
|
|
110
119
|
const z = complex(-5.2, 2.1);
|
|
111
|
-
//
|
|
120
|
+
// -> { re: -5.2, im: 2.1 }
|
|
112
121
|
```
|
|
113
122
|
|
|
114
123
|
---
|
|
115
124
|
|
|
116
|
-
## Keywords
|
|
117
|
-
|
|
118
|
-
mie-scattering � rayleigh � nanoparticle � cross-section � extinction � polarizability � plasmonics � nanophotonics � lspr � absorption
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
125
|
## Author
|
|
123
126
|
|
|
124
|
-
**GALIH RIDHO UTOMO**
|
|
125
|
-
Universitas Negeri Semarang (UNNES)
|
|
126
|
-
License: GPL-2.0-only
|
|
127
|
+
**GALIH RIDHO UTOMO** | g4lihru@students.unnes.ac.id
|
|
128
|
+
Universitas Negeri Semarang (UNNES)
|
|
129
|
+
License: GPL-2.0-only
|
package/package.json
CHANGED