Polarizabilities
Alphas is a module to load polarizabilities. In this module, you will find functions to compute electric and magnetic polarizabilities of several objects. The module also contains some functions to renormalize polarizabilities and to manage the multiple formats of the polarizabilities (dispatch). The list of functions (as well as how to use them) is given below. Note that $N$ denotes the number of point dipoles in the problem.
Format of the polarizabilities in the DDACore and PostProcessing functions
The functions of the DDACore and PostProcessing modules come with an automatic dispatch of the format of the polarizability. If we have $N$ dipoles, it can be:
- a complex scalar
- a 1D complex array of size $N$
- a $3\times 3$ or $6\times 6$ complex matrix.
- a 3D complex array of size $N\times 3\times 3$ or $N\times 6\times 6$
Functions Documentation
Main.CoupledElectricMagneticDipoles.Alphas.alpha0_cube
— Methodalpha0_cube(L,eps,eps_h)
Computes the quasistatic polarizability tensor of a cube of side L
and permittivity eps
in a host medium with permittivity eps_h
. Permittivities can be scalars or $3\times 3$ tensors. Outputs a $3\times 3$ float matrix with units of volume.
Main.CoupledElectricMagneticDipoles.Alphas.alpha0_sphere
— Methodalpha0_sphere(a,eps,eps_h)
Computes the quasistatic polarizability of a sphere of radius a
and permittivity eps
in a host medium with permittivity eps_h
. Permittivities can be scalars or $3\times 3$ tensors. Outputs a float with units of volume.
Main.CoupledElectricMagneticDipoles.Alphas.alpha0_volume
— Methodalpha0_volume(V,eps,eps_h)
Computes the quasistatic polarizability of any isotropic object with volume V
and permittivity eps
in a host medium with permittivity eps_h
. Permittivities can be scalars or $3\times 3$ tensors. Outputs a float with units of volume.
Main.CoupledElectricMagneticDipoles.Alphas.alpha_radiative
— Methodalpha_radiative(alpha0,knorm)
Applies the radiative correction to the polarizability matrix or scalar alpha0
(with units of volume). Outputs a complex dimensionless scalar or a (3x3) complex dimensionless matrix.
Main.CoupledElectricMagneticDipoles.Alphas.alpha_e_m_mie
— Methodalpha_e_m_mie(ka,eps,eps_h)
Computes the electric and magnetic polarizabilities from the mie coefficients $a_1$ and $b_1$ of a particle with size parameter ka
(wave number times radius), and permittivity eps
, in a host medium with permittivity eps_h
. Outputs two dimensionless scalars that are respectively the electric and the magnetic polarizability.
Main.CoupledElectricMagneticDipoles.Alphas.dispatch_e
— Methoddispatch_e(alpha_e_dl,n_particles)
Creates an iterable with the polarizability of all particles in order to facilitate the syntax for multuplying a Green's tensor by polarizability of a particle.
Arguments
alpha_e_dl
: electric polarizability, see the Alphas module's documentation for the accepted formats.n_particles
: number of particles (integer)
Outputs
alp_e
: iterable electric polarizability
Main.CoupledElectricMagneticDipoles.Alphas.dispatch_e_m
— Methoddispatch_e_m(alpha_e_dl,alpha_m_dl,n_particles)
Creates an iterable with the polarizability of all particles in order to facilitate the syntax for multuplying a Green's tensor by the polarizability of a particle.
Arguments
alpha_e_dl
: electric polarizability, see the Alphas module's documentation for the accepted formats.alpha_m_dl
: magnetic polarizability, see the Alphas module's documentation for the accepted formats.n_particles
: number of particles (integer)
Outputs
alp_e
: iterable electric polarizabilityalp_m
: iterable magnetic polarizability
Main.CoupledElectricMagneticDipoles.Alphas.dispatch_e_m
— Methoddispatch_e_m(alpha_dl,n_particles)
Creates an iterable with the polarizability of all particles in order to facilitate the syntax for multuplying a Green's tensor by the polarizability of a particle.
Arguments
alpha_dl
: polarizability 6x6 complex matrix, see the Alphas module's documentation for the accepted formats.n_particles
: number of particles (integer)
Outputs
alp
: iterable polarizability
Main.CoupledElectricMagneticDipoles.Alphas.renorm_alpha
— Methodrenorm_alpha(knorm,alpha)
Renormalizes any polarizability alpha
with units of volume in a dimensionless polarizability by multiplying by $k^3/4\pi$. knorm
is the wave number in the medium.
Main.CoupledElectricMagneticDipoles.Alphas.denorm_alpha
— Methoddenorm_alpha(knorm,alpha)
Denormalizes any dimensionless polarizability alpha
in a polarizability with units of volume by multiplying by $4\pi /k^3$. knorm
is the wave number in the medium.