Montag, 29. November 2010

Elementarzellen mit JMOL darstellen

Ich nutze JMol gern um mir die Anordnung von Atomen anschaulich darzustellen. Leider ist die Dokumentation von JMol nicht nach meinem Geschmack und ich suche immer ewig nach den passenden Scriptbefehlen. Daher mache ich aus meinen Notizen mal einen kleinen Merkzettel:

Hat man die Koordinaten aller Atome, kann man in Script mit


data "model HfO2 kubisch"
 22
HfO2 kubisch
Hf -2.5200 -2.5200 -2.5200 +4
Hf -2.5200 2.5200 -2.5200 +4
Hf 2.5200 2.5200 -2.5200 +4
Hf 2.5200 -2.5200 -2.5200 +4
Hf -2.5200 -2.5200 2.5200 +4
Hf -2.5200 2.5200 2.5200 +4
Hf 2.5200 2.5200 2.5200 +4
Hf 2.5200 -2.5200 2.5200 +4
Hf -2.5200 0.0000 0.0000 +4
Hf 0.0000 -2.5200 0.0000 +4
Hf 0.0000 0.0000 -2.5200 +4
Hf 2.5200 0.0000 0.0000 +4
Hf 0.0000 2.5200 0.0000 +4
Hf 0.0000 0.0000 2.5200 +4
 O -1.2600 -1.2600 -1.2600 -2
 O 1.2600 1.2600 -1.2600 -2
 O 1.2600 -1.2600 1.2600 -2
 O -1.2600 1.2600 1.2600 -2
 O -1.2600 -1.2600 1.2600 -2
 O 1.2600 1.2600 1.2600 -2
 O -1.2600 1.2600 -1.2600 -2
 O 1.2600 -1.2600 -1.2600 -2
end "model HfO2 kubisch";
show data

die Atome darstellen lassen. Um die Darstellung irgendwo einzufügen ist ein weißer Hintergrund meist besser geeignet:

background white;

Oft wird es übersichtlicher, wenn man statt der automatisch erzeugten Verbindungen nur einige einzeichnet.

connect DELETE;
connect (atomno=1) (atomno=4);

Und mit

connect (atomno=3) (atomno=7) HBOND RADIUS .03 black create;

habe ich eine schwarze, dünne Strichlinie gezeichnet, da mit

draw line1 color black (atomno=5) (atomno=4);

nur durchgezogene Linien möglich sind. line1 ist dabei ein Name für das Zeichnungsobjekt. Jede neue Linie benötigt einen eigenen Namen: line1, line2, line3. Gibt man mehr als drei Punkte (Atome) an, so wird eine Ebene gezeichnet. Statt der Atompositionen kann man auch Koordinaten in der Form {x y z} angeben. Zum Beispiel zeichnet

draw plane1 color red {10 0 0} {0 10 0} {0 0 10} translucent;

eine halb durchsichtige rote Ebene.
Die Nummern der Atome kann man sich schnell mit

select all;
color labels black;
label %i;
select none;

einblenden. Ich setze die Schriftfarbe dabei gern auf schwarz, da die von JMol vergebenen Schriftfarben auf den farbigen Atomen meist schwer zu erkennen sind. Als Farbnamen versteht JMol die Begriffe:

blue, deepskyblue, cornflowerblue, cadetblue, turquoise, cyan, yellow, gold, green, greenblue, chartreuse, mediumspringgreen, aquamarine, deeppink, magenta, purple, darkmagenta, blueviolet, violet, orange, red, redorange, indianred, lightsalmon, tan, burlywood, sienna, gray, white, und black.


Den Radius der Atome kann man auch anpassen,

cpk 40%

oder man ändert nur eine Sorte:

select Hf*;
cpk 60%;

das kann man einfach nutzen um Atome zu verstecken.
Eine Ansicht kann man sich speichern, wenn man über Rechtsklick, Show, Orientation einen der beiden Befehle ins Script kopiert.

2 Kommentare:

  1. Hallo,
    ich bin ein Schüler, von einem Freund der Vater gab mir das Programm zum Üben für das Fach Chemie. Er selber hat aber leider keine Zeit es mir zu erklären.
    Wie schaut es aus, wie fängt man an wenn einem der schwarze Bildschirm entgegenschaut
    Das mit deinen Erklärungen ist ja schön und gut aber wo soll ich das denn hinschreiben?!
    MfG
    Peter

    AntwortenLöschen
  2. Hallo Peter,

    Mit einem Rechtsklick in das schwarze Fenster kannst du im Popupmenu "Console" auswählen. Dann erscheint ein weiteres Fenster mit einem "$" als Prompt. In dieser Konsole kannst du obige Beispiele per Copy&Paste einfügen, oder selber tippen.
    Eine meitere Möglichkeit ist das anlegen einer Textdatei mit dem Editor deiner Wahl, die du dann über Open/File... in JMol öffnest.
    Alles klar?

    Gruß
    GoemonX

    AntwortenLöschen