Internal functionsΒΆ

CTMM_EXPORT ctmm_complex kz(ctmm_complex n, ctmm_complex k, double vwl)

Calculate kz.

Calculate the z (along stack) component of the wavevector from the x (parallel to interfaces) component of the wavevector in the zeroth layer.

Return

Wavevector z component.

Parameters
  • n: Refractive index of layer.

  • k: Wavevector x component in zeroth layer.

  • vwl: Vacuum wavelength of illuminating light.

CTMM_EXPORT void evaluate_prop(ctmm_matrix * pmat, double d, ctmm_complex n, ctmm_complex k, double vwl)

Evaluate propigation matrix, for internal use.

Parameters
  • pmat: Matrix to be filled.

  • d: Layer thickness.

  • n: Layer refractive index.

  • k: Wavevector component parallel to interfaces.

  • vwl: Vacuum wavelength of illuminating light.

CTMM_EXPORT void fresnel_coefs(ctmm_complex * coefs, ctmm_complex n0, ctmm_complex n1, ctmm_complex k, double vwl)

Calculate Fresnel coefficients.

Parameters
  • coefs: Array to be filled with coefficients.

  • n0: Refractive index in incident layer.

  • n1: Refractive index in exident layer.

  • k: Wavevector component parallel to interfaces.

  • vwl: Vacuum wavelength of illuminating light.

CTMM_EXPORT void evaluate_tran(ctmm_matrix * tmat, ctmm_complex k, ctmm_complex n0, ctmm_complex n1, double vwl)

Calculate transfer matrix, for internal use.

Parameters
  • tmat: Matrix to be filled.

  • k: Wavevector component parallel to interfaces.

  • n0: Refractive index in incident layer.

  • n1: Refractive index in exident layer.

  • vwl: Vacuum wavelength of illuminating light.