Anleitungen für das Scripting in Molecular Workbench

Aus Chemie digital
< Molecular Workbench
Version vom 11. Oktober 2018, 20:00 Uhr von B.Lachner (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Molecular Workbench bietet zahlreiche Möglichkeiten, mit Hilfe von Scripting eine Simulation zu beeinflussen. Anhand von mehreren Beispielen soll gezeigt werden, wie man von den Elementen, wie zum Beispiel Knöpfen und Schieberegler, die ja außerhalb der Simulationsfenster liegen, auf die Simulationsfenster zugreifen kann.

Beispiel: States of Matter

Die Simulation "States of Matter" wird in Molecular Workbench mitgeliefert. Sie ist zu finden unter "Chemistry"- "States of matter" und dort die zweite Datei unter dem gleichen Namen.

Beispiel "States of Matter" in Molecular Workbench.png

Um diese Simulation zu bedienen gibt es mehrere Bedienelemente unter dem Simulationsfenster.

Um die Scripte richtig zu verstehen, muss man auch wissen, welche Dateien zu der Simulation gehören:

Dateien zum Beispiel "States of Matter" in Molecular Workbench.png

Die Datei states of matter.cml ist die Seite, die im wesentlichen eine HTML-Seite ist, die die Oberfläche der Arbeitsfläche darstellt. Das erkennt man an der Endung cml. Die Datei states of matter$0.mml ist aufgrund der Endung mml als eine Datei zu erkennen, die den Inhalt des Modell-Containers definiert. Der Bestandteil $0 zeigt an, dass es die Datei ist, die in dem ersten Modell-Container bei Start geladen wird. Standardmäßig enthält der Name immer den Namen der cml-Datei. Die anderen Dateien mit der Endung mml sind ebenfalls Dateien für den Modell-Container, also andere Simulationsdateien, die aber erst über die Bedienelemente geladen werden.

Der Knöpfe werden mit mit ersten Modell-Container verbunden, indem in den Einstellungen des Knopfes "Customize button" unter "Select a model" den entsprechenden Modell-Container auswählt. In diesem Fall ist das <Molecular Workbench> states of mater$0.mml.

Einstellungen Knopf "States of Matter" in Molecular Workbench.png

Der Bestandteil <Molecular Workbench> zeigt an, um welche Art von Modell-Container es sich handelt, denn Molecular Workbench bietet ja verschiedene Arten an. Wie schon erwähnt steht $0 für den ersten, wobei die Container verschiedener Art immer gemeinsam nummeriert werden.

Im Feld darunter wird angegeben, welche Art von Aktion durchgeführt werden soll. Das kann ein allgemeines Script (dann wählt man Execute MW script) sein oder eine spezielle Aktivitäten, die zum Beispiel Eigenschaften der Elemente im Modell-Container verändern kann.

Der eigentliche Befehl, der im Beispiel ausgeführt wird, steht unten im Bereich "Enter the script to be run when clicked". Bei einer Aktion zur Änderung von Eigenschaften, steht dann dort nichts.

Einfache Scripting-Befehle sind:

  • run um die Simulation zu starten
  • stop um die Simulation zu anzuhalten
  • reset silently um ohne Nachfrage die Simulation zu anzuhalten und zurückzusetzen
  • load sm_liq.mml um die Datei sm_liq.mml zu laden (siehe Dateien der Simulation!)

Die Einstellungen zu dem Knopf (im Rahmen) sollten selbsterklärend sein.

Der Knopf "Start compression" enthält zwei Zeilen:

  • set obstacle[0].density 0.1;
  • set obstacle[0].hy 0.2;

Den Namen findet man beim gezeichneten Objekt, indem man rechts draufklickt und im Kontext-Menü "Properties" auswählt. Dort steht der Name im Feld "Index". "obstacle" heißt Hindernis. In dieser Zeichnung also der Stempel, der auf die Teilchen drückt. Außerdem sind dort spezifische Einstellungen zu dem Hindernis.

Eigenschaften Obstacle vor dem Script zu States of Matter.png

Nach der Ausführung des Skriptes ändern sich zwei der Werte.

Eigenschaften Obstacle nach dem Script zu States of Matter.png

Geändert hat sich die "Dichte" und der Wert bei "Vertical Force". Beide haben jeweils den Wert, den sie über das Skript zugewiesen bekommen haben.

Damit ist klar, dass die Skripte folgendes bedeuten:

  • set legt den Wert neu fest.
  • obstacle[0] bezeichnet das Objekt, dass verändert werden soll
  • .density gibt den Wert an, der von dem Objekt verändert werden soll.
  • 0.2 gibt den neuen Wert an
  • ; alles wird durch ein Semikolon abgeschlossen

Weitere Scripting-Befehl

Nähere Informationen zu den Optionen dieser Befehle wäre hier zu umfangreich. Nutzen Sie die Adresse "http://mw2.concord.org/public/tutorial/mwscripts.cml" innerhalb von MW, um auf eine Siete zu kommen, über die man zu den Seiten kommt, die die Nutzung der Scriptung-Befehl ausführlich erklären.

  • Verändung der Größe des Modell-Containers ... set width [value] und set height [value]
  • Auswahl von Objekten nutzt man den Select Befehl.
  • Verschieben aller gewählten Objekte benutzt man den Befehl move