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.

Dienstag, 16. November 2010

HTPC unter Linux fürs Wohnzimmer

Mein HTPC ist inzwischen Realität geworden. Alles läuft, sieht gut aus und einige Filmabende hat er schon hinter sich.
Folgende Hardware habe ich verbaut:
  • Gehäuse: Linkworld LC820-01 in Silber/Schwarz mit Kartenleser. Die Verarbeitung ist billig, aber OK für den Preis. Die hässliche blaue Power-LED habe ich gleich wieder abgeklemmt. Das Netzteil und den Lüfter habe ich ausgebaut. Wichtig war mir beim Kauf der Kartenleser und die USB-Anschlüsse an der Front, und das es von der Breite auf meine kleine Stereoanlage passt.
  • Motherboard: Zotac Ion-ITX (Lüfter kam schon zerbrochen an)
  • RAM: 2x 2 GByte DDR2 Corsair Twin2X CL5, PC6400/800
  • Festplatte: 500 GByte
  • Lüfter: den zerbrochenen Originallüfter habe ich durch einen 75mm Lüfter (Conrad) an 5V vom USB ersetzt. Er bläst nun von oben in den großen Kühler rein. Den im Gehäuse vorhandenen Lüfter habe ich ausgebaut. So ist die Kiste sehr leise, aber leider noch nicht geräuschlos.
  • WLAN: die Mini-PCIe WLAN-Karte auf dem Zotac-Board läuft mit Linux nicht einwandfrei, also habe ich sie durch eine andere ersetzt (Delock WLAN Mini PCI Express 54Mbps)
  • DVD: Sony Optiarc Slot In DVD-Laufwerk (ein Slot-In-Laufwerk wollte ich schon immer mal haben)
  • Verkabelung: mitgelieferte SATA-Kabel und einen eingekürzten und vereinfachten Stromversorgungskabelbaum (MOLEX) gebastelt - auf einmal war wieder Platz im Gehäuse
  • Keyboard: MSI Air Keyboard (einfach Klasse!!)
Und folgende Peripherie macht den HTPC komplett:
  • Monitor: HP 2510i
  • Kabel: 10m DVI (Rechner und Monitor stehen weit auseinander),
  • Webcam: Logitech Communicate STX (aus meinem Bestand)
  • Kabel: 2x 3m + 1x 1m USB (zum Anschluß der Webcam, diese USB-Kabellänge ist abenteuerlich, aber Video und Ton kommen gut durch)
  • DVB-T: Pinnacle Cynergie T-USB (zum Fernsehen, hatte ich schon da)
Und diese Software läuft drauf:
  • Ubuntu 10.04 LTS mit VDPAU-Treibern
  • XBMC mit Live-TV (nach dieser Anleitung)
  • Skype
  • Firefox
  • Google Earth
  • ein Script das mir ein aktuelles GpsMid zusammenbastelt, darüber werde ich demnächst nochmal posten
  • Truecrypt
Mit dem einen Lüfter wird das Gerät laut Nvidia GPU Info nicht wärmer als 60°C unter hoher Last (Abspielen von HD-Film, Demuxen und Enkodieren eines 5GB großen DVB-T TS-Files in AVI und Erstellen eines GpsMids aus einem rund 1 GB großen OSM files).

Geocachen mit dem Handy - Cachebeschreibungen unterwegs

Ich habe mein System etwas geändert. Statt der dicken Mobibook-Datei nehme auf dem Handy nun die mit dem CacheScanner geladenen und konvertierten HTML-Dateien und Bilder mit. Um schnell auf eine Geocache-Beschreibung zugreifen zu können habe ich folgende kleine HTML-Datei als Favorit in meinem mobilen Browser gelinkt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Geocache Suchformular</title>

<script>
function openrecord() {
var GCCode = encodeURIComponent(document.getElementById('GCCode').value);
GCCode = GCCode.toUpperCase();
location.href = "GC" + GCCode + "_converted.html";
}
</script>
</head>
<body>

<h1>Geocache Suchformular</h1>
<form action="_GCSuche.htm">
<p>
<input type="text" name="GCCode" id="GCCode" /><br><br>
<input type="button" name="Go" value="Go to Geocache"
onclick="openrecord()">
</p>
</form>
</body>
</html>

Sehe ich einen GC auf der Karte in GpsMid, so merke ich mir den GeoCode und tippe ihn in das Suchfeld. Ein klick auf den Button bringt mich dann direkt zur Cachebeschreibung. Easy! Keine langwierige Konvertierung mehr ins Mobibook format und ich kann alle Bilder (JPG, GIF, PNG etc.) sehen, Sonderzeichen werden immer korrekt dargetellt und die meisten aufwändigen Rästel mit HTML sind ebenfalls ohne Probleme lesbar.