RP Photonics logo
RP Photonics
Modellierungs-Software
Technische Beratung zu Lasern, nichtlineare Optik, Faseroptik etc.
profitieren Sie vom Wissen und der Erfahrung eines Top-Experten!
Leistungsfähige Simulations- und Design-Software.
Nutzen Sie Computermodelle, um Ihre Laser umfassend zu verstehen!
Erfolg resultiert aus Verständnis – in der Wissenschaft wie in der industriellen Entwicklung.
Die berühmte Encyclopedia of Laser Physics and Technology – online kostenlos verfügbar!
Der ideale Ort, um Anbieter für Photonik-Produkte zu finden.
Anbieter: stellen Sie sicher, dass Ihre Produkte hier gezeigt werden!
für die effiziente Laserentwicklung und Forschung
Diese Seite gibt Ihnen einen Überblick über unsere Softwareprodukte.
RP Fiber Calculator ist ein praktisches Tool für Berechnungen zu optischen Fasern.
RP Fiber Power ist ein extrem flexibles Tool für das Design und die Optimierung für Faserlasern, Verstärkern und auch passiven Fasern.
RP Resonator ist ein besonders flexibles Tool für die Entwicklung von Laserresonatoren.
RP ProPulse kann die Pulsausbreitung in modengekoppelten Lasern und synchron gepumpten OPOs simulieren.
RP Coating ist ein besonders flexibles Designwerkzeug für dielektrische Vielschichtsysteme.
RP Q-switch kann die Entwicklung optischer Leistungen in gütegeschalteten Lasern simulieren.
Die meisten unserer Softwareprodukte bieten eine leistungsfähige Skriptsprache, die Ihnen ein ungewöhnliches Maß von Flexibilität gibt.
Hier erfahren Sie über die Software Lizenzbedingungen, Updates und Upgrades etc.
Kompetente technische Unterstützung ist eine der Schlüsselqualitäten der Software von RP Photonics.
RP Photonics hat Distributoren in verschiedenen Ländern.
Die RP Photonics Software News informieren Sie über aktuelle Entwicklungen und geben den Nutzern interessante Hinweise.
Hier können Sie Anfragen absenden, z. B. betreffend technische Details, Preise und Angebote.
en | de

RP Coating – das Software-Werkzeug für das
Design optischer Vielschichtstrukturen

Beispiel: Gires–Tournois-Interferometer (GTI)

Hier analysieren wir die Funktion eines Gires–Tournois-Interferometers, das z. B. für die Dispersionkompensation in einem modengekoppelten Laser eingesetzt werden könnte. Es besteht aus einem Bragg-Spiegel, einer dickeren Schicht und einer weiteren dünnen Schicht an der Oberfläche. Effektiv ist es ähnlich zu einem Fabry–Pérot-Interferometer, welches aber einen hoch reflektierenden hinteren Spiegel hat und in Reflexion betrieben wird. Die gesamte Reflektivität ist dann hoch in einem gewissen Wellenlängenbereich, kaum beeinflusst von den Resonanzen. Durch die Interferenzeffekte erhält man aber eine periodische Variation der Reflexionsphase und daher chromatische Dispersion.

Wir beschreiben zunächst die Struktur:

d_units: nm
l_units: nm
 
l_Bragg := 1000  { Bragg wavelength }
N_Bragg := 10  { no layer pairs }
d_t := 3.25 * l_Bragg / n_SiO2(l_Bragg * l_units)  { thickness of thick SiO2 layer }
 
beam from superstrate
substrate: BK7
for j := 1 to N_Bragg do
begin
* TiO2, l / 4 at l_Bragg
* SiO2, l / 4 at l_Bragg
end
* SiO2, d = d_t
* TiO2, l / 4 at l_Bragg
superstrate: air

Das erste Diagramm zeigt das spektrale Profil der Reflektivität:

diagram 1:
 
"Reflectivity Profile"
 
