PhoXonic.jl

Band structure calculation for photonic and phononic crystals using the plane wave expansion (PWE) method.

Overview

PhoXonic.jl computes eigenfrequencies and eigenmodes of periodic structures:

The name "PhoXonic" comes from Phoxonic crystals - structures that exhibit both photonic and phononic band gaps simultaneously.

Plane Wave Expansion Method

The PWE method solves the eigenvalue problem in reciprocal space by expanding fields in plane waves:

\[\psi(\mathbf{r}) = \sum_{\mathbf{G}} \psi_{\mathbf{G}} e^{i(\mathbf{k}+\mathbf{G})\cdot\mathbf{r}}\]

Photonic Crystals

For electromagnetic waves in periodic dielectric structures, Maxwell's equations lead to:

TE mode (H_z):

\[-\nabla \cdot \left( \frac{1}{\varepsilon} \nabla H_z \right) = \frac{\omega^2}{c^2} \mu H_z\]

TM mode (E_z):

\[-\frac{1}{\mu} \nabla^2 E_z = \frac{\omega^2}{c^2} \varepsilon E_z\]

Phononic Crystals

For elastic waves in periodic structures:

SH mode (u_z, out-of-plane):

\[-\nabla \cdot (C_{44} \nabla u_z) = \omega^2 \rho u_z\]

P-SV mode (ux, uy, in-plane):

\[-\nabla \cdot \boldsymbol{\sigma} = \omega^2 \rho \mathbf{u}\]

Units

PhoXonic.jl uses dimensionless units following the convention of MPB and Peacock.jl:

Photonic Crystals

  • Length: in units of lattice constant $a$
  • Frequency: in units of $c/a$ (or $\omega a / 2\pi c$)
  • Wave vector: in units of $2\pi/a$

To convert to physical units:

f [Hz] = ω × c / a
λ [m] = a / ω

Phononic Crystals

  • Length: in units of lattice constant $a$
  • Frequency: $\omega$ from eigenvalue (units depend on material constants)

For physical frequencies, material constants should be in consistent SI units (Pa, kg/m³).

Features

  • Multiple lattice types: square, hexagonal, cubic, FCC, BCC
  • Subpixel averaging for smooth boundaries
  • Band gap detection
  • Group velocity computation
  • Brillouin.jl integration for k-paths
  • Multiple solver methods: Dense, KrylovKit.jl (iterative), LOBPCG (IterativeSolvers.jl)
  • Matrix-free operators for large-scale 3D calculations (FFTW.jl, LinearMaps.jl)
  • RSCG for Green's function / DOS / LDOS computation (Krylov.jl)

Citation

If you use PhoXonic.jl in your work, please cite:

@software{phoxonic_jl,
  author       = {Sugawa, Hiroharu},
  title        = {PhoXonic.jl: Photonic and Phononic Crystal Band Structure},
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.2.1},
  doi          = {10.5281/zenodo.18055170},
  url          = {https://doi.org/10.5281/zenodo.18055170}
}

References

  • J. D. Joannopoulos et al., "Photonic Crystals: Molding the Flow of Light", Princeton University Press (2008). Book
  • M. S. Kushwaha et al., Phys. Rev. Lett. 71, 2022 (1993). DOI:10.1103/PhysRevLett.71.2022 - Phononic crystals
  • S. G. Johnson and J. D. Joannopoulos, "Block-iterative frequency-domain methods for Maxwell's equations", Opt. Express 8, 173 (2001). DOI:10.1364/OE.8.000173 - MPB