Ksenia Baryshnikova: Practice on Multipole decomposition in COMSOL Multiphysics®
Useful links:
Scattering by gold nanosphere:
Webinar in russian:
COMSOL Multiphysics® simulation software is used. Website:
COMSOL is a registered trademark of COMSOL AB, which has not authorized, sponsored, or approved this video.
0:00 Intro
0:53 Start of the talk
5:00 Multipole decomposition. Reminder.
9:44 Geometry of the problem. Mie scattering.
24:40 Mie calculator
33:00 Comsol multiphysics. Mie scattering problem. Geometry, parameters and materials.
46:55 Electromagnetic waves, frequency domain (emw).
54:00 Mesh
1:03:15 Launching the computation
1:08:19 Tutorials from the COMSOL® website
1:12:45 Results. Scattering cross-section. Integration over external surface.
1:20:20 Multipolar decomposition. Formulae.
1:22:00 Multipolar decomposition performing. (Approximate formulae for Mie coefficients). Electric dipole
1:24:50 Magnetic dipole
1:29:15 Scattering cross-section
1:30:40 Launching the computation. Answering the questions
1:34:40 Results
When using the following materials, please, give a link to the papers
and to this video.
rr sqrt(x^2 y^2 z^2) ““
jx 1i*w* ““
jy 1i*w* ““
jz 1i*w* ““
px2 -intop00(1i*jx*sqrt(pi/(2*k0*rr))*besselj(0.5,k0*rr)/w 0.5*1i*k0^2*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*(3*(x*jx y*jy z*jz)*x-rr^2*jx)/w/rr^2/k0^2) ““
py2 -intop00(1i*jy*sqrt(pi/(2*k0*rr))*besselj(0.5,k0*rr)/w 0.5*1i*k0^2*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*(3*(x*jx y*jy z*jz)*y-rr^2*jy)/w/rr^2/k0^2) ““
pz2 -intop00(1i*jz*sqrt(pi/(2*k0*rr))*besselj(0.5,k0*rr)/w 0.5*1i*k0^2*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*(3*(x*jx y*jy z*jz)*z-rr^2*jz)/w/rr^2/k0^2) ““
mx2 -intop00(1.5*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*(y*jz-z*jy)/k0/rr) ““
my2 -intop00(1.5*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*(z*jx-x*jz)/k0/rr) ““
mz2 -intop00(1.5*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*(x*jy-y*jx)/k0/rr) ““
Qxx2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*(3*(x*jx jx*x)-2*(x*jx y*jy z*jz))/w/k0/rr) ““
Qyy2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*(3*(y*jy jy*y)-2*(x*jx y*jy z*jz))/w/k0/rr) ““
Qzz2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*(3*(z*jz jz*z)-2*(x*jx y*jy z*jz))/w/k0/rr) ““
Qxy2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*3*(x*jy jx*y)/w/k0/rr) ““
Qxz2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*3*(x*jz jx*z)/w/k0/rr) ““
Qyx2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*3*(x*jy jx*y)/w/k0/rr) ““
Qzx2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*3*(x*jz jx*z)/w/k0/rr) ““
Qzy2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*3*(z*jy jz*y)/w/k0/rr) ““
Qyz2 -intop00(3*1i*sqrt(pi/(2*k0*rr))*besselj(1.5,k0*rr)*3*(z*jy jz*y)/w/k0/rr) ““
Mxx2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((y*jz-z*jy)*x x*(y*jz-z*jy))/k0^2/rr^2) ““
Myy2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((z*jx-x*jz)*y y*(z*jx-x*jz))/k0^2/rr^2) ““
Mzz2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((x*jy-y*jx)*z z*(x*jy-y*jx))/k0^2/rr^2) ““
Mxy2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((y*jz-z*jy)*y x*(z*jx-x*jz))/k0^2/rr^2) ““
Mxz2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((y*jz-z*jy)*z x*(x*jy-y*jx))/k0^2/rr^2) ““
Mzx2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((x*jy-y*jx)*x z*(y*jz-z*jy))/k0^2/rr^2) ““
Mzy2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((x*jy-y*jx)*y z*(z*jx-x*jz))/k0^2/rr^2) ““
Myx2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((z*jx-x*jz)*x y*(y*jz-z*jy))/k0^2/rr^2) ““
Myz2 -intop00(5*sqrt(pi/(2*k0*rr))*besselj(2.5,k0*rr)*((z*jx-x*jz)*z y*(x*jy-y*jx))/k0^2/rr^2) ““
ScatED (k0^4*na/(12*pi*epsilon0_const^2*c_const*mu0_const))*(abs(px2)^2 abs(py2)^2 abs(pz2)^2) ““
ScatMD ((k0^4*na^2/(12*pi*epsilon0_const*c_const))*(abs(mx2)^2 abs(my2)^2 abs(mz2)^2)) ““
ScatEQ k0^6*na^2/(1440*pi*epsilon0_const^2*c_const*mu0_const)*(abs(Qxx2)^2 abs(Qxy2)^2 abs(Qxz2)^2 abs(Qyx2)^2 abs(Qyy2)^2 abs(Qyz2)^2 abs(Qzx2)^2 abs(Qzy2)^2 abs(Qzz2)^2) ““
ScatMQ k0^6*na^4/(160*pi*epsilon0_const*c_const)*(abs(Mxx2)^2 abs(Mxy2)^2 abs(Mxz2)^2 abs(Myx2)^2 abs(Myy2)^2 abs(Myz2)^2 abs(Mzx2)^2 abs(Mzy2)^2 abs(Mzz2)^2) ““
ScatSum (k0^4*na/(12*pi*epsilon0_const^2*c_const*mu0_const))*(abs(px2)^2 abs(py2)^2 abs(pz2)^2) ((k0^4*na^2/(12*pi*epsilon0_const*c_const))*(abs(mx2)^2 abs(my2)^2 abs(mz2)^2)) k0^6*na^2/(1440*pi*epsilon0_const^2*c_const*mu0_const)*(abs(Qxx2)^2 abs(Qxy2)^2 abs(Qxz2)^2 abs(Qyx2)^2 abs(Qyy2)^2 abs(Qyz2)^2 abs(Qzx2)^2 abs(Qzy2)^2 abs(Qzz2)^2) k0^6*na^4/(160*pi*epsilon0_const*c_const)*(abs(Mxx2)^2 abs(Mxy2)^2 abs(Mxz2)^2 abs(Myx2)^2 abs(Myy2)^2 abs(Myz2)^2 abs(Mzx2)^2 abs(Mzy2)^2 abs(Mzz2)^2) ““