Published June 29, 2022 | Version v1
Software Open

CDDA

  • 1. University of Cantabria
  • 2. CNR NANOTEC

Description

# CDDA

We provide a code for scattering calculations based on the discrete dipole approximation (DDA) method. The novelty of this code is the ability of running calculations in presence of chiral matter, i.e., materials that satisfy the
following electromagnetic constitution relation: D = epsilon_0*epsilon*E - i*mu_0*G*H ; B = i*G*E + mu_0*mu*H. With epsilon_0, epsilon, mu_0 and mu the vacuum and relative permittivity and permeability respectively. G is the
bi-anisotropic factor that considers the chirality of the reciprocal media. This version admits anisotropy but not inhomogeneity in the scatterer, the surrounding media or illumination.

## Requirements

- MATLAB

## Code

EM SOURCES

- **plane_wave.m** Generates a 6D vectorial function with the three electric and magnetic components of the electromagnetic field corresponding to a plane wave with defined direction of propagation and polarization.

SCATTERER DISCRETIZATION

- **nameScatterer_dictribution_dipoles.m** Generates a matrix of size Nx3 with N positions equally distributed following a cubic net of a given lattice constant. The resulting matrix describes the position where the dipoles that
discretize the scatterer attending to the geometrical parameters that define its size and position.

- **rectangle_distribution_dipoles.m**  For parallelepiped of given sides.
- **rectangle_shell_distribution_dipoles.m**  For parallelepiped shell of given thichkness in the sides.
- **spherical_distribution_dipoles.m**  For sphere of a given radius.
- **spherical_shell_distribution_dipoles.m**  For spherical shell of a given internal and external radius.

- **cm_polarizability.m**   Generates the tensorial polarizability of the dipolar units by means of the Clausius-Mossotti calculation in terms off the scatterer and surrounding media tensorial permittivity or permeability taking
into account the separation between dipoles and the radiative correction.
- **joinScatterers.m** Joins the results of multiples scatterers discretization the cases where more than one scatterer are present.
- **polarizabilities.m**  Generates the tensorial polarizabilities for the electric, magnetic and chiral response of the unit dipoles of the discretized scatterer attending to the lattice constant, the wavenumber and permittivities and
permeabilities of the inner and outer medium as so the bi-anisotropic factor of the scatterer.

- **showCut.m** Shows the position of the dipoles applying a transversal cut to the distribution.

CDDA SOLUTION

- **dipoles_coupling_matrix.m**  Generates the interaction 6x6 matrix between two dipoles given their positions and polarizabilities.
- **global_interaction_matrix.m** Generates a 6Nx6N matrix containing all the individual interaction matrices.
- **equation_solving.m**  Solves the coupled equations that are obtained from evaluating the plane wave at each position and the global interaction matrix. The result is a Nx6 matrix containing the electric and magnetic components
of the exciting field (incident + scattered).


SCATTERING CALCULATIONS

- **near_fields.m** With the solution of the coupled equation, the polarizabilities and position of the dipoles calculates the scattered field at any point out of the scatterer.
- **far_fields.m**  With the solution of the coupled equation, the polarizabilities and position of the dipoles calculates the scattered field at any point out of the scatterer applying the far field approximation.
- **cross_sections.m** With the solution of the coupled equation, the polarizabilities of the dipoles calculates the extinction, absorption and scattering cross sections.


EXAMPLES
- **example_sphere.m** Example that illustrates how to use the functions in order to obtain typical scattering results in the case of a single scattering sphere.
- **example_sphere_shell.m** Example that illustrates how to use the functions in order to obtain scattering results in the case of more than one scatterer. In this case a sphere covered by a shell.

 

Related Publication: S.A. Rosales, P. Albella, F. González, Y. Gutiérrez, F. Moreno, CDDA: extension and analysis of the discrete dipole approximation for chiral systems, Opt. Express. 29 (2021) 30020. https://doi.org/10.1364/OE.434061.

Files

CDDA_.zip

Files (23.3 kB)

Name Size Download all
md5:88bf467a3d911ef8ff7a249073d8c56f
23.3 kB Preview Download

Additional details

Funding

European Commission
PHEMTRONICS - Active Optical Phase-Change Plasmonic Transdimensional Systems Enabling Femtojoule and Femtosecond Extreme Broadband Adaptive Reconfigurable Devices 899598