RP Resonator – das Software-Werkzeug für Design und Optimierung von Laserresonatoren
Überblick | Anwendung | Modell | Benutzung | Demos | Versionen |
Konzept der Bedienung
Die Software kann mit praktischen Formularen bedient werden; man man trägt einfach diverse Eingabeparameter in die Felder ein, startet die Berechnung und erhält diverse Ausgaben:
- Numerische Werte können in Ausgabefeldern im Formular angezeigt werden und/oder in der “Output area” auf der rechten Seite.
- Im Formular kann es sogar grafische Ausgaben geben, beispielsweise farbige Balken.
- Außerdem kann man mehrere grafische Diagramme erzeugen, etwa für die Anzeige von Reflexionsspektren.
Hier zeigen wir drei Beispiele für solche Formulare (von Demo-Dateien, die man mit der Software erhält) – für lineare Resonatoren und Ringresonatoren sowie für die Fokussierung eines Laserstrahls:
Wichtig: Diese Formulare und die zugrundeliegenden Berechnungen sind nicht fest codiert. Sie erhalten Skripte, d. h. Textdateien, die eine Schichtstruktur definieren, alle benötigten Berechnungen und die Erzeugung der grafischen Diagramme, und (optional) ein maßgeschneidertes Formular. Die Benutzeroberfläche der Software enthält leistungsfähige Editoren und eine Menge zusätzlicher nützlicher Features, um solche Skripte zu ändern oder neue Skripte zu entwickeln.
Das Scripting gibt Ihnen eine enorme Flexibilität. Damit können Sie selbst ausgefeilte Modelle erstellen; Sie können damit sogar richtiggehend programmieren. Programme anderer Hersteller, die keine Scripting-Fähigkeiten haben, können mit RP Resonator in punkto Flexibilität nicht mithalten:
- Die Resonatoren (wie auch jede Optik für einen einfachen Durchgang) können beliebig parametrisiert werden, anstatt einfach Zahlenwerte für diverse Eigenschaften zu verwenden. Dies bedeutet, dass ihre Eigenschaften aus einer Anzahl vorgegebener Parameter berechnet werden. Dies ist in der Praxis häufig sehr nützlich. Beispielsweise können Sie die Länge eines Resonatorarms sowie diejenige eines Laserkristalls vorgeben, der in diesem Raum mittig platziert werden soll. Die Länge der Wege in Luft links und rechts vom Kristall kann daraus automatisch berechnet werden.
- Man kann Teile von Optiken mit Schleifen produzieren, beispielsweise für Wiederholungen bestimmter Folgen von Komponenten mit einer variablen Anzahl.
- RP Resonator erlaubt Optimierungen mit einer beliebigen mathematischen Form der Zielfunktion (figure-of-merit). Bei anderen Programmen können Sie meist nur Parameter einer fest vorgegebenen Zielfunktion eingeben.
- Sie können beliebige zusätzliche Berechnungen hinzufügen: beispielsweise irgendwelche Größen über einen Bereich von Einfallswinkeln mitteln oder Effekte auf ultrakurze Pulse simulieren.
- Sie können alle möglichen anderen von Diagrammen erzeugen – nicht einfach nur aus einer vorgegebenen Liste von Diagrammen auswählen. Für grafische Ausgaben wie auch für die Ausgabe in Textform bietet die Skriptsprache eine enorme Flexibilität; was immer Sie für nützlich halten, kann implementiert werden – normalerweise mit nur ein paar Zeilen Skriptcode.
- Natürlich können Sie innerhalb eines Skripts und zwischen verschiedenen Skripten mit copy & paste arbeiten, das weitaus angenehmer ist, als viele Formulare durchzugehen und Werte dort erneut einzugeben.
Die Skript-Sprache
Die Skriptsprache von RP Resonator ist sehr leistungsfähig. Jedes Skript enthält alles von der Definition des Resonators über die gewünschten Berechnungen bis hin zu den graphischen Ausgaben. (Natürlich können Sie häufig benötigte Skript-Teile in externen Dateien speichern und sie auf einfache Weise in Ihrem Skript aufrufen.)
Seit Version V3 kann man in einem Skript ein maßgeschneidertes Formular definieren (siehe unten). Dieses Features erlaubt einem, die enorme Flexibilität der Skriptsprache mit der einfachen Bedienung eines Formulars zu verbinden.
Einige Skript-Fragmente zeigen Ihnen hier, dass die Skriptsprache leicht zu erlernen ist. Das erste Beispiel zeigt, wie ein einfacher Resonator definiert wird:
F_cr := 0.3 { diopters of the laser crystal } resonator: standing-wave * mirror (M1): R = 500 mm * air: d = 100 mm * lens (Crystal): f = if F_cr <> 0 then 1 / F_cr * air: d = 200 mm * mirror (M2): R = 0 { no curvature } resonator end
Hier werden die Armlängen einfach über Zahlenwerte definiert, aber die Brechkraft des Laserkristalls wird als ein Parameter gegeben, den Sie z. B. in Grafiken variieren können.
Das zweite Beispiel zeigt, wie Sie berechnete Modenradien anzeigen lassen können, sauber formatiert mit drei gültigen Stellen und Einheiten von Metern:
show "w at M1: ", w(zm[M1], lambda_ref):d3:"m" show "w at Crystal: ", w(zm[Crystal], lambda_ref):d3:"m" show "w at M2: ", w(zm[M2], lambda_ref):d3:"m"
Schließlich definieren wir eine Grafik, die den Strahlradius als Funktion der Position im Resonator zeigt:
diagram 1: "Beam Radius vs. Position" x: 0, L_res / cm "z position (cm)", @x y: 0, 800 frame hx hy f: w(x * cm, lambda_ref) / um, "w(z) (µm)", color = blue, width = 3
Editoren für Skriptcode
Für das Editieren von Skriptcode bietet die Software leistungsfähige Editoren und zusätzliche Tools. Hier sehen Sie einen Editor:
Einige sehr nützliche Features dieser Editoren:
- Multilevel undo/redo: Sie können mehrere Änderungen im Text schrittweise rückgängig machen oder doch wieder anwenden.
- Syntax highlighting: erkannte Namen von Befehlen oder Funktionen, Schlüsselworte und Kommentare werden mit unterschiedlichen Farben angezeigt. Dies erleichtert sehr die Erkennung der Struktur.
- Parameter-Hilfe: Wenn Sie einen Funktionsnamen gefolgt von einer öffnenden Klammer eintippen, zeigt der Editor Infomationen über die benötigte Parameterliste an. Damit wird es wesentlich einfacher, hunderte von Funktionen zu nutzen.
- Syntaxprüfung: Sie können die Syntax eines Skripts schnell überprüfen lassen, ohne es auszuführen.
- Code snippets library: Sie können ganz einfach häufig benötigte Code-Teile in Ihr Skript einfügen (siehe das Bild unten). Dies ist wesentlich praktischer, als beispielsweise Code-Teile in der Dokumentation oder den Demo-Dateien zu suchen. Nutzer können auch eigenen Code in die Library einfügen.
Für die Definition eines Resonators können Sie auch ein spezielles Formular verwenden. Tippen Sie einfach Zahlen oder sogar mathematische Ausdrücke in die Felder, und Sie sehen gleichzeitig, wie der zugehörige Skript-Code erzeugt wird:
Graphische Ausgaben
Ihr Skript kann verschiedene Typen von Grafiken zur Visualisierung der Resultate definieren. Beispiele werden gezeigt auf den Seiten, die konkrete Beispiel-Modelle beschreiben. Jedes Diagramm wird in einem eigenen Fenster gezeigt. Unten sehen Sie ein Beispiel für solch ein Grafik-Fenster, welches den Strahlradius als Funktion der Position im Resonator anzeigt.
Die Grafik-Fenster haben etliche sehr nützliche Features:
- Messung von Positionen und Distanzen mit zwei Cursorn
- Abspeicherung der Grafik im PNG- oder GIF-Format
- Export numerischer Daten
- Kopieren der Grafik in die Windows-Zwischenablage
- Zurückholen der Grafik der letzten Berechnung, um Unterschiede deutlich zu sehen
- Blättern in mehrfachen Versionen einer Grafik, beispielsweise für Eigenschaften von Moden für unterschiedliche Stärken einer thermischen Linse
Umfassende Dokumentation
RP Fiber Power ist mit einer detailliert ausgearbeiteten Dokumentation versehen, die Ihnen einen schnellen Start und eine effiziente Arbeit auch beim Erstellen raffinierter Modelle ermöglicht:
- Zunächst gibt es ein Manual im PDF-Format, das detailliert (auf ca. 40 Seiten) alles Wichtige erklärt: die Prinzipien des physikalischen Modells, die Bedieneroberfläche, die Skriptsprache, etc.
- Die zusätzliche kontextsensitive Hilfefunktion ist sogar noch detaillierter. Das Bild unten gibt Ihnen einen Eindruck.
Technischer Support
Falls es noch irgendwelche Schwierigkeiten gibt, können diese mit dem technischen Support effizient angegangen werden. Wir stellen sicher, dass Ihre Probleme schnell gelöst werden.
Wenn Sie noch Fragen haben oder ein Angebot benötigen: