# JCMsuite

JCMsuite ist eine Software zur Simulation und Analyse physikalischer Vorgänge des Elektromagnetismus, der Elastik und der Wärmeleitung, die auch miteinander gekoppelt sein können. Die Lösung der zugrundeliegenden partiellen Differenzialgleichungen basiert auf der Finite-Elemente-Methode. Die Hauptanwendungsgebiete der Software sind die Analyse und Optimierung nano-optischer und mikro-optischer Systeme. In Forschungs- und Entwicklungsprojekten wurde die Software unter anderem in den Bereichen Scatterometrie, Photolithographie, photonische Kristallfasern, VCSELs, Quantenpunkt-Emitter, Absorptionsverstärkung in Solarzellen und Oberflächenplasmonen eingesetzt.

## Numerische Methode

JCMsuite nutzt die Finite-Elemente-Methode für die Lösung der partiellen Differenzialgleichungen. Die Softwarefunktionen lassen sich durch die Skriptsprachen MATLAB und Python steuern, sodass parameterabhängige Geometrien definiert und Parameter-Scans durchgeführt werden können. Details der numerischen Implementierung wurden in mehreren wissenschaftlichen Beiträgen veröffentlicht, z. B. in. Die Leistungsfähigkeit der numerischen Methode wurde in mit alternativen numerischen Verfahren verglichen. Aufgrund der hohen erreichbaren Genauigkeit wurde die JCMsuite als Referenz für die Bewertung analytischer (approximativer) Verfahren verwendet.

## Problemklassen

JCMsuite ermöglicht die Behandlung unterschiedlicher physikalischer Problemklassen.

### Lichtstreuung

Bei elektromagnetischen Streuproblemen werden die Geometrie der Streuobjekte (d. h. die räumliche Verteilung der Permeabilität $\mu$ und Permittivität $\epsilon$), die einfallenden Wellen und ggf. interne Quellen vorgegeben. Gesucht ist die Systemantwort in Form der reflektierten, gebrochenen und gestreuten elektromagnetischen Wellen. Das zeitharmonische Problem mit einer Frequenz $\omega$ wird im Frequenzraum gelöst. Die Zeitabhängigkeit der elektromagnetischen Felder kann dann als zeitabhängiger Phasenfaktor abgespalten werden, d. h. $\mathbf {E} (\mathbf {r} ,t)=\Re (\mathbf {E} (\mathbf {r} )e^{-i\omega t})$ und $\mathbf {H} ({\vec {r}},t)=\Re (\mathbf {H} ({\vec {r}})e^{-i\omega t})$. Ausgehend von den Maxwell-Gleichungen führt dies z. B. für das elektrische Feld $\mathbf {E} (\mathbf {r} )$ auf die zeitharmonischen Differenzialgleichungen
    $\nabla \times \mu ^{-1}\nabla \times \mathbf {E} -\epsilon \omega ^{2}\mathbf {E} =-i\omega \mathbf {J}$,
    $\nabla \cdot \epsilon \mathbf {E} =0$.
Dabei ist $\mathbf {J}$ die Quellstromdichte, die z. B. von elektrischen Dipolen erzeugt wird. Bei Streuproblemen betrachtet man die elektromagnetischen Felder außerhalb der Streuobjekte als eine Superposition der einfallenden und gestreuten Felder. Die gestreuten Felder erfüllen dabei am Rand des Rechengebiets eine Abstrahlbedingung, da sie sich von den Streuobjekten entfernen. Um nicht-physikalische Reflexionen am Rand des Rechengebiets zu vermeiden, wird eine Perfectly-Matched-Layer-Randbedingung verwendet.

### Lichtwellenleiter-Design

Lichtwellenleiter sind Strukturen, die in einer Raumrichtung (z. B.in $z$-Richtung) invariant sind und in den zwei anderen transversalen Raumrichtungen eine beliebige Struktur aufweisen. Analog zum Fall der Lichtstreuung wird ein zeitharmonisches Problem gelöst, indem der zeitabhängige Phasenfaktor $e^{-i\omega t}$ von den elektromagnetischen Feldern abgespalten wird. Aufgrund der Symmetrie des Problems können die Felder $\mathbf {E} (\mathbf {r} )$ und $\mathbf {H} (\mathbf {r} )$ weiterhin als Produkt eines Phasenfaktors $e^{ikz}$ und eines Feldes, das nur von den transversalen Koordinaten $x$ und $y$ abhängt, dargestellt werden. Ausgehend von den Maxwell-Gleichungen führt dies z. B. für das elektrische Feld $\mathbf {E} (\mathbf {r} )$ auf die zeitharmonische Differenzialgleichung
    $\nabla \times \mu ^{-1}\nabla \times \mathbf {E} =\epsilon \omega ^{2}\mathbf {E}$,
    mit $\mathbf {E} =\mathbf {E} (x,y)e^{ikz}$.
