Scripting mit Jmol: Unterschied zwischen den Versionen
(→Darstellung der Partialladungen) |
(→Darstellung der Partialladungen) |
||
Zeile 175: | Zeile 175: | ||
</jmolButton> | </jmolButton> | ||
</jmol> | </jmol> | ||
+ | |||
+ | |||
+ | <jmol> | ||
+ | <jmolApplet> | ||
+ | <size>300</size> | ||
+ | <script></script> | ||
+ | <uploadedFileContents>benzol.cml</uploadedFileContents> | ||
+ | </jmolApplet> | ||
+ | </jmol> |
Version vom 1. Mai 2016, 20:21 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:
- Über die Scriptkonsole kann man nach und nach die Befehle eingeben und deren Wirkung sehen. Praktisch zum Ausprobieren!
- 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 | |
---|---|---|
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.
Hochgeladene Dateien mit Molekülen findet man in der [[Kategorie:CML-Datei]]. Die Dateien können belibig oft verwendet werden.
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.
-
select (hydrogen)
- ... Auswahl aller Wasserstoff-Atome. Oder eben den englischen Namen eines anderen Elementes.
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 wichtigsten 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 freie 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
undlcaocartoon 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"
undlcaocartoon 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"
.
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.
Neben den in der Schule am meisten genutzten Orbitale sind auch auch folgende Hybrid-Orbitale darstellbar:
- Die sp³d Orbitale, einzeln als
sp3da, ... bis sp3d
e ansprechbar. - Die sp³d² Orbitale, einzeln als
sp3d2a, ... bis sp3d2f
ansprechbar.
Änderung des Aussehens
Zur Veränderung des Aussehens stehen ein paar Befehle zur Auswahl. Dabei muss man beachten, dass eine eingestellter Wert erhalten bleibt und beim zeichnen des nächsten Orbitals nicht auf dem Standard-Wert zurückgesetzt wird. Deshalb kombiniert man am besten jede Anzeige eines Orbitals mit vorangestellten Befehlen zur Festlegung des Aussehens.
Transparenz:
-
LcaoCartoon Opaque
- .. lässt die als nächstes dargestellten Orbitale unduchsichtig darstellen.
-
LcaoCartoon Translucent
- .. lässt das Orbital leicht durchsichtig erscheinen. Es ist aber immer noch zu sehen.
-
LcaoCartoon Translucent <Zahl>
- .. ermöglicht einzustellen, wie sehr durchsichtig ein Objekt ist. O steht dabei für Undurchsichtig (wie Opaque), 0.3 ist dann ein wenig transparent usw. Maixmal möglich ist 1, wie bei Translucent.
Farbe:
-
LcaoCartoon color <Farbe>
- .. so kann man die Farbe für das nächste Orbital auswählen. Neben den englischen Namen (
orange, yellow, ...
) kann man auch einen RGB-Farbcode verwenden ([255, 165, 0]
).
- .. so kann man die Farbe für das nächste Orbital auswählen. Neben den englischen Namen (
-
LcaoCartoon color <Farbe1> <Farbe2>
- .. bei p-Orbitalen kann man zwei Farben angeben, für die zwei Teile oben und unten. Wird nur eine Farbe angegeben, werden beide Teile gleich eingefärbt.
Farbe und Transparenz lassen sich in einem festlegen, wie in diesem Beispiel:
-
LcaoCartoon color tanslucent orange
Skalierung:
-
LcaoCartoon scale <Zahl>
- .. dient der Anpassung der Größe des als nächstes gezeichneten Orbitals.
Tipp: Die p-Orbitale überlagern sich normalerweise nicht. Um das Zustandekommen einer π-Bindung zu verdeutlichen müssen die p-Orbitale vergrößert werden. Ab dem Faktor 1.7 bis 1.9 sollte das der Fall sein. Am besten probiert man es bei jedem Molekül erst einmal aus! |
Einige Beispiele für Befehle
-
select (atomno=1); lcaocartoon color blue translucent 0.1; lcaocartoon scale 1.6; lcaocartoon create pz
- .. hier wird eines der p-Orbitale bei Atom Nr. 1 in blau dargestellt, um den Faktor 1.6 vergrößert und nur wenig durchsichtig.
-
select (atomno=3) , (atomno=4); lcaocartoon color yellow translucent 0.2; lcaocartoon scale 1; lcaocartoon create s
- .. bei den Atomen Nr. 3 und 4 werden gelbe, nur ein wenig durchsichtige s-Orbitale dargestellt.
-
select (atomno=3); lcaocartoon scale 1; lcaocartoon color yellow translucent 0.2; lcaocartoon scale 1; lcaocartoon create s; select (atomno=1); lcaocartoon color orange translucent 0.2; lcaocartoon create sp2b
- .. hier wird eine σ-Bindung dargestellt, indem bei den benachbarten Atomen (hier Nr. 3 und Nr. 1) ein s bzw. eines der sp²-orbitale dargestellt wird.
Löschen
Bei der Verwendung von Knöpfen muss man aufpassen, dass die "alte" Zeichnung nicht die "neue" stört und so ist es am einfachsten, dass man die alten Darstellungen löscht. Das bezieht sich aber nicht auf das Molekül!
Will man alle Ergänzungen löschen, sollte man vorher alle Atome auswählen. Sonst kann es passieren, dass beim vorherigen Script-Befehl ein einzelnes Atom ausgewählt wurde und ein Löschbefehl sich nur dann auf Orbitale bei diesem Atom beziehen:
-
LcaoCartoon select all; LcaoCartoon delete
- ... dieser Befehl löscht alle Orbitale, die über den CREATE Befehl gezeichnet wurden, nicht aber die einzelnen, als Punkte gezeichneten, Elektronen.
-
lcaocartoon lonepair delete
- ... zum Löschen der einzelnen, als Punkte gezeichneten, Elektronen. Auch bei Radikalen.
Darstellung der Partialladungen
Hat man eine Datei hier hochgeladen, so kann man zu jeder beliebigen Datei die Partialladungen anzeigen lassen, indem die Oberfläche (speziell der sogenannte VanDerWaals-Radius - grob dem Kalottenmodell entsprechend) eingefärbt werden, wobei