A Python library for computing light scattering by multilayered non-spherical particles
1. A Python library for computing light scattering
by multilayered non-spherical particles
A. A. Vinokurov1,2 V. B. Il’in1,2,3 V. G. Farafonov1
1 Saint-Petersburg State University of Aerospace Instrumentation, Russia
2 Pulkovo Observatory, Saint-Petersburg, Russia
3 Saint-Petersburg State University, Russia
12th Electromagnetic & Light Scattering Conference
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 1/7
3. gSVM for multilayered particles
A particle with L layers.
The electromagnetic fields in each of the domains Γ(i) satisfy the
boundary conditions
E(i) (r) × n(i) (r) = E(i+1) (r) × n(i) (r), r ∈ ∂Γ(i) , i = 1, . . . , L,
Systems for each of the layer boundaries
(i) (i)
Pi x(i) = Pi+1 x(i+1) , i = 1, . . . , L,
Iterative scheme
L
(1) xsca (1) (i) (i)
P1 = P2 (Pi )−1 Pi+1 x(L+1) .
xinc
i=2
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 3/7
4. Accuracy of gSVM for multilayered particles
10-2
10-4
10-6
Relative error
10-8
10-10
10-12
10-14
10-16 0
10 101 102 103
Number of layers
xv = 0.1 xv = 10.0
xv = 0.5 xv = 15.0
xv = 1.0 xv = 30.0
xv = 5.0
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 4/7
5. Python/SciPy
Python is a very convinient object oriented scripting language.
It is good for large projects
It is good for quick implementations
A lot of things included:
libraries for numerical computations,
access to libraries for other sciences,
data visualization,
data storage,
etc.
Speed can be comparable with the speed of low level languages
Integration with Fortran and C++.
There’s a scientific community with annual conferences.
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
6. Python/SciPy
Python is a very convinient object oriented scripting language.
It is good for large projects
It is good for quick implementations
A lot of things included:
libraries for numerical computations,
access to libraries for other sciences,
data visualization,
data storage,
etc.
Speed can be comparable with the speed of low level languages
Integration with Fortran and C++.
There’s a scientific community with annual conferences.
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
7. Python/SciPy
Python is a very convinient object oriented scripting language.
It is good for large projects
It is good for quick implementations
A lot of things included:
libraries for numerical computations,
access to libraries for other sciences,
data visualization,
data storage,
etc.
Speed can be comparable with the speed of low level languages
Integration with Fortran and C++.
There’s a scientific community with annual conferences.
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
8. Python/SciPy
Python is a very convinient object oriented scripting language.
It is good for large projects
It is good for quick implementations
A lot of things included:
libraries for numerical computations,
access to libraries for other sciences,
data visualization,
data storage,
etc.
Speed can be comparable with the speed of low level languages
Integration with Fortran and C++.
There’s a scientific community with annual conferences.
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
9. Python/SciPy
Python is a very convinient object oriented scripting language.
It is good for large projects
It is good for quick implementations
A lot of things included:
libraries for numerical computations,
access to libraries for other sciences,
data visualization,
data storage,
etc.
Speed can be comparable with the speed of low level languages
Integration with Fortran and C++.
There’s a scientific community with annual conferences.
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
10. Python/SciPy
Python is a very convinient object oriented scripting language.
It is good for large projects
It is good for quick implementations
A lot of things included:
libraries for numerical computations,
access to libraries for other sciences,
data visualization,
data storage,
etc.
Speed can be comparable with the speed of low level languages
Integration with Fortran and C++.
There’s a scientific community with annual conferences.
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
11. Python/SciPy
Python is a very convinient object oriented scripting language.
It is good for large projects
It is good for quick implementations
A lot of things included:
libraries for numerical computations,
access to libraries for other sciences,
data visualization,
data storage,
etc.
Speed can be comparable with the speed of low level languages
Integration with Fortran and C++.
There’s a scientific community with annual conferences.
Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7