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
for given sources formula_3 (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
Due to the symmetry of the problem, the electrical field formula_6 can be expressed as product of a field formula_7 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 formula_7 and the corresponding propagation constant (wavenumber) formula_9. JCMsuite also solves the corresponding formulation for the magnetic field formula_10. 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 formula_11 and corresponding resonating fields have to be computed. No incident waves or interior sources are present. JCMsuite determines pairs of formula_6 and formula_11 or formula_14 and formula_11 fulfilling the time-harmonic Maxwell's curl-curl equation, e.g.,
for a pair of formula_6 and formula_11.
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 formula_20 within a body is governed by the heat equation
where formula_22 is the specific heat capacity, formula_23 is the mass density, formula_24 is the heat conductivity, and formula_25 is a thermal source density. Given a thermal source density formula_25 JCMsuite computes the temperature distribution formula_27 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
subject to fixed or free displacement boundary conditions. The quantities are the stiffness tensor formula_29, the linear strain formula_30, the prescribed initial strain formula_31, the displacement formula_32 (due to thermal expansion), and the prescribed force formula_33. The linear strain formula_30 relates to the displacement formula_32 by formula_36. 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.