Für eine vorgegebene Frequenz $\omega$ und Wellenleitergeometrie bestimmt JCMsuite Paare von Propagationskostanten (Wellenzahlen) $k$ und zugehörigen Feldern $\mathbf {E} _{k}(x,y)$. Analog berechnet JCMsuite auch die entsprechenden Differenzialgleichungen für das magnetische Feld $\mathbf {H} (x,y)$. Effekte einer Verbiegung der Wellenleiter können durch die Nutzung krummliniger Koordinatensysteme bestimmt werden.

### Optische Resonanzen

Bei Resonanzproblemen ist die ein-, zwei- oder dreidimensionale Geometrie des Resonanzkörpers vorgegeben. Im Unterschied zum Fall der Lichtstreuung sind keine einfallenden Felder oder Quellstromdichten vorhanden. Dies führt z. B. für das elektrische Feld $\mathbf {E} (\mathbf {r} )$ auf die zeitharmonischen Differenzialgleichungen
    $\nabla \times \mu ^{-1}\nabla \times \mathbf {E} =\epsilon \omega ^{2}\mathbf {E}$,
    $\nabla \cdot \epsilon \mathbf {E} =0$.
JCMsuite bestimmt Paare von Resonanzfrequenzen $\omega$ und zugehörigen Resonanzfeldern $\mathbf {E} (\mathbf {r} )$ (bzw. $\mathbf {H} (\mathbf {r} )$), die die zeitharmonischen Differenzialgleichungen erfüllen. Typische Anwendungen sind die Berechnung von Eigenmoden optischer Resonatoren (z. B. von Halbleiterlasern), von plasmonischen Moden oder von Bandstrukturen photonischer Kristalle.

### Wärmeleitung

Durch ohmsche Verluste der elektromagnetischen Felder entsteht Wärme, die sich über die Objekte ausbreitet und deren Brechungsindex ändern kann. Die Temperaturverteilung $T$ eines Körpers wird durch die Wärmeleitungsgleichung
    $\partial _{t}\left(c\rho T\right)=\nabla \cdot k\nabla T+q$
bestimmt. Dabei sind $c$ die Wärmekapazität, $\rho$ die Massendichte, $k$ die Wärmeleitfähigkeit und $q$ ist die volumetrische Wärmestromdichte. Für eine gegebene Wärmestromdichte $q$ bestimmt die JCMsuite die Temperaturverteilung $T.$ Wärmekonvektion oder Wärmestrahlung innerhalb des Körpers werden nicht unterstützt. Das Temperaturprofil kann als Eingabe für optische Berechnungen verwendet werden, um die Temperaturabhängigkeit des Brechungsindexes bis zur linearen Ordnung zu berücksichtigen.

### Lineare Elastizität

Eine Erwärmung durch ohmsche Verluste kann zu einer thermischen Expansion und damit zu Spannungen innerhalb eines Objekts führen. Aufgrund des photoelastischen Effekts kann sich dadurch das doppelbrechende Verhalten eines Objekts ändern. Um die auftretenden Spannungen innerhalb einer Geometrie zu bestimmen, löst die JCMsuite Gleichungen für die lineare Elastizität eines Körpers, die dem Minimumprinzip für die elastische Energie folgen
    $\int _{\Omega }\epsilon _{ij}C_{ijkl}\left(\epsilon _{kl}-\epsilon _{kl}^{\text{init}}\right)-u_{i}F_{i}\rightarrow \min .$
Zusätzlich gelten freie oder fixierte Randbedingungen. Dabei sind $C_{ijkl}$ der Elastizitätstensor, $\epsilon _{ij}$ der lineare Spannungstensor, $\epsilon _{ij}^{\text{init}}$ der Tensor der vorgegebenen initialen Spannung, $u_{i}$ die lineare Verschiebung (durch thermische Expansion) und $F_{i}$ ein vorgegebenes Kraftfeld. Der lineare Spannungstensor $\epsilon _{ij}$ steht in Beziehung zur Verschiebung $u_{i}$ über $\epsilon _{ij}={\frac {1}{2}}\left(\partial _{i}u_{j}+\partial _{j}u_{i}\right)$. Die durch die JCMsuite berechnete Spannung kann als Eingabe für optische Berechnungen dienen, um die Abhängigkeit des Brechungsindex von Materialspannungen zu berücksichtigen.