pymiediff.Particle

pymiediff.Particle#

class pymiediff.Particle(r_core, mat_core, r_shell=None, mat_shell=None, mat_env=1.0, device=None)#
__init__(r_core, mat_core, r_shell=None, mat_shell=None, mat_env=1.0, device=None)#

Core-shell particle class

High-level user interface, does not support multiple particles. To evaluate multiple particles at once directly use pmd.farfield.cross_sections or pmd.farfield.angular_scattering which support particle vectorisation.

Parameters:
  • r_core (float) – core radius (in nm)

  • mat_core (pymiediff material) – core material. Either class for pymiediff.materials or float. In the case of a float, a constant material pymiediff.materials.MatConstant will be created using the float as refractive index value.

  • r_shell (float, optional) – shell radius (in nm). If None, create homogeneous particle without shell. Defaults to None.

  • mat_shell (pymiediff material, optional) – Shell material. Defaults to None.

  • mat_env (pymiediff material, optional) – Environment material. Defaults to 1.0.

Methods

__init__(r_core, mat_core[, r_shell, ...])

Core-shell particle class

get_angular_scattering(k0, theta, **kwargs)

get angular scattering

get_cross_sections(k0, **kwargs)

get farfield cross sections

get_material_permittivities(k0)

return spectral permittivities of core, shell and environment

set_device(device)