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  (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  can be expressed as product of a field  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  and the corresponding propagation constant (wavenumber) . JCMsuite also solves the corresponding formulation for the magnetic field . 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  and corresponding resonating fields have to be computed. No incident waves or interior sources are present. JCMsuite determines pairs of  and  or  and  fulfilling the time-harmonic Maxwell's curl-curl equation, e.g.,

. 
for a pair of  and .

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  within a body is governed by the heat equation

where  is the specific heat capacity,  is the mass density,  is the heat conductivity, and  is a thermal source density. Given a thermal source density  JCMsuite computes the temperature distribution  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 , the linear strain , the prescribed initial strain , the displacement  (due to thermal expansion), and the prescribed force . The linear strain  relates to the displacement  by . 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.

References 

Finite element software
Finite element software for Linux
Computer-aided engineering software
Optical software
Electromagnetic simulation software