
In einem früheren Blog-Beitrag haben wir uns mit der Einrichtung einer programmatischen Abfolge von Vorgängen unter dem Knoten Study befasst, um ein Modell zu lösen, es in einer Datei zu speichern und Daten in eine Datei zu exportieren. In diesem Blog-Beitrag bauen wir auf diesen Kenntnissen auf und zeigen, wie eine gesamte Bildsequenz nach dem Lösen eines Modells in der COMSOL Multiphysics® Software automatisch exportiert werden kann.
Anmerkung der Redaktion: Die ursprüngliche Version dieses Beitrags wurde am 11. Juli 2017 veröffentlicht. Sie wurde seitdem mit neuen Inhalten und Screenshots aktualisiert.
Ein Mikromischer-Modell als Beispiel
Um diese Funktionalität zu demonstrieren, laden wir wie in unserem vorherigen Blog-Beitrag “Verwendung von Jobsequenzen zum Speichern von Daten nach der Lösung Ihres Modells”, zunächst das Tutorial-Modell Micromixer aus den Application Libraries. Dieses Modell ist im Ordner COMSOL Multiphysics > Fluid Dynamics verfügbar und veranschaulicht die Strömung und den Stofftransport in einem laminaren statischen Mischer.
Das Modell führt eine Strömungssimulation mit dem Interface Laminar Flow durch. Im nächsten Schritt wird gezeigt, wie die Mischeffizienz mithilfe des Interfaces Transport of Diluted Species berechnet werden kann, wobei die Ergebnisse der Strömungssimulation als Eingabe verwendet werden. Die Spezies werden basierend auf der Fluidgeschwindigkeit stromabwärts transportiert.
Die Berechnungszeit für dieses Modell beträgt einige Minuten. Im vorherigen Blog-Beitrag haben wir die Berechnungen beschleunigt, indem wir den Teil mit Transport of Diluted Species nicht gelöst haben. Dieses Mal benötigen wir jedoch das Konzentrationsprofil im gesamten Mischer. Um die Berechnung in diesem Fall zu beschleunigen, können Sie die Elementgröße Predefined Element Size auf Extremely coarse setzen.
In diesem Beispiel ist der Schritt des Vergröberns des Netzes optional, und alle nachfolgenden Schritte funktionieren auch ohne diese Änderung.
Sehen wir uns nun an, wie man einen parametrisierten Slice-Plot zusammen mit einer Animation verwendet, um eine ganze Bilderserie zu exportieren, wobei jedes Bild einem einzelnen Schnitt entspricht.
Verwendung von Parametern zum Positionieren eines Slice-Plots
Dies ist der Standard-Plot für die Geschwindigkeit an fünf verschiedenen Schnitten in der yz-Ebene in x-Richtung in einer gelösten Version des Modells:
Erstellen wir einen ähnlichen Slice-Plot, jedoch für die Konzentration. Klicken Sie dazu mit der rechten Maustaste auf den Knoten Velocity (spf) und wählen Sie Duplicate. Ändern Sie in der neu erstellten Plot-Gruppe den Namen in Concentration und den Ausdruck in c für die Konzentration:
Anstelle der standardmäßig fünf gleichmäßig verteilten Schichten im Slice-Plot für die Konzentration können Sie die Eingabemethode Plane Data in Coordinates ändern. So können Sie beispielsweise eine einzelne Schicht bei 0,5 mm wie folgt erstellen.
Der resultierende Plot ist in der folgenden Abbildung dargestellt:
Wir können die Position der Schnitte mithilfe eines Results Parameter parametrisieren. Klicken Sie dazu mit der rechten Maustaste auf den Knoten Results und wählen Sie Parameters.
Definieren Sie nun einen Parameter xcut mit dem Wert -3,5 [mm]. (Der Mikrokanal reicht in x-Richtung von -3,5 mm bis 8 mm.)
Für den Slice-Plot der Konzentration geben Sie im Abschnitt Plane Data im Feld x-coordinates xcut ein.
Der entsprechende Slice-Plot ist hier dargestellt:
Exportieren einer Bildersequenz mit einer Animation
Was wäre, wenn Sie nun eine Reihe von Bildern exportieren möchten, die verschiedenen Werten der Slice-Position entsprechen? Zu diesem Zweck können Sie eine dateiexportbasierte Animation verwenden.
Um eine Animation zu erstellen, wählen Sie File aus dem Menü Animation in der Menüleiste.
Alternativ können Sie mit der rechten Maustaste auf den Knoten Export unter Results klicken und Animation > File auswählen.
Ändern Sie im Einstellungsfenster für den Knoten Animation in der Modellstruktur den Eintrag Subject in Concentration. Wählen Sie anschließend Image sequence als Output type.
Geben Sie für den Filename beispielsweise C:\COMSOL\my_image.png ein. Dabei wird davon ausgegangen, dass Sie in Ihrem System einen Ordner C:\COMSOL haben, Sie können die Bilder jedoch in jedem Ordner speichern, für den Sie schreibberechtigt sind.
Um die exportierte Datei mit dem Parameter xcut zu verknüpfen, ändern Sie den Typ Sequence in Result parameter. Diese Einstellung ist im Abschnitt Animation Editing verfügbar.
Wählen Sie xcut als Parameter, setzen Sie Start auf -3.5, Stop auf 8 und Unitauf mm.
Klicken Sie oben im Einstellungsfenster Animation auf Export, um die Erstellung der Bilder zu starten. Die Bilder erhalten eine Endung, die der Nummer in der Sequenz entspricht. Die Anzahl der Bilder wird im Abschnitt Frames festgelegt.
Es wird nun eine Reihe von Bildern mit den Namen my_image01.png, my_image02.png, …, my_image25.png erstellt, wie im folgenden Screenshot dargestellt.
Automatischer Export nach dem Lösen des Modells
Sehen wir uns nun an, wie die Bilder automatisch nach der Lösung eines Modells in COMSOL Multiphysics generiert werden können.
Um eine Abfolge von Vorgängen unter dem Knoten Study definieren zu können, aktivieren Sie Solver and Job Configurations. Diese Option ist im Dialogfeld Show More Options verfügbar, das Sie über die Symbolleiste des Model Builder aufrufen können. Klicken Sie auf das Augensymbol, um das Dialogfeld zu öffnen.
Wählen Sie unter dem nun sichtbaren Knoten Job Configuration die Option Sequence aus. Dieser Vorgang wurde in unserem vorherigen Blog-Beitrag beschrieben.
Klicken Sie mit der rechten Maustaste auf Sequence und wählen Sie Solution. Wählen Sie im Einstellungsfenster für Solution die Option All, falls diese noch nicht ausgewählt ist. Dadurch wird sichergestellt, dass alle Studienschritte ausgeführt werden.
Klicken Sie mit der rechten Maustaste auf Sequence und wählen Sie Results > Export to File.
Wählen Sie im Einstellungsfenster Export to File unter der Option Run Animation 1 aus. In diesem einfachen Beispiel mit nur einem Knoten unter Export hätten wir hier auch die Standardoption All beibehalten können.
Um mithilfe von Sequence zu lösen, klicken Sie mit der rechten Maustaste und wählen Sie Run. Alternativ können Sie auch auf die Schaltfläche Run oben im Einstellungsfenster klicken. Dadurch wird das gesamte Modell erneut ausgeführt und nach der Lösung werden die Bilddateien exportiert.
Export von 2D-Bildern mithilfe von Schnittebenen
Der vorherige Exportvorgang hat eine Reihe von 3D-Bildern erzeugt. Wie aber kann man stattdessen eine Reihe von 2D-Bildern für jeden Schnitt erstellen? Dies ist mithilfe einer parametrisierten Schnittebene, einer Cut Plane, möglich.
Klicken Sie mit der rechten Maustaste auf den Knoten Data Sets und wählen Sie Cut Plane.
Geben Sie im Einstellungsfenster für Cut Plane für die x-Koordinate xcut ein.
Die bereits vorhandenen 3D-Plot-Gruppen sind für 2D-Plots nicht geeignet, klicken Sie daher mit der rechten Maustaste aufResults und wählen Sie 2D Plot Group.
Im Einstellungsfenster der 2D Plot Group können Sie Cut Plane 1 als Data set auswählen.
Fügen Sie einen Surface-Plot unter der 2D Plot Group hinzu und ändern Sie Expression in c für die Konzentration.
Um die Liste der Plot-Gruppen ordentlicher zu gestalten, benennen Sie die 2D Plot Group Cut Plane, Concentration.
Navigieren Sie zum Knoten Animation in der Modellstruktur. Ändern Sie Subject im entsprechenden Einstellungsfenster in Cut Plane, Concentration.
Klicken Sie auf Export, um die Sequenz von 2D-Bildern zu erstellen, wie hier im Dateibrowser dargestellt:
Um diese Ansicht mit dem Windows Explorer zu erhalten, ändern Sie die Ansicht auf Large Icons.
Genau wie im vorherigen Beispiel können Sie nun die Job Sequence ausführen, um das Problem zu lösen und die Bilder anschließend automatisch generieren sowie in einer Datei speichern zu lassen.
Nächste Schritte
Um das in diesem Blog-Beitrag vorgestellte Beispiel selbst auszuprobieren, klicken Sie auf die Schaltfläche unten, die sie zu den MPH-Dateien führt.
Microsoft und Windows sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern.
Kommentare (0)