Beim Erstellen von Multiphysikmodellen und Simulations-Apps ermöglicht es die COMSOL API, Code zu schreiben, um Arbeitsabläufe zu automatisieren, benutzerdefinierte Funktionen in Apps hinzuzufügen und sie in externe Tools zu integrieren. Die Chatbot-Fenster-Funktionalität dient dazu, eine direkte Verbindung zu einem großen Sprachmodell (LLM) wie OpenAI™ GPT, Google Gemini™, DeepSeek&trade oder zu einem lokal installierten Modell herzustellen, sodass Sie COMSOL-API-Code generieren oder debuggen können. Dies kann beispielsweise dabei helfen, sich wiederholende Aufgaben in for-Schleifen umzuwandeln oder Logikfehler in einer Methode zu finden. Sie können das Chatbot-Fenster auch verwenden, um allgemeine Tipps zur Modellierung zu erhalten.
In diesem Blog-Beitrag werden wir einige einfache Beispiele durchgehen, die veranschaulichen, wie diese neue Funktion als nützlicher Modellierungsassistent dienen kann.
Anmerkung der Redaktion: Dieser Blog-Beitrag wurde am 27. Februar 2026 aktualisiert, um die jüngsten Updates der Software zu berücksichtigen.
Verwendung des Chatbot-Fensters in Verbindung mit dem Java-Shell-Fenster
Das Chatbot-Fenster wurde für die praktische Verwendung in COMSOL Multiphysics® optimiert. Es bietet spezifische Informationen zur Modellierung und Simulation, sodass das Kopieren und Einfügen von Nachrichten aus externen KI-Tools entfällt. Stattdessen können Sie ganz einfach Methoden anhängen, um sie auf Fehler zu überprüfen oder vom KI-Modell vorgeschlagenen API-Code auszuführen. Die Ergebnisse werden sofort im Model Builder und im Grafikfenster angezeigt.
Das Java-Shell-Fenster bietet ein interaktives Command Prompt zum Ausführen von Java-Code und kann beispielsweise dazu verwendet werden, Code zu generieren, der das aktuelle Modell mithilfe der COMSOL-API aktualisiert. Sie können das Java-Shell-Fenster auch verwenden, um im Chatbot-Fenster generierten Code auszuführen. In den folgenden Beispielen zeigen wir Ihnen, wie das geht.
Wenn Sie mehr über die Verwendung der COMSOL API und des Java-Shell-Fensters erfahren möchten, lesen Sie bitte den Abschnitt “Running Code in the Java Shell Window” des Artikels Overview of the COMSOL API im Learning Center.
Schritt 1: Aktivieren des Chatbot-Fensters
Das Chatbot-Fenster ist für die Windows®-Version von COMSOL Multiphysics® verfügbar. Es ist im Plattformprodukt enthalten und ab Version 6.4 standardmäßig installiert, jedoch ohne aktive Verbindung.
Beachten Sie:
- Um die Funktionen des Chatbot-Fensters nutzen zu können, müssen Sie sich für ein OpenAI-Konto registrieren und einen OpenAI-API-Schlüssel anfordern, wofür in der Regel ein Kostenbeitrag erforderlich ist. Derzeit werden die API-kontabilblen OpenAI™ Large Language Models (LLM) unterstützt.
- Das eigentliche LLM ist nicht in COMSOL Multiphysics® installiert — das Chatbot-Fenster dient lediglich der Erleichterung der Kommunikation mit dem LLM.
Eine Anleitung zur Installation und Einrichtung des Chatbot-Fensters finden Sie in diesem Artikel im Learning Center.
Demos: Verwendung des Chatbot-Fensters zur:
- Erstellung einer Geometrie
- Generierung von Beschriftungen
- Fehlersuche im Code
- Beantwortung von Modellierungsfragen
- Fehlersuche im Modellaufbau
Erstellung einer Geometrie
Grundkenntnisse in Java können bei der Arbeit mit der COMSOL API hilfreich sein. Bei Verwendung des Chatbot-Fensters sind diese jedoch häufig nicht erforderlich, da es Funktionen enthält, die bei der Java-Syntax und der Codestruktur unterstützen.
Sehen wir uns zunächst an, wie uns das Chatbot-Fenster beim Erstellen einer Zylindergeometrie helfen kann. Klicken Sie zunächst auf die Schaltfläche Blank Model, mit der Sie alle Aspekte des Modells mithilfe der API von Grund auf erstellen können.
Öffnen Sie anschließend das Chatbot-Fenster: Wechseln Sie im Tab Home zum Menü Windows und wählen Sie Chatbot.
Das Chatbot-Fenster wird im unteren rechten Bereich der Desktop-Umgebung geöffnet.
Im Chatbot-Fenster stehen drei Optionen für Chat-Themen zur Verfügung: General, Programming, und Modeling. Durch die Auswahl eines Themas erhält der Chatbot zusätzlichen Kontext, was dazu beiträgt, die Qualität und Relevanz der Antworten zu verbessern.
Wählen Sie für dieses Beispiel Programming aus. Dadurch erhält der Chatbot einen programmierungsbezogenen Kontext, wodurch Antworten generiert werden, die COMSOL-API-Code enthalten.
Schreiben Sie jetzt den Prompt Create a geometry of a cylinder.
Dadurch wird Code zum Erstellen eines Zylinders mit beliebigem Radius und beliebiger Höhe generiert, jedoch wird der Code nicht ausgeführt. Bitte beachten Sie, dass die Reaktionszeit davon abhängt, welches Modell im Fenster Preferences (aufrufbar über das Menü File) ausgewählt ist. Komplexere Modelle können zu längeren Reaktionszeiten führen.
Um den Code auszuführen, müssen Sie ihn an das Java-Shell-Fenster senden. Klicken Sie mit der rechten Maustaste auf den Code-Block und wählen Sie Send to Java Shell.
Das Java-Shell-Fenster wird mit einer Kopie desselben Codeabschnitts geöffnet.
Klicken Sie auf die Schaltfläche Run am unteren Rand des Java-Shell-Fensters, um den Zylinder zu generieren.
Im hier gezeigten Beispiel wurde der folgende Code generiert:
// Create a 3D geometry
model.geom().create("geom", 3);
// Add a cylinder to the geometry
model.geom("geom").feature().create("cyl", "Cylinder");
// Set cylinder properties: radius and height
model.geom("geom").feature("cyl").set("r", 1); // radius
model.geom("geom").feature("cyl").set("h", 5); // height
// Build the geometry
model.geom("geom").run();
Bitte beachten Sie jedoch, dass das Chatbot-Fenster aufgrund einer geringen Zufälligkeit in seinen Antworten jedes Mal leicht unterschiedliche Varianten des Codes erzeugen kann.
Generierung von Beschriftungen
Das KI-Modell, mit dem die Chatbot-Funktionalität kommuniziert, versteht nicht alle Aspekte der COMSOL API. Durch die Verwendung der Funktionen Record Code oder Record Method im Application Builder können wir es jedoch dazu anleiten, nützliche Code-Vorschläge zu erstellen. Im folgenden Beispiel erfahren Sie, wie Sie einem Modell Beschriftungen hinzufügen und darauf aufbauen können, indem Sie das Chatbot-Fenster um Hilfe bitten. Öffnen Sie zunächst das Tutorial-Modell Pacemaker Electrode aus den Application Libraries unter COMSOL Multiphysics > Electromagnetics.
Falls das Modell noch nicht berechnet wurde, klicken Sie bitte auf Compute. Die Berechnung dauert einige Sekunden.
Als Nächstes werden wir die integrierte Codeaufzeichnungsfunktion verwenden, um zu lernen, wie man eine Beschriftung hinzufügt. Gehen Sie in der Menüleiste zum Tab Developer und klicken Sie auf Record Method, um die Aufzeichnung zu starten.
Sie werden aufgefordert, die Aufzeichnung als method1 zu speichern, was für unsere Zwecke ausreichend ist. Sie können diese Methode nach Belieben umbenennen. Der Model Builder ist nun rot umrandet, um anzuzeigen, dass eine Aufzeichnung läuft.
Klicken Sie im Modellbaum mit der rechten Maustaste auf 3D Plot Group 3 und wählen Sie Annotation.
Geben Sie im Einstellungsfenster für den Knoten Annotation im Feld Text eval(V) ein. Dadurch wird der lokale Wert des elektrischen Potentialfeldes berechnet und angezeigt. Geben Sie anschließend für die Einstellungen unter Position die Werte 0.001, 0.002 und 0.003 für die x-, y- und z-Koordinaten ein.
Klicken Sie auf die Schaltfläche Plot, um die Beschriftung zu erstellen.
Gehen Sie zum Tab Developer und klicken Sie auf Stop Recording.
Klicken Sie nun auf die Schaltfläche Application Builder und doppelklicken Sie im Baum den Knoten method1. Dadurch wird der aufgezeichnete Code im Method Editor angezeigt.
Kopieren Sie diesen Code und wechseln Sie zurück zum Model Builder.
Bevor Sie das Chatbot-Fenster zum automatischen Erstellen von Annotation-Knoten verwenden, müssen Sie den soeben erstellten Annotation-Knoten löschen, um Konflikte zu vermeiden. Klicken Sie im Modellbaum mit der rechten Maustaste auf den Annotation-Knoten und wählen Sie Delete.
Wählen Sie jetzt im Chatbot-Fenster die Option Programming aus und geben Sie die folgenden Anweisungen ein, indem Sie den Code einfügen, den Sie aus dem Methoden-Editor kopiert haben:
This is how you create an annotation in COMSOL Multiphysics:
model.result(“pg3”).create(“ann1”, “Annotation”);
model.result(“pg3”).feature(“ann1”).set(“posxexpr”, 0.001);
model.result(“pg3”).feature(“ann1”).set(“posyexpr”, 0.002);
model.result(“pg3”).feature(“ann1”).set(“poszexpr”, 0.003);
model.result(“pg3”).feature(“ann1”).set(“text”, “eval(V)”);
Can you create a for loop that places these annotations at 10 locations along a line from (x,y,z)=(0,0,-0.02) to (x,y,z)=(0,0,0).
Drücken Sie die Eingabetaste oder klicken Sie auf die Schaltfläche Submit.
Klicken Sie mit der rechten Maustaste auf den Bereich mit dem generierten Code und wählen Sie Send to Java Shell.
Klicken Sie im Java-Shell-Fenster auf Run, um die Beschriftungen zu plotten.
Versuchen wir nun etwas Fortgeschritteneres. Beginnen Sie damit, alle generierten Annotation-Knoten zu löschen. Halten Sie dazu die Umschalttaste gedrückt, um mehrere Knoten auszuwählen, klicken Sie dann mit der rechten Maustaste und wählen Sie im Kontextmenü die Option Delete.
Öffnen Sie das Chatbot-Fenster und geben Sie folgenden Prompt ein:
Instead, create annotations in a helix pattern centered along the same line with helix radius 0.0025.
Bitte klicken Sie auf die Schaltfläche Submit oder drücken Sie die Eingabetaste.
Wiederholen Sie nun den zuvor beschriebenen Vorgang. Klicken Sie mit der rechten Maustaste auf den generierten Code, senden Sie ihn an das Java-Shell-Fenster und klicken Sie auf Run, um die Beschriftungen hinzuzufügen.
Als Nächstes erhöhen wir die Dichte des Beschriftungsmusters. Löschen Sie zunächst die 10 erstellten Annotation-Knoten. Verwenden Sie dann das folgende Prompt im Chatbot-Fenster:
Now, make the frequency twice as high and create 20 annotations.
Klicken Sie erneut mit der rechten Maustaste auf den generierten Code und senden Sie ihn an das Java-Shell-Fenster:
Klicken Sie auf Run, um die Beschriftungen darzustellen.
Diese Beispiele vermitteln Ihnen einen Einblick, wie die Chatbot-Funktionalität genutzt werden kann, um komplexe Automatisierungsaufgaben sehr schnell zu lösen. Durch die Kombination von Record Method (oder Record Code) und Prompts im Chatbot-Fenster können Sie die Antworten des Chatbots steuern, um die Komplexität Ihres Codes schnell aufzubauen. Bei wiederholter Verwendung desselben Codes können Sie anstelle des Java-Shell-Fensters den Code in eine Methode im Method Editor eingeben. Wir hätten übrigens auch das Löschen der Annotation-Knoten aufzeichnen und diesen Teil des Prozesses ebenfalls automatisieren können.
Fehlersuche im Code
Eine weitere Anwendungsmöglichkeit der Chatbot-Funktion besteht darin, subtile Fehler in Ihrem Code zu finden, die über einfache Syntaxfehler hinausgehen. Um dies zu veranschaulichen, verwenden wir die App Tuning Fork aus den Application Libraries, die Sie unter COMSOL Multiphysics > Applications finden. Für diese Tutorial-App sind keine Add-On-Produkte erforderlich.
Wechseln Sie zum Application Builder und doppelklicken Sie im Zweig Methods auf die Methode setMaterial.
Um Syntaxfehler zu finden, können Sie auf die Schaltfläche Check Syntax im Tab Method klicken. Diese Funktion nutzt nicht das Chatbot-Fenster, sondern ist eine Überprüfung auf Compiler-Ebene. Mithilfe des integrierten Java-Compilers kompiliert der Method Editor automatisch eine Methode, wenn Sie beispielsweise ein Fenster verlassen oder Ihre App oder Ihr Modell speichern.
Um Fehler im Code zu finden, die nicht mit der Syntax zusammenhängen, kann das Chatbot-Fenster hilfreich sein.
Führen wir einen Fehler in den Code ein, um zu veranschaulichen, wie diese Funktionalität genutzt werden kann. Ersetzen Sie in der Methode setMaterial den Verweis auf das Material mat4 durch mat3. Wenn der Benutzer nun das Material Eisen mit dem Tag „mat4“ auswählt, verwendet die App stattdessen die Materialeigenschaften für Kupfer mit dem Tag „mat3“.
Die Methode ist nun mit dem vordefinierten Prompt I need help finding potential bugs in setMaterial, ignoring any code style issues an das Chatbot-Fenster angehängt. (Die beiden anderen Optionen im Untermenü Send to Chatbot, Conversation About setMaterial und Suggest Improvements to setMaterial, verfügen über unterschiedliche vordefinierte Prompts.)
Drücken Sie die Eingabetaste oder klicken Sie auf die Schaltfläche Submit.
Das Chatbot-Fenster erkennt den Fehler und gibt die folgende Meldung aus:
**Duplicate Material Selection for Copper and Iron:**
– Both “copper” and “iron” are setting the selection for `mat3`. This might be intentional, but if different materials are expected, this is a bug.
Es weist auch auf zwei weitere potenzielle Probleme hin. In diesem Fall handelt es sich jedoch um einen Fehlalarm, da dem Chatbot-Fenster nicht alle Informationen über die anderen Methoden und Funktionen der App zur Verfügung standen.
In diesem Fall war der Fehler ohne die Unterstützung des Chatbot-Fensters relativ leicht zu erkennen. Stellen Sie sich jedoch vor, die App würde statt nur fünf Materialien 40 oder 50 Materialien unterstützen. In solchen Fällen kann die Verwendung des Chatbot-Fensters bei der Arbeit mit längeren Codeblöcken den Debugging-Prozess erheblich beschleunigen.
Sie können auch im Chatbot-Fenster nach Tipps zur Modellierung fragen. Nehmen wir an, wir sind neu auf dem Gebiet der elektrostatischen Modellierung und interessieren uns dafür, welche Randbedingungen für solche Modelle wichtig sind. Wählen Sie dazu im Chatbot-Fenster die Themenoption Modeling aus. Geben Sie folgendes Prompt an:
Which are some of the most important boundary conditions for electrostatics?
Das Chatbot-Fenster liefert eine ziemlich gute Antwort. Beachten Sie jedoch, dass dort die “Mixed Boundary Condition” erwähnt wird. Diese Randbedingung ist zwar in der COMSOL® Software verfügbar, erfordert jedoch das AC/DC Module und hat einen anderen Namen: Distributed Capacitance. Auch hier können die Antworten je nach verwendetem LLM variieren.
Im Allgemeinen kann das Chatbot-Fenster einen hilfreichen Ausgangspunkt für einführende Fragen zur Modellierung bieten. Für anspruchsvollere Themen empfiehlt es sich jedoch, zusätzlich die COMSOL-Dokumentation (auch in der Software über das Fenster Help verfügbar) und relevante Fachbücher zu diesem Thema zu konsultieren. Wenn Sie anstelle von Programming oder Modeling die Themenoption General auswählen, können Sie Fragen zu beliebigen Themen stellen, auch zu solchen, die nicht mit COMSOL Multiphysics® in Zusammenhang stehen.
Ab COMSOL Multiphysics® Version 6.4 hat die Chatbot-Fenster-Funktionalität Zugriff auf die COMSOL-Dokumentation und greift bei der Suche nach Antworten darauf zurück. Diese Funktion ist für die OpenAI-GPT-Modelle automatisch aktiviert und steht zudem für alle LLM-Modelle zur Verfügung, die die Funktion _Tool calling_ unterstützen, die im Fenster Preferences für die Option OpenAI API compatible aktiviert werden kann.
Fehlersuche im Modellaufbau
Sie können das Chatbot-Fenster auch verwenden, um einfache Fehler in Ihrer Modellierungskonfiguration zu finden. Die Chatbot-Funktionalität versteht zwar nicht alle Aspekte der Modellierung und Simulation, kann aber dennoch hilfreich sein. Beispielsweise kann sie Tippfehler in Ausdrücken identifizieren, die im Model Builder verwendet werden.
Um dies zu testen, öffnen Sie das Tutorial-Modell Laser Heating of a Silicon Wafer aus den Application Libraries unter COMSOL Multiphysics > Heat Transfer. Dieses Modell, das eine transiente Simulation eines Lasers zeigt, der über einen Siliziumwafer bewegt wird, erfordert keine Add-On-Produkte.
Falls das Modell noch nicht gelöst wurde, können Sie es nach dem Öffnen lösen.
Führen wir nun einen künstlichen Tippfehler in eine der Variablendefinitionen ein. Der Ausdruck, der den Abstand vom Brennpunkt definiert, lautet korrekt:
sqrt((x-x_focus)^2+(y-y_focus)^2)
Wir werden dies in den folgenden falschen Ausdruck ändern, in dem der zweite Term x_focus anstelle von y_focus enthält:
sqrt((x-x_focus)^2+(y-x_focus)^2)
Die folgenden Schritte unterscheiden sich zwischen Version 6.3 und Version 6.4:
Version 6.4
Klicken Sie mit der rechten Maustaste auf den Stammknoten laser_heating_wafer.mph (root) in der Model Builder Struktur und wählen SieSend to Chatbot > Model History.
Wenn die Frage Compact model history before sending to Chatbot? angezeigt wird, wählen Sie bitte Yes. Dadurch werden redundante Informationen aus dem Modellverlauf entfernt, beispielsweise Schritte aus früheren Modellierungsfehlern, die später korrigiert wurden.
Der Modellverlauf wird nun als Anhang zum Prompt hinzugefügt.
Geben Sie jetzt den Prompt Can you find any errors in this model? ein und klicken Sie auf die Schaltfläche Submit (Enter) .
Auch hier kann die Ausgabe variieren, doch im Folgenden finden Sie die Ausgabe einer typischen Session, in der das Hauptproblem unter Punkt 1 aufgeführt ist:
Yes — here are the main issues I see, with suggested fixes.
Definite errors
– Distance to the laser center (typo): You defined
r_focus = sqrt((x – x_focus)^2 + (y – x_focus)^2)
The second term should use y_focus:
r_focus = sqrt((x – x_focus)^2 + (y – y_focus)^2)
…
Die übrigen Vorschläge in der Ausgabe sind nicht gültig und resultieren aus einem mangelnden Verständnis der Modelldetails. Indem Sie die PDF-Datei des Modells als Textdatei speichern und an die Eingabe anhängen, erhält der Chatbot mehr Kontext und kann eine präzisere Antwort liefern. Generell gilt: Je mehr Kontext Sie zum Modell bereitstellen, desto wahrscheinlicher ist es, dass Sie eine relevante Antwort erhalten..
Die folgende Abbildung zeigt ein Beispiel dafür, wie ein solches Gespräch aussehen könnte:
Sie können auch Teile des Model Builder Baums als Anhang übermitteln und anschließend konkrete Fragen zu diesen Teilen des Modells stellen. Klicken Sie dazu mit der rechten Maustaste auf einen Knoten im Baum und wählen Sie Send to Chatbot. Sie können entweder nur den ausgewählten Knoten oder den Knoten zusammen mit all seinen untergeordneten Knoten übermitteln.
Version 6.3
In Version 6.3 führen Sie folgende Schritte aus:
Speichern Sie die Datei, indem Sie im Menü File die Option Save As und anschließend die Option Model File for Java (.java) auswählen.
Dadurch wird eine Textdatei mit der Erweiterung .java erstellt, die zu einer Java .class-Datei kompiliert werden kann, um als eigenständige Java Komponente verwendet zu werden. Bei diesem Ansatz wird COMSOL Multiphysics® ohne die COMSOL Desktop® Benutzeroberfläche ausgeführt. Die .java-Datei enthält die gesamte Modellkonfiguration über API-Code. In diesem Fall verwenden wir die Datei jedoch ausschließlich, um potenzielle Probleme in der Modellkonfiguration zu identifizieren. (Die Verwendung dieser Funktion hat nichts mit der Kompilierung von Apps mit COMSOL Compiler™ zu tun.)
Öffnen Sie die .java-Datei in einem beliebigen Texteditor, kopieren Sie den Code und fügen Sie ihn in das Chatbot-Fenster ein, indem Sie ein Prompt wie das folgende verwenden:
Can you find any errors in this model:
Das erste Problem, auf das das Chatbot-Fenster hinweist, ist der Tippfehler, den wir gerade eingeführt haben:
1. **Duplicate Variable Definition**: The variable `r_focus` is defined twice with different expressions. The first definition is correct:
“`java
model.component(“comp1”).variable(“var1”).set(“r_focus”, “sqrt((x-x_focus)^2+(y-y_focus)^2)”);
“`
The second definition at the end of the method seems incorrect:
“`java
model.component(“comp1”).variable(“var1”).set(“r_focus”, “sqrt((x-x_focus)^2+(y-x_focus)^2)”);
“`
Ensure you use the correct expression for `r_focus`.
Diese Art der Fehlerbehebung kann hilfreich sein, um kleinere Fehler in Ihrer Modellkonfiguration zu erkennen. Bei komplexeren Modellen empfiehlt es sich, Redundanzen zu entfernen und den Code zu vereinfachen, bevor Sie das Modell als .java-Datei speichern. Dazu können Sie den Verlauf komprimieren, sodass die Datei nur die aktuellen Modelleinstellungen enthält (File > Compact History).
Nächste Schritte
In diesem Blog-Beitrag haben wir die Funktionen des Chatbot-Fensters anhand des Tutorial-Modells Pacemaker Electrode vorgestellt. Wenn Sie die Datei, die zur Erstellung des Beispiels verwendet wurde, selbst ausprobieren möchten, klicken Sie auf die Schaltfläche unten.
Weiterführende Literatur
Möchten Sie mehr über den Application Builder und die COMSOL API erfahren? Lesen Sie die entsprechende Dokumentation:
- Get an introduction to using the Application Builder
- Learn more about programming using the COMSOL API
DeepSeek ist eine Marke der Delson Group Inc. Google Gemini ist eine Marke von Google LLC. Microsoft und Azure sind Marken der Microsoft-Unternehmensgruppe. OpenAI ist eine Marke von OpenAI, Inc. Oracle und Java sind eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.

Kommentare (0)