x: 800, 1200
"wavelength (nm)", @x
y: 0, 100
"transmissivity (%)", @y
frame
hx
hy
 
f: 100 * R(x), color = red, width = 3, step = 1
reflectivity profile of a GTI

Das zweite Diagramm zeigt die Gruppenverzögerung als Funktion der Wellenlänge. Sie ist auf den Resonanzen am höchsten:

diagram 2:
 
"Group Delay in Reflection"
 
x: 800, 1200
"wavelength (nm)", @x
y: -150, +150
"T_g (fs)", @y
frame
hx
hy
clip
 
f: T_g_r(x) / fs, color = green, width = 3
 
f: CS_y1 + R(x) * (CS_y2 - CS_y1), style = dotted
 
f: 0
group delay at a GTI

Das dritte Diagramm zeigt die Gruppenverzögerungsdispersion (group delay dispersion, GDD) als Funktion der Wellenlänge.

diagram 3:
 
"Group Delay Dispersion"
 
x: 800, 1200
"wavelength (nm)", @x
y: -2000, +2000
"GDD (fs^2)", @y
frame
hx
hy
clip
 
f: GDD_t(x) / fs^2,
  color = blue, width = 3, step = 1, maxconnect = 1
 
f: CS_y1 + R(x) * (CS_y2 - CS_y1), style = dotted
 
f: 0
group delay dispersion of a GTI

Als Nächstes betrachten wir die Intensitätsmuster bei verschiedenen Wellenlängen:

diagram 4:
 
x: 800, 1200
"wavelength (nm)", @x
y: -500, d_tot + 1500
"depth in the mirror structure (nm)", @y
frame
 
! begin  { show the color scale }
    var x1, x2;
    x1 := CS_x2 + 0.02 * (CS_x2 - CS_x1);
    x2 := CS_x2 + 0.04 * (CS_x2 - CS_x1);
    for y := CS_y1 to CS_y2 step (CS_y2 - CS_y1) / 500 do
    begin
      setcolor(colorscale((y - CS_y1) / (CS_y2 - CS_y1)));
      line(x1 + i * y,x2 + i * y);
    end;
    setcolor(black);
  end
 
! (set_dir(1); R(lambda_t))
 
cp: colorscale((R(x); E2(y) / 4))  { color plot }
 
; Show the layer boundaries:
f: get_z(j), style = solid, color = lightgray, for j := 1 to nolayers()
f: 0
f: get_z(nolayers() + 1)
 
"substrate", 200c, (-200)c
"superstrate", 150, (d_tot + 200)c
field intensity distribution at a GTI

Man erkennt, wie die Reflexionsphase sich bei den Resonanzen schnell ändert, während sie sonst ziemlich konstant bleibt.

Schließlich simulieren wir, was mit ultrakurzen Pulsen bei der Reflexion am GTI geschieht. Obwohl RP Coating nicht explizit Funktionen hierfür hat, können wir dies mit ein paar Zeilen Skriptcode tun. Wir definieren Felder für die zeit- und frequenzabhängigen komplexen Amplitude, ebenfalls eines für die komplexen elektrischen Feldstärken in der Struktur für alle optischen Frequenzen (für spätere Benutzung). Dann machen wir die eigentliche Berechnung und zeigen den reflektierten Puls an:

diagram 5:
 
"Reflection of Ultrashort Pulse"
 
x: -200, +200
"time (fs)", @x
y: -1, 1
"electric field strength (a. u.)", @y
frame
hx
hy
 
; Parameters of the test pulse:
A0 := 0.9 { peak amplitude }
tau0 := 10 fs { FWHM duration }
l0 := 1000 nm { center wavelength }
f0 := c / l0 { center frequency }
A0%(t) := A0 / cosh(1.76 * t / tau0) { complex amplitude in time domain }
E0(t) := Re(A0%(t) * expi(-2pi * f0 * t)) { electric field }
 
["l0 = ", l0:d3:"(n)m",
  ", tau0 = ", tau0:d3:"s",
  ", T_g = ", T_g_r(l0 / l_units):d3:"s",
  ", GDD = ", GDD_r(l0 / l_units) / fs^2:f0:"fs^2"]
 
; Numerical parameters:
T := 3000 fs
N := 2^10
dt := T / N
t1 := -T / 2 + dt
t2 := T / 2
df := 1 / T
f2 := (N / 2) * df
f1 := -f2 + df
f_max := 1 / dt - df
defarray A%[0, T - dt, dt] (periodic) { amplitudes in time domain }
defarray A0_f%[0, f_max, df] (periodic) { amplitudes in frequency domain }
defarray A_f%[0, f_max, df] (periodic) { amplitudes in frequency domain }
 
z_max := d_tot * d_units + 3 um
dz := 30 nm
dz := z_max / round(z_max / dz)
defarray E%[0, z_max, dz; f1, f2, df]
 
calc
  begin
    for t := t1 to t2 step dt do A%[t] := A0%(t);
    FFT_n(A%[], A0_f%[], +1);
    for f := f1 to f2 step df do
    begin
      A_f%[f] := r%(c / (f0 + f) / l_units) * A0_f%[f];
      for z := 0 to z_max step dz
      do E%[z,f] := E_plus%(z / d_units) + E_minus%(z / d_units);
    end;
    FFT_n(A_f%[], A%[], -1);
  end
 
A%(t) := A%~[t] { final amplitude }
E(t) := Re(A%(t) * expi(-2pi * f0 * t))
 
I(z,t) := 
  { intensity at position z and time t }
  begin
    var E%;
    E% := sum(f := f1 to f2 step df,
            A0_f%[f] * E%[z,f] * expi(-2pi * (f0 + f) * t));
    abs2(E%) / N;
  end
 
f: E0(x * fs), color = lightgray, step = 1
f: E(x * fs), color = blue, step = 1
 
f: abs(A0%(x * fs)), color = lightgray, step = 1 { envelope of initial pulse }
f: -abs(A0%(x * fs)), color = lightgray, step = 1
 
f: abs(A%(x * fs)), color = blue, step = 1 { envelope of final pulse }
f: -abs(A%(x * fs)), color = blue, step = 1

Da der gewählte Puls (blaue Kurve) ziemlich kurz ist, erhalten wir eine Folge von Pulsen in Reflexion:

ultrashort pulse reflected on a GTI

Das letzte Diagramm zeigt die zeitaufgelöste Feldintensitätsverteilung:

diagram 6:
 
"Ultrashort Pulse in the GTI Structure"
 
x: -50, +100
"t (fs)", @x
y: 0, z_max / um
"z (µm)", @y
frame
hx
hy
 
! I_max := maxf(I(z,0), z in [0, z_max], xtol = 0.1 nm, divide = round(10 * z_max / l0))
cp: colorscale(I(y * um,x * fs) / I_max)
 
"air", 100, (d_tot * nm / um + 0.3)c
f: d_tot * nm / um { indicate the surface of the GTI }
"GTI", 100, (d_tot * nm / um - 0.3)c
ultrashort pulse in a GTI

Man kann erkennen, wie der einfallende Puls (oben links) zunächst einen an der Oberfläche reflektierten Puls erzeugt, dann einen intensiveren Puls durch Reflexion am Bragg-Spiegel, und schließlich schwächere Pulse, die mehrere Umläufe in der Struktur machen. Für den gegebenen sehr kurzen Puls bleiben die reflektierten Pulse zeitlich klar getrennt. Normalerweise würde ein GTI aber mit viel längeren Pulsen betrieben werden, so dass die reflektierten Pulse zeitlich stark überlappen. In dieser Situation wäre die Bandbreite des Pulses kleiner als die Bandbreite der Resonanzen des GTIs.

arrow