Scripting mit Jmol: Unterschied zwischen den Versionen

Aus Chemie digital
Wechseln zu: Navigation, Suche
(Das Scripting-Fenster in Jmol)
Zeile 35: Zeile 35:
 
# Mit dem Scripteditor kann man Scripte, die aus mehreren Befehle bestehen, eingeben und auch später ausführen. ''Wurde noch nicht getestet!''
 
# Mit dem Scripteditor kann man Scripte, die aus mehreren Befehle bestehen, eingeben und auch später ausführen. ''Wurde noch nicht getestet!''
  
{|
+
<center>{|
 
|-
 
|-
 
! Aufruf der Script-Konsole !! Script-Konsole in einem Extra-Fenster
 
! Aufruf der Script-Konsole !! Script-Konsole in einem Extra-Fenster
 
|-
 
|-
| [[JmolScript2.png]] || [[JmolScript3.png]]
+
| [[Datei:JmolScript2.png]] || [[Datei:JmolScript3.png]]
 
|}
 
|}
 +
</center>
 +
 
== Konkrete Beispiele ==
 
== Konkrete Beispiele ==
 
=== Seiten mit Zeichnungen im Wiki ===
 
=== Seiten mit Zeichnungen im Wiki ===

Version vom 4. Februar 2016, 10:53 Uhr

Die Informationen gelten nicht nur für Jmol, das auf dem Heimcomputer laufende Java-Programm, sondern auch für die Wiki-Extension Jmol und JSmol. Speziell JSmol ist für die Zukunft interessant, das es auch auf Mobil-Geräten genutzt werden kann, was beim Java-basierten Jmol nicht der Fall ist.

Inhaltsverzeichnis

Scripting hier im Wiki mit der Wiki-Exptension

Scripting ermöglicht hier im Wiki den Eingriff in ein mit JSmol eingebundenes Bild (allgemeine Infos dazu: Jmol-Wiki-Extension). Man kann verschiedene Bedienelemente verwenden, wie Knöpfe, AuswahlKästchen (CheckBoxen) und Optionsknöpfe (RadioButton).

In speziellen Script-Tags werden dann die Befehle eingegeben, wie man sie auch in Jmol direkt verwenden kann. Mehrere Befehle werden jeweils durch ein Semikolon getrennt.


Hier wird die Datei Benzol.cml angezeigt. Zusätzlich wird beim Laden ein kleines Script ausgeführt, dass festlegt, wie das Molekül dargestellt wird.

<jmol>
  <jmolApplet>
   <size>500</size>
   <script>spacefill on; spacefill 20%; wireframe 0.1</script>

<uploadedFileContents>Benzol.cml</uploadedFileContents> </jmolApplet> </jmol>


Bedienelemente werden mit dem gleichen Tag eingeschlossen, wie beim Laden und Anzeigen eines Bildes. Bei einem Bild pro Seite wird dieses damit angesprochen. Hier geht es um ein Kreuzchen, dass man setzen oder entfernen kann, um die automatische Drehung zu starten oder zu stoppen. Es sind zwei getrennte, sehr kleine Skripte.

<jmol>
   <jmolCheckbox>
    <scriptWhenChecked>spin on</scriptWhenChecked>
    <scriptWhenUnchecked>spin off</scriptWhenUnchecked>


    <text>Spin an/aus</text>
   </jmolCheckbox>
 </jmol>

Das Scripting-Fenster in Jmol

Wer sich nicht im Wiki anmelden will kann das Scripting auch nutzen, um in der Java-Software Jmol z.B. Orbitale darzustellen. Weitere Gründe ist die schnellere Möglichkeit etwas auszuprobieren. Im Wiki müsste man immer die Seite abspeichern was immer etwas Zeit kostet. Außerdem kann es bei einem schwerwiegende Schreibfehler passieren, dass die vorher eingetippten Befehle nicht abgespeichert werden und man alles neu eintippten muss. Dagegen kann man in Jmol alles ausprobieren und bekommt direkt das Ergebnis ... oder eben den Misserfolg.

Scripte lassen sich in Jmol auf zwei Weisen ausführen:

  1. Über die Scriptkonsole kann man nach und nach die Befehle eingeben und deren Wirkung sehen. Praktisch zum Ausprobieren!
  2. Mit dem Scripteditor kann man Scripte, die aus mehreren Befehle bestehen, eingeben und auch später ausführen. Wurde noch nicht getestet!
{|

|- ! Aufruf der Script-Konsole !! Script-Konsole in einem Extra-Fenster |- | JmolScript2.png || JmolScript3.png |}

Konkrete Beispiele

Seiten mit Zeichnungen im Wiki

Seiten, die Jmol/JSmol-Zeichnungen eingebunden haben, sollen mit der [[Kategorie:Jmol]] versehen sein. Anhand der Beispiele können Sie sich orientieren und daraus lernen. Eventuell finden Sie aber auch zu speziellen Themen weitere Zeichnungen.

