Wiki source code of Computational light scattering

Last modified by aipentti@helsinki_fi on 2024/01/09 08:28

Show last authors
1 Course page for Computational light scattering — Laskennallinen valonsironta
2
3 ==== Advanced Course, 5 credits, PAP315, Autumn 2022, Period 1 ====
4
5 Computational light scattering assesses elastic light scattering (electromagnetic scattering) by particles of arbitrary sizes, shapes, and optical properties. Particular attention is paid to advanced computational methods for both single and multiple scattering, that is, to methods for isolated particles and extended media of particles (cf. dust particles in cometary comae and particulate media on asteroids). Theoretical foundations are described for the physics of light scattering based on the Maxwell equations and for a number of computational methods. In single scattering, the methods include, for example, the volume integral equation, discrete-dipole approximation, T-matrix or transition matrix, and finite-difference time-domain methods. In multiple scattering, the methods are typically based on Monte Carlo ray tracing. These include far-field radiative transfer and coherent backscattering methods and their extensions incorporating full-wave interactions. Students are engaged in developing numerical methods for specific scattering problems. The development and computations take place in both laptop and supercomputing environments.
6
7 Course is held on Mondays 10-12 and Fridays 12-14. Lectures are given in hybrid mode, both in Zoom and at Physicum D116. Exercise sessions are on Physicum D104, Fridays 14-16.
8
9 Lectures by Karri Muinonen, Anne Virkki, and Antti Penttilä.
10
11 Recommended preliminary knowledge: basic courses in Physics, basic courses in Mathematics, Electrodynamics, Mathematical Methods for Physicists I & II, Scientific Computing I.
12
13 ----
14
15 === Information ===
16
17 * [[Information package about course details>>attach:CLS_info_2022-10-14.pdf]]
18
19 === Lecture material ===
20
21 * [[Lecture 1>>attach:Lecture01.pdf]]
22 * Lecture 2, [[part 1>>attach:Lecture02a.pdf]], [[2>>attach:Lecture02b.pdf]], and [[3>>attach:Lecture02c_HT.pdf]]
23 * Lecture 3, [[part 1>>attach:Lecture03a.pdf]], [[2>>attach:Lecture03b_Draine.pdf]], [[3>>attach:Lecture03c_Penttila_etal_JQSRT2007.pdf]], and [[4>>attach:Lecture03b-DDA.pdf]]
24 * Lecture 4, [[part 1>>attach:Lecture04a.pdf]], [[2>>attach:Lecture04b_Riskila_etal_JQSRT2021.pdf]], [[3>>attach:Lecture04c_Yurkin_Huntemann1.pdf]], [[4>>attach:Lecture04d_Yurkin_Huntemann2.pdf]], [[5>>attach:Lecture04e_Lindell_etal_JOSA_A1991.pdf]], [[6>>attach:Lecture04f_Muinonen_etal_JOSA_A1991.pdf]], and [[7>>attach:Lecture04b-surface_DDA.pdf]]
25 * Lecture 5, [[part 1>>attach:Lecture05a_M_etal_1996.pdf]], [[2>>attach:Lecture05b_M_ApplOpt1989.pdf]], [[3>>attach:Lecture05c_Chang_etal_JQSRT2005.pdf]], [[4>>attach:Lecture05d_Inhomogeneous_plane_waves.pdf]], and [[5>>attach:Lecture05e.pdf]]
26 * [[Lecture 6>>attach:lecture06.pdf]]
27 * Lecture 7, [[part 1>>attach:Lecture7a-1.pdf]], [[2>>attach:Lecture7a-2.pdf]], and [[3>>attach:Lecture7b.pdf]]
28 * Lecture 8, [[part 1>>attach:Lecture8a-1.pdf]], [[2>>attach:Lecture8a-2.pdf]], and [[3>>attach:Lecture8b.pdf]]
29 * Lecture 9, [[part 1>>attach:Lecture09a.pdf]] and [[2>>attach:Lecture09b.pdf]]
30 * Lecture 10, [[part 1>>attach:Lecture10a.pdf]], [[2>>attach:Lecture10b_Muinonen_WRM2004.pdf]], and [[3>>attach:Lecture10c_Muinonen_etal_ApJ2012.pdf]]
31 * Lecture 11, [[part 1>>attach:Lecture11a.pdf]], [[2>>attach:Lecture11b_Muinonen_etal_RadioScience2017.pdf]], and
32 [[ 3>>attach:Lecture11b.pdf]]
33 * Lecture 12, [[part 1>>attach:Lecture12a_Vaisanen_etal_JQSRT2020.pdf]], [[2>>attach:Lecture12b_Vaisanen_etal_OL2020.pdf]]
34 * [[Lecture 13>>attach:Lecture_Radar.pdf]]
35
36 \\
37
38 ----
39
40 === Exercises ===
41
42 * [[Exercise 1>>attach:exercise1.pdf]]
43 * [[Exercise 2>>attach:exercise2.pdf]]
44 * [[Exercise 3>>attach:exercise3.pdf]]
45 * [[Exercise 4>>attach:exercise4.pdf]]
46 * [[Exercise 5>>attach:exercise5.pdf]]
47
48 \\
49
50 * [[Project task 1>>attach:Project_task_1.pdf]]
51 * [[Project task 2>>attach:Project_task_2.pdf]]
52
53 ----
54
55 === (% style="color: rgb(0,0,0);" %)Background material(%%) ===
56
57 * P. C.Y. Chang, J.G. Walker, K.I. Hopcraft. [[Ray tracing in absorbing media>>attach:JQSRT_Chang_et_al_2005.pdf]]. JQSRT 96 (2005).
58 * Mie codes in Python: [[attach:mie.py]]or in Fortran77:[[attach:mie.f]]
59 * (% style="color: rgb(34,34,34);letter-spacing: 0.0px;" %)Mishchenko's //T//-matrix code for particles in random orientation, modified to read parameters from an input file: [[attach:tmd-lp.f]], [[attach:lpd.f]], [[attach:tmd.par.f]]. An example input file [[attach:default.in]], and article explaining the parameters: [[attach:98_jqsrt_60_309.pdf]]
60 * (% style="color: rgb(34,34,34);letter-spacing: 0.0px;" %)Example input file for Mackowski's MSTM code:[[attach:mstm-input.inp]]
61 * (% style="color: rgb(34,34,34);letter-spacing: 0.0px;" %)Example input files for RT-CB code: [[attach:rayleigh-plane.inp]]
62 * (% style="color: rgb(34,34,34);letter-spacing: 0.0px;" %)Alternative [[Makefile >>attach:Makefile]]for RT-CB, copy to directory src\dsfmt under the rt-cb root folder
63
64 \\
65
66 ----
67
68 === Suggested reading ===
69
70 * J. D. Jackson: Classical Electrodynamics
71 * C. F. Bohren & D. R. Huffman: Absorption and Scattering of Light by Small Particles
72 * M. I. Mishchenko, J. W. Hovenier & L. D. Travis: Light Scattering by Nonspherical Particles: Theory, Measurements, and Applications
73 * H. C. van de Hulst: Light Scattering by Small Particles
74
75 \\
76
77 ----
78
79 Previous versions of this course
80
81 * [[Fall 2020>>doc:PAP315.Computational light scattering.Computational light scattering, 2020.WebHome]]
82 * [[Fall 2016>>doc:PAP315.Computational light scattering.Electromagnetic Scattering I 2016.WebHome]]
83 * [[Fall 2014>>doc:PAP315.Computational light scattering.Electromagnetic Scattering I 2014.WebHome]]
84 * [[Fall 2012>>doc:PAP315.Computational light scattering.Electromagnetic Scattering I 2012.WebHome]]
85
86 \\
87
88 \\
89
90 \\
91
92 (((
93 (% class="gtx-trans-icon" %)
94 (((
95 \\
96 )))
97 )))
98
99 (((
100 (% class="gtx-trans-icon" %)
101 (((
102 \\
103 )))
104 )))