@galihru/mnp-mie 0.1.1 → 0.1.3
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 +125 -55
- package/package.json +14 -2
package/README.md
CHANGED
|
@@ -1,56 +1,126 @@
|
|
|
1
|
-
# @galihru/mnp-mie
|
|
2
|
-
|
|
3
|
-
Rayleigh-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
1
|
+
# @galihru/mnp-mie
|
|
2
|
+
|
|
3
|
+
Rayleigh quasi-static scattering formulas for spherical metallic nanoparticles in a homogeneous dielectric medium. Computes complex polarizability and electromagnetic cross sections � extinction, scattering, and absorption � within the electric-dipole approximation, valid for particle radius *a* � ?.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Physical Background
|
|
8
|
+
|
|
9
|
+
In the Rayleigh (quasi-static) limit, the electromagnetic response of a small sphere is fully characterised by its induced electric dipole moment. The key quantity is the complex polarizability a, which encodes both radiative (scattering) and non-radiative (absorption) optical losses. This framework underpins localized surface plasmon resonance (LSPR) spectroscopy, photothermal therapy, and surface-enhanced sensing.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Implemented Formulations
|
|
14
|
+
|
|
15
|
+
### 1. Quasi-static Polarizability (Clausius�Mossotti)
|
|
16
|
+
|
|
17
|
+
For a sphere of radius *a* with permittivity e? in an embedding medium with permittivity e?:
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
21
|
+
The **Fr�hlich resonance** (LSPR condition) occurs when:
|
|
22
|
+
|
|
23
|
+
=0)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
### 2. Wave Number in the Embedding Medium
|
|
28
|
+
|
|
29
|
+

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

|
|
44
|
+
|
|
45
|
+
**Absorption cross section** � power dissipated as Ohmic heat:
|
|
46
|
+
|
|
47
|
+

|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Install
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm install @galihru/mnp-mie
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## API Reference
|
|
60
|
+
|
|
61
|
+
### `rayleighPolarizability(radiusNm, epsParticle, epsMedium)`
|
|
62
|
+
|
|
63
|
+
Returns the complex polarizability a of a sphere.
|
|
64
|
+
|
|
65
|
+
```js
|
|
66
|
+
import { complex, rayleighPolarizability } from "@galihru/mnp-mie";
|
|
67
|
+
|
|
68
|
+
const epsParticle = complex(-7.45, 1.23); // Au at 548 nm
|
|
69
|
+
const epsMedium = complex(1.769, 0.0); // water
|
|
70
|
+
|
|
71
|
+
const alpha = rayleighPolarizability(50, epsParticle, epsMedium);
|
|
72
|
+
// ? { re: ..., im: ... } [nm�]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### `rayleighCrossSections(wavelengthNm, radiusNm, epsParticle, epsMedium)`
|
|
78
|
+
|
|
79
|
+
Returns extinction, scattering, and absorption cross sections in nm�.
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
import { complex, rayleighCrossSections } from "@galihru/mnp-mie";
|
|
83
|
+
|
|
84
|
+
const epsParticle = complex(-7.45, 1.23);
|
|
85
|
+
const epsMedium = complex(1.769, 0.0);
|
|
86
|
+
|
|
87
|
+
// Single wavelength
|
|
88
|
+
const cs = rayleighCrossSections(548.1, 50, epsParticle, epsMedium);
|
|
89
|
+
// ? { cExt: ..., cSca: ..., cAbs: ... } [nm�]
|
|
90
|
+
|
|
91
|
+
// Spectral scan (array input)
|
|
92
|
+
const cs = rayleighCrossSections(
|
|
93
|
+
[400, 450, 500, 548, 600, 700],
|
|
94
|
+
50,
|
|
95
|
+
[eps400, eps450, eps500, eps548, eps600, eps700],
|
|
96
|
+
[em400, em450, em500, em548, em600, em700]
|
|
97
|
+
);
|
|
98
|
+
// ? [{ cExt, cSca, cAbs }, ...]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
### `complex(re, im)`
|
|
104
|
+
|
|
105
|
+
Constructs a complex number `{ re, im }`.
|
|
106
|
+
|
|
107
|
+
```js
|
|
108
|
+
import { complex } from "@galihru/mnp-mie";
|
|
109
|
+
|
|
110
|
+
const z = complex(-5.2, 2.1);
|
|
111
|
+
// ? { re: -5.2, im: 2.1 }
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Keywords
|
|
117
|
+
|
|
118
|
+
mie-scattering � rayleigh � nanoparticle � cross-section � extinction � polarizability � plasmonics � nanophotonics � lspr � absorption
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Author
|
|
123
|
+
|
|
124
|
+
**GALIH RIDHO UTOMO** � g4lihru@students.unnes.ac.id
|
|
125
|
+
Universitas Negeri Semarang (UNNES)
|
|
55
126
|
License: GPL-2.0-only
|
|
56
|
-
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galihru/mnp-mie",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Rayleigh-
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "Rayleigh quasi-static scattering: polarizability and electromagnetic cross sections for spherical nanoparticles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -11,6 +11,18 @@
|
|
|
11
11
|
"src",
|
|
12
12
|
"README.md"
|
|
13
13
|
],
|
|
14
|
+
"keywords": [
|
|
15
|
+
"mie-scattering",
|
|
16
|
+
"rayleigh",
|
|
17
|
+
"nanoparticle",
|
|
18
|
+
"cross-section",
|
|
19
|
+
"extinction",
|
|
20
|
+
"polarizability",
|
|
21
|
+
"plasmonics",
|
|
22
|
+
"nanophotonics",
|
|
23
|
+
"scattering",
|
|
24
|
+
"absorption"
|
|
25
|
+
],
|
|
14
26
|
"author": "GALIH RIDHO UTOMO <g4lihru@students.unnes.ac.id>",
|
|
15
27
|
"license": "GPL-2.0-only",
|
|
16
28
|
"repository": {
|