LCAOCartoon nutzen

LCAOCartoon ist eine einfache Möglichkeit zur Darstellung von Atomorbitalen. Im Gegensatz zu den meist komplizierten Molekül-Orbitalen kann man hier einfach und schnell in ein Bild Atomorbitale einblenden und so - für Schüler ausreichend - mehrere Atomorbitale einblenden, um durch Überlappung das Zustandekommen von Bindungen erläutern zu können. Man braucht kein spezielles Format mit zusätzlichen Informationen.

Die Einblendung der Orbitale wird dabei vom Benutzer/Programmierer gesteuert und man bei jedem Atom jedes Orbital anzeigen lassen, auch wenn es keinen Sinn macht. Ein sp³-Hybrid-Orbital bei einem H-Atom anzeigen ... kein Problem!

Auswahl der Atome

Wie auch sonst in Jmol muss man angeben, welche Atom bzw. welcher Atomkern, als Mittelpunkt für das Orbital genutzt werden soll.

Es gibt mehrere Möglichkeiten Atome auszuwählen, um bei ihnen ein Atomorbital anzeigen zu lassen.

  • select (atomno=1);
... Auswahl des Atoms Nummer 1. Die Nummer eines Atoms bekommt man zum Beispiel, wenn man die Maus über ein Atom hat, nach kurzer Zeit angezeigt.
  • select (atomno=1), (atomno=2);
... mehrere Atome werden durch Komma getrennt angegeben. So kann man das gleiche Orbital bei mehreren Atomen auf einmal anzeigen lassen. Man kann die gleichen Orbitale auch nacheinander mit getrennten "Selektionen" anzeigen lassen.
  • select all;
... Auswahl aller Atome.

Das Semikolon am Ende ist nur dann notwendig, wenn im gleichen Skript danach noch ein Befehl angehängt wird. Das wird nach einer Auswahl aber wohl meist der Fall sein.

ACHTUNG:

  • select (atomno=1); select (atomno=2);
... hier ist für den folgenden Befehl nur das Atom mit der Nr. 2 ausgewählt!

Darstellung verschiedene Orbitale

Für die Darstellung der verschiedenen Orbitale wird zunächst der folgende Befehl benötigt:

  • lcaocartoon create <Orbital>

Die wichtgisten Orbitale sind dann:

  • s
  • p ... oder einzeln:px,py,pz
  • sp3 ... oder einzeln: sp3a, sp3b, sp3c, sp3d
  • sp2 ... oder einzeln: sp2a, sp2b, sp2c
  • sp ... oder einzeln: spa, spb

Hinter dem Namen steht bei p und bei den Hybridorbitalen ein weiterer Buchstabe. Dadurch wird aus den verschiedenen Orbitalen der gleichen Art ausgewählt. Welche davon man jetzt braucht, muss man ausprobieren.

Will man z.B. alle sp³-orbitale anzeigen lassen, so braucht man den Befehl:

  • lcaocartoon create sp3

Um nur eines der sp³-orbitale anzeigen lassen, so braucht man z.B. den Befehl:

  • lcaocartoon create sp3b

Des weiteren gibt es die Möglichkeit einzelne Elektronen oder Elektronenpaare darzustellen. Dabei gibt es zwei Möglichkeiten der Darstellung:

  • wie ein Orbital als Elektronenwolke
  • als Punktepaar oder einzelner Punkt bei einem Radikal

Dazu braucht man die folgenden Befehle:

  • lcaocartoon create lp ... für ein einzelnes freie Elektronenpaar wie bei Stickstoff in Form einer Elektronenwolke.
  • lcaocartoon create lpa und lcaocartoon create lpa ... für die zwei freien Elektronenpaare wie beim Sauerstoff jeweils in Form einer Elektronenwolke.
  • lcaocartoon lonepair "lp" ... um wie beim Stickstoff eine freies Elektronenpaar in Form von Punkten darzustellen.
  • lcaocartoon lonepair "lpa" und lcaocartoon lonepair "lpb" ... um wie beim Sauerstoff die zwei freien Elektronenpaare jeweils als zwei Punkte darzustellen.
  • lcaocartoon radical "lp" ... ein einzelnes Elektron bei einem Radikal darzustellen. Ebenso "lpa" und "lpb".
LCAO-Darstellung in Jmol Freie Elektronenpaare.png
Man kann diese beiden Darstellungsarten auch kombinieren, indem man die Wolke durchsichtig darstellt und das Elektronenpaar undurchsichtig.
  • lcaocartoon opaque; lcaocartoon lonepair "lpa" "lpb"; lcaocartoon translucent; lcaocartoon create lpa; lcaocartoon create lpb

Informationen zur Veränderung der Transparenz und weiteren Einstellungen gibt es in einem späteren Abschnitt.

Änderung des Aussehens