Tutorial: Modellierung und Simulation von Faserverstärkern und Faserlasern
Dies ist Teil 8 eines Tutorials über die Modellierung und Simulation von Faserverstärkern und Faserlasern von Dr. Paschotta.
2: Optische Kanäle
3: Leistungspropagation oder Feldpropagation
4: Die laseraktiven Ionen
5: Kontinuierlicher Betrieb von Verstärkern und Lasern
6: Verstärkung und Erzeugung kurzer Pulse
7: Ultrakurze Pulse
8: Eigene Software oder ein kommerzielles Produkt?
Teil 8: Eigene Software oder ein kommerzielles Produkt?
Behandelte Fragen:
Wir haben gesehen, dass eine geeignete Simulationssoftware für den Erfolg jeder Modellierung entscheidend ist, und das gilt sicherlich besonders für Fälle mit Faserverstärkern und Faserlasern (mehr als etwa für Bulk-Laser). Es bleibt die Frage, ob man versuchen sollte, eine eigene Software zu entwickeln, oder lieber ein kommerzielles Produkt einsetzt.
Ich muss zugeben, dass ich hier nicht unparteiisch sein kann; natürlich möchten wir, dass Leute Lizenzen für unsere Software kaufen, statt selbst etwas zu bauen. Ich kann jedoch einige Anmerkungen machen, die für eine solche Entscheidung nützlich sein sollten. Nötig ist offensichtlich ein vernünftiger Vergleich der beiden Wege. Dieser sollte verschiedene wichtige Aspekte umfassen, wie sie im Folgenden besprochen werden.
Die dargestellten Überlegungen sollten auch bei der Entscheidung für ein bestimmtes Softwareprodukt nützlich sein.
Die Aufgabe erledigen
Natürlich kommen nur die Möglichkeiten in Betracht, von denen sich vernünftigerweise erwarten lässt, dass sie die benötigten Ergebnisse liefern.
Wenn Sie Ihre eigene Software erstellen, können Sie im Prinzip alles Nötige umsetzen; die Frage ist nur, ob Ihre Fachkenntnis und die Zeit, die Sie aufwenden können, dafür ausreichen.
Eine Schwierigkeit bei kommerziellen Produkten ist, dass sich vor dem Kauf einer Lizenz oft schwer feststellen lässt, ob das Produkt für die Aufgabe geeignet ist. Etwas überraschend (aus meiner Sicht) werden viele kommerzielle Softwareprodukte mit vollmundigen Aussagen und schönen Grafiken beworben, die einem jedoch wenig sagen. Man erhält vielleicht eine kostenlose Testversion, doch es kann recht zeitaufwendig sein, die Grenzen der Software auf diesem Weg zu erkennen.
Wir gehen einen anderen Weg: Wir stellen sehr umfangreiche Materialien kostenlos auf unserer Website bereit. Dazu gehören sorgfältig geschriebene Beschreibungen des Softwareprodukts, aber auch eine große Auswahl von Fallstudien und Tutorials wie diesem. Zudem beantworten wir sorgfältig und ehrlich alle Fragen, die jemand beim Erwägen eines Lizenzkaufs haben mag. Bei ernsthaftem Interesse biete ich auch eine Online-Vorführung an, bei der der Anwender über das Internet Zugriff auf meinen Bildschirm erhält. Dieses Vorgehen spart Zeit; es erlaubt Ihnen, die Eignung der Software für eine bestimmte Aufgabe innerhalb kurzer Zeit festzustellen.
Da es äußerst flexibel ist, eignet sich unser Produkt RP Fiber Power für eine sehr große Bandbreite von Fällen, auch wenn es gelegentlich vorkommt, dass ich jemandem sagen muss, dass bestimmte Dinge nicht möglich oder zumindest nicht praktikabel sind, sei es wegen aktueller Grenzen der Software oder aus grundsätzlichen Gründen.
Können Sie den Ergebnissen trauen?
So nützlich Modellierungsergebnisse sein können: Es kann sehr verschwenderisch sein, sich von falschen Ergebnissen in die Irre führen zu lassen. Diese können leider viele Ursachen haben: nicht nur verborgene Fehler in der Software, sondern auch schlichte Fehler in den Eingabedaten, Missverständnisse darüber, wie die Software zu bedienen ist, usw.
Modellierungssoftware ist nicht trivial, und man kann nie sicher sein, dass nichttriviale Software völlig fehlerfrei ist. Sorgfältige Validierungsverfahren minimieren dieses Risiko zumindest. Sind Sie auf diesem Gebiet gut, so können Sie sich der Richtigkeit der Ergebnisse Ihrer eigenen Software besonders sicher sein, und Sie können dann natürlich auch andere Software gründlicher testen. Sie würden es jedoch sicher schätzen, eine Software zu haben, die über Jahre sorgfältig getestet und von vielen Forschenden und Industrieanwendern eingesetzt wurde, sodass Sie ihr relativ hohes Vertrauen entgegenbringen können.
Als Kunde möchten Sie sicher sein, dass der Entwickler einer solchen Software auf diesem komplizierten wissenschaftlich-technischen Gebiet wirklich kompetent ist. Das können Sie jedoch nicht wissen, wenn Sie nicht einmal wissen, wer der Entwickler ist. In unserem Fall bin das weitgehend ich, der Autor dieses Tutorials, der RP Photonics Encyclopedia und vieler wissenschaftlicher Veröffentlichungen (siehe meinen Lebenslauf).
Denken Sie daran, dass Fehler nicht nur aus Softwarefehlern entstehen können, sondern auch schlicht aus falschen Eingaben. Das ist nicht immer eine Frage von Dummheit; Sie haben es mit nichttrivialen Dingen zu tun, bei denen Fehler passieren können. Beachten Sie, dass solche Risiken entscheidend von der Qualität der Benutzeroberfläche abhängen können. Hat die Software etwa eine komplizierte Menüstruktur mit vielen Formularen, die alle korrekt ausgefüllt werden müssen, so kann das ein erhebliches Fehlerrisiko bedeuten. Unsere Software wird dagegen (in nichttrivialen Fällen) über ein Skript gesteuert, das Sie Zeile für Zeile lesen und prüfen können. Ihre Flexibilität bietet Ihnen viele Möglichkeiten für Plausibilitätsprüfungen, etwa indem Sie verschiedene interessierende Größen sauber formatiert anzeigen lassen oder automatische Warnungen in großen roten Buchstaben in Diagramme schreiben.
Übrigens interessiert Sie vielleicht ein Blogartikel über Software-Validierung, den ich vor einiger Zeit geschrieben habe. Er zeigt, dass es verschiedene Arten möglicher Fehler gibt und unterschiedliche Methoden nötig sind, um sie aufzudecken.
Geld und Zeit aufwenden
Lizenzen für kommerzielle Simulationssoftware in einem so spezialisierten technischen Bereich kosten unvermeidlich erhebliches Geld. Schließlich kostet die Entwicklung solcher Produkte enorm viel Zeit, und wegen ihrer hochspezialisierten Natur lassen sich keine Tausende von Lizenzen verkaufen, um eine solche Investition zu amortisieren. Auch der technische Support (siehe unten) muss enthalten sein, was ebenfalls Zeit kostet.
Es wäre allerdings ziemlich naiv, ein selbst gebautes Produkt als im Wesentlichen kostenlos zu betrachten. Wenn Sie sorgfältig darüber nachdenken, werden Sie erkennen, dass ein solches Vorhaben enorm viel Zeit kostet. Und glauben Sie mir: Am Ende brauchen Sie immer mehr Zeit als geschätzt!
Ob Sie in einer Firma arbeiten oder als Forschende an einer Hochschule: Sie besetzen eine Stelle, die nicht nur ein Gehalt kostet; es gibt auch eine kostspielige Infrastruktur, die Ihnen zur Verfügung gestellt wird. Zudem sollte man entgangene Gelegenheiten infolge der aufgewendeten Zeit berücksichtigen, denn andere potenziell sehr nützliche Dinge nicht zu tun (etwa ein neues Produkt auf den Markt zu bringen) ist ebenfalls eine Art Kosten, die sehr hoch sein können. Stellen Sie sich vor, welchen Verlust es bedeuten kann, wenn Sie in einem Forschungs- oder Entwicklungsprojekt mehrere Monate verlieren, während Ihre Wettbewerber schneller sind und ihr Produkt oder ihre Veröffentlichung früher platzieren …
In diesem Zusammenhang sollte man nicht nur die Entwicklungszeit betrachten, sondern auch die Effizienz der Arbeit mit der erstellten oder gekauften Software. So mag eine forschende Person alle numerischen Probleme lösen, sodass die Software das Nötige berechnen kann, aber nicht in der Lage sein, eine bequeme Benutzeroberfläche zu schaffen, die ihr und anderen ein effizientes Arbeiten damit erlaubt. Ähnliches gilt für die Dokumentation; es ist nicht leicht, ein so kompliziertes Werk ordentlich zu dokumentieren, und tatsächlich scheitern zu viele daran. Die Folge: Jemand verlässt nach einigen Jahren eine Forschungsgruppe und hinterlässt seine Software – die für andere jedoch nutzlos ist, weil es für sie zu schwierig ist herauszufinden, was sie tut und wie man sie benutzt. Bei einem hochwertigen kommerziellen Produkt ist das ganz anders: Es gibt eine ordentliche Dokumentation, und jeder kann nachlesen, wie es funktioniert.
Das ist natürlich auch ein Aspekt, der für die Leitung einer Forschungsgruppe oder eines Forschungs- und Entwicklungsteams relevant ist. Schließlich kann es entscheidend sein zu wissen, ob all der Aufwand an Zeit und/oder Geld zu einem Ergebnis führt, das vom ganzen Team (und von Nachfolgern) nutzbar ist, und nicht nur von der Person, die daran gearbeitet hat.
Seien Sie allerdings gewarnt: Selbst teure kommerzielle Software ist nicht immer ordentlich dokumentiert; es scheint nicht viele Menschen zu geben, die eine solche Aufgabe gut erledigen können. Dazu braucht es mehr als nur die technische Fachkenntnis. Ich denke jedoch, dass Sie dem Autor der RP Photonics Encyclopedia zutrauen können, eine gute Dokumentation zu erstellen.
Technischer Support
Wenn Sie eine Software selbst entwickeln, sind Sie normalerweise auf sich allein gestellt. Das ist in Ordnung, sofern Ihre Kompetenz vollständig ausreicht. Für Anfänger auf diesem Gebiet ist es recht beängstigend: Kann er oder sie all die Details kennen (oder zuverlässig herausfinden), die für eine korrekte Erledigung dieser Aufgabe relevant sind?
Lizenzen für kommerzielle Software sollten stets technischen Support durch eine kompetente Person einschließen. Wird das gut gemacht, so kann es eine unschätzbare Hilfe sein – besonders für Einsteiger. In unserem Fall wird der gesamte technische Support von mir geleistet, dem Softwareentwickler; ich tue mein Bestes, damit Anwender jede benötigte Hilfe erhalten. Wichtig ist, dass der Support nicht auf rein softwarespezifische Fragen beschränkt ist, sondern ausdrücklich auch alle zugehörigen wissenschaftlichen und technischen Fragen abdeckt. Wenn Sie so wollen, ist das eine eingeschlossene technische Beratung.
Ihre Kompetenz erweitern
Sicherlich können Sie erwarten, dass Sie beim Entwickeln einer solchen Simulationssoftware viel lernen. Das bedeutet, dass Ihre Kompetenz wächst, und das kann bei weiteren Projekten sehr hilfreich sein.
Andererseits müssen Sie wiederum bedenken, dass eine solche Entwicklung viel Zeit kostet, die sich anders verwenden ließe. Mit einem guten kommerziellen Softwareprodukt etwa könnten Sie weit schneller zur Physik und zu den technischen Details Ihres eigentlichen Problems vordringen (statt Zeit mit Programmieren zu verbringen). Zudem können Sie dann kompetenten technischen Support genießen (siehe oben), und auch das sollte viel zur Entwicklung Ihrer Kompetenzen beitragen.
Freude an der Arbeit
Ja, ich halte es durchaus für ein gültiges Kriterium, auf welchem Weg Sie mehr Freude an der Lösung Ihres Problems hätten. Schließlich sind Sie womöglich produktiver und effizienter, wenn Sie so arbeiten, wie es Ihnen liegt. Und ehrlich gesagt: Auch wenn Effizienz und der daraus folgende Erfolg Ihr Wohlbefinden stark beeinflussen können, gibt es noch andere Faktoren.
Es ist allerdings nicht ganz leicht vorherzusagen, wie viel Freude – oder Frustration! – Sie bei einem solchen Projekt erleben werden. Sicher kann es sehr befriedigend sein, den Punkt zu erreichen, an dem eine solche Software zu funktionieren beginnt und sich dann immer weiter verbessern lässt. (Ich kenne diese “Flow-Erfahrungen” sehr gut!) Es kann aber auch außerordentlich schwierig und erschöpfend sein, scheinbaren Fehlern nachzujagen. Steht zugleich äußerer Druck im Raum, Ergebnisse zu liefern, so kann daraus ernsthafter Stress werden. Zudem braucht es viel Disziplin, die erstellte Software sorgfältig zu testen (zu validieren) und zu dokumentieren.
Andererseits kann auch die Nutzung kommerzieller Software erfreulich oder frustrierend sein, je nachdem, wie gut sie gemacht ist. Ich persönlich hasse es, Zeit damit zu verschwenden, experimentell herauszufinden, wie eine Software wirklich funktioniert, wenn sich das nicht effizient dem Handbuch entnehmen lässt. Und es ist natürlich nicht schön, irgendwann festzustellen, dass eine bestimmte Software das Benötigte gar nicht leisten kann. Andererseits kann es echten Spaß machen, mit einem guten Produkt rasch voranzukommen, was einen auch dazu anregt, viele interessante Dinge auszuprobieren. Mit einem guten Simulationswerkzeug verbessern Sie Ihr Verständnis der zugrundeliegenden Physik schnell, und es besteht auch eine gute Chance, dass die Arbeit damit neue Ideen anstößt, die möglicherweise zu spannenderen Dingen führen, als Sie vorher erwartet hätten!
Das Ende
Dies ist das Ende des RP-Photonics-Tutorials über die Modellierung von Faserlasern und Faserverstärkern. Wir hoffen, dass Ihnen das Tutorial gefallen hat und dass Sie auf unserer Website noch viele weitere interessante Dinge finden, etwa in der RP Photonics Encyclopedia und in verschiedenen Fallstudien, die mit unserer Software RP Fiber Power erstellt wurden. Für viele Zwecke können Sie auch sehr von der kostenlosen Version oder der PRO-Version der Software RP Fiber Calculator profitieren.
