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: Anti-Reflex-Beschichtung für zwei Wellenlängen

Hier entwickeln wir eine Anti-Reflex-Beschichtung für zwei Wellenlängen: 1064 nm und 532 nm. Da wir noch keine Vorstellung für ein passendes Design haben, geben wir lediglich minimale und maximale Schichtdicken vor:

d_units: nm
l_units: nm
 
beam from superstrate
substrate: BK7
for j := 1 to 3 do
begin
* TiO2, d_min = 10, d_max = l / 2 at 1000
* SiO2, d_min = 10, d_max = l / 2 at 1000
end
superstrate: air

Dann definieren wir eine Zielfunktion, die das Designziel beschreibt:

FOM() := 1e6 * sum(d := -6 to +6 step 2, R(532 + d)^2 + R(1064 + d)^2)

Diese Funktion ergäbe Null, wenn die Struktur einen verschwindende Reflektivität in einem Bereich von Wellenlängen um 1064 nm und 532 nm hätte. Alle Abweichungen hiervon führen zu positiven “Strafpunkten”.

Wir können die Struktur dann automatisch optimieren unter Verwendung der Monte-Carlo-Methode:

optimize coating for minimum of FOM(),
  ytol = 1e-4, mctrials = 10000, nobest = 50

Hiermit werden 10 000 zufällig ermittelte Designs getestet, und die 50 besten davon werden weiter optimiert. Das beste Endresultat wird schließlich verwendet. Die große Anzahl von Versuchen ist nötig, da die lokale Optimierung in den meisten Fällen zu einem nicht befriedigenden Neben-Optimum führt. Auf einem normalen PC dauert diese ganze Prozedur nur rund eine halbe Minute.

Wir erzeugen nun ein Diagramm für das Reflektivitätsprofil. Die erhaltenen Schichtdicken werden ebenfalls angezeigt:

diagram 1:
 
"Reflectivity Profile"
["Merit value: ", FOM():d3]
 
x: 400, 1200
"wavelength (nm)", @x
y: 0, 100
"reflectivity (%)", @y
frame
legpos 600, 200
hx
hy
 
f: 100 * R(x), color = red, width = 3
 
; display the layers:
["Layer ", j, ": ", get_d(j):f1:"nm":8r],
  650, (CS_y2 - 0.06 * (CS_y2 - CS_y1) * j), font = Courier,
  for j := 1 to nolayers()

Wenn wir das Skript ausführen, erhalten wir das Folgende:

reflectivity profile of a dual-wavelength anti-reflection coating

Ein zweites Diagramm hilft bei der Überprüfung der Fehlertoleranzen des Designs. Hierfür versehen wir alle Schichtdicken mit zufällig gewählten Wachstumsfehlern mit einer gewissen Standardabweichung und zeigen die Reflektivitätsprofile für all diese Versionen:

diagram 2:
 
"Test for Fabrication Tolerance"
 
stddev := 1e-2
["Standard deviation of layer thickness values: ", 100 * stddev:d3:np:"%"]
 
; coordinate system:
x: 400, 1200
"wavelength (nm)", @x
y: 0, 10
"reflectivity (%)", @y
frame
hx
hy
 
; Save layer data
defarray d[1,nolayers()]
calc for j := 1 to nolayers() do d[j] := get_d(j)
 
N := 100  { number of trials }
! FOM_sum := 0
 
; Plot reflectivity for randomly modified designs:
f: 100 * R(x),
  color = red,
  init
    begin
      for j := 1 to nolayers() do
        set_d(j, d[j] * (1 + rnd(-stddev)));  { randomly modified layers }
      inc(FOM_sum, FOM());
    end,
  for t := 1 to N
 
! FOM_av := FOM_sum / N
["Average FOM: ", FOM_av:d3]
 
! for j := 1 to nolayers() do set_d(j, d[j])
 { restore the original design }
test for fabrication tolerances of a dielectric coating

Es gäbe andere Designs, die zwar ähnlich gut aussehen, wenn sie exakt hergestellt werden, aber viel empfindlicher auf Wachstumsfehler reagieren. Es ist deswegen essenziell, solche Tests auszuführen, bevor man Geld und Zeit in die Herstellung einer Beschichtung investiert.

Natürlich wäre es nicht schwierig, beispielsweise auch die Einflüsse systematischer Wachstumsfehler zu untersuchen.

arrow