# JCMsuite

JCMsuite is a finite element analysis software package for the simulation and analysis of electromagnetic waves, elasticity and heat conduction. It also allows a mutual coupling between its optical, heat conduction and continuum mechanics solvers. The software is mainly applied for the analysis and optimization of nanooptical and microoptical systems. Its applications in research and development projects include dimensional metrology systems, photolithographic systems, photonic crystal fibers, VCSELs, Quantum-Dot emitters, light trapping in solar cells, and plasmonic systems. The design tasks can be embedded into the high-level scripting languages MATLAB and Python, enabling a scripting of design setups in order to define parameter dependent problems or to run parameter scans.

## Problem Classes

JCMsuite allows to treat various physical models (problem classes).

### Optical Scattering

Scattering problems are problems, where the refractive index geometry of the objects is given, incident waves as well as (possibly) interior sources are known and the response of the structure in terms of reflected, refracted and diffracted waves has to be computed. The system is described by time-harmonic Maxwell's Equation
    $\nabla \times \mu ^{-1}\nabla \times \mathbf {E} -\omega ^{2}\epsilon \mathbf {E} =-i\omega \mathbf {J}$
    $\nabla \cdot \epsilon \mathbf {E} =0$.
for given sources $\mathbf {J}$ (current densities, e.g. electric dipoles) and incident fields. In scattering problems one considers the field exterior to the scattering object as superposition of source and scattered fields. Since the scattered fields move away from the object they have to satisfy a radiation condition at the boundary of the computational domain. In order to avoid reflections at the boundaries, they are modelled by the mathematical rigorous method of a perfectly matched layer (PML).

### Optical Waveguide Design

Waveguides are structures which are invariant in one spatial dimension (e. g. in z-direction) and arbitrarily structured in the other two dimensions. To compute waveguide modes, the Maxwell's curl-curl Equation is solved in the following form
    $\nabla \times \mu ^{-1}\nabla \times \mathbf {E} =\epsilon \omega ^{2}\mathbf {E}$
    $\mathbf {E} =\mathbf {E} (x,y)e^{ik_{z}z}.$
Due to the symmetry of the problem, the electrical field $\mathbf {E}$ can be expressed as product of a field $\mathbf {E} (x,y)$ depending just on the position in the transverse plane and a phase factor. Given the permeability, permittivity and frequency, JCMsuite finds pairs of the electric field $\mathbf {E} (x,y)$ and the corresponding propagation constant (wavenumber) $k_{z}$. JCMsuite also solves the corresponding formulation for the magnetic field $\mathbf {H} (x,y)$. A mode computation in cylindrical and twisted coordinate systems allows to compute the effect of fiber bending.

### Optical Resonances

Resonance problems are problems in 1D, 2D, or 3D where the refractive index geometry of resonating objects is given, and the angular frequencies $\omega$ and corresponding resonating fields have to be computed. No incident waves or interior sources are present. JCMsuite determines pairs of $\mathbf {E}$ and $\omega$ or $\mathbf {H}$ and $\omega$ fulfilling the time-harmonic Maxwell's curl-curl equation, e.g.,
    $\nabla \times \mu ^{-1}\nabla \times \mathbf {E} =\epsilon \omega ^{2}\mathbf {E}$
    $\nabla \cdot \epsilon \mathbf {E} =0$.
for a pair of $\mathbf {E}$ and $\omega$.
Typical applications are the computation of cavity modes (e.g., for semiconductor lasers), plasmonic modes and photonic crystal band-structures.

### Heat Conduction

Ohmic losses of the electromagnetic field can cause a heating, which distributes over the object and changes the refractive index of the structure. The temperature distribution $T$ within a body is governed by the heat equation
    $\partial _{t}\left(c\rho T\right)=\nabla \cdot k\nabla T+q$
where $c$ is the specific heat capacity, $\rho$ is the mass density, $k$ is the heat conductivity, and $q$ is a thermal source density. Given a thermal source density $q$ JCMsuite computes the temperature distribution $T.$ Heat convection or heat radiation within the body are not supported. The temperature profile can be used as an input to optical computations to account for the temperature dependence of the refractive index up to linear order.

### Linear Elasticity

A heating due to Ohmic losses may also induce mechanical stress via thermal expansion. This changes the birefringence of the optical element according to the photoelastic effect and hence may influence the optical behavior. JCMsuite can solve linear problems of continuum mechanics. The equations governing linear elasticity follow from the minimum principle for the elastic energy
    $\int _{\Omega }\epsilon _{ij}C_{ijkl}\left(\epsilon _{kl}-\epsilon _{kl}^{\text{init}}\right)-u_{i}F_{i}\rightarrow \min ,$
subject to fixed or free displacement boundary conditions. The quantities are the stiffness tensor $C_{ijkl}$, the linear strain $\epsilon _{ij}$, the prescribed initial strain $\epsilon _{ij}^{\text{init}}$, the displacement $u_{i}$ (due to thermal expansion), and the prescribed force $F_{i}$. The linear strain $\epsilon _{ij}$ relates to the displacement $u_{i}$ by $\epsilon _{ij}={\frac {1}{2}}\left(\partial _{i}u_{j}+\partial _{j}u_{i}\right)$. The computed strain can be used as an input to optical computations to account for the stress dependence of the refractive index. Stress and strain are related by Young's modulus.

## Numerical method

JCMsuite relies on the finite element method. Details of the numerical implementation have been published in various contributions, e.g. The performance of the methods has been compared to alternative methods in various benchmarks, e.g. Due to the attainable high numerical accuracy JCMsuite has been used as reference for results obtained with analytical (approximative) methods, e.g.