Die jährlich erscheinende Distribution Scientific Linux, die das Fermilab zusammen mit CERN, DESY und der ETH Zürich entwickelt, offeriert eine interessante Sammlung wissenschaftlicher Tools für Physiker.
Scientific Linux [1] hat es sich auf die Fahnen geschrieben, Forschern durch die Integration wissenschaftlicher Applikationen in das Betriebssystem eine ausgezeichnete Umgebung für wissenschaftliches Computing zu bieten. Seine Basiszielgruppe sind Hochenergie- und Hochintensitäts-Physiker, es hat aber auch dem an der Physik interessierten Laien unterhaltsame und lehrreiche Tools zu bieten.
Scientific Linux basiert auf Red Hat Enterprise Linux und ist zu ihm binärkompatibel. Das hat den Vorteil, dass alle für RHEL verfügbaren Programme ohne Anpassung auch unter Scientific Linux funktionieren. Wer sich mit anderen RPM-basierten Distributionen auskennt, sollte sich hier schnell zurechtfinden.
Das Wissenschafts-Linux verbraucht zudem recht wenig Platz auf der Festplatte – für die Installation sind 8,5 GByte ausreichend. Dabei ist der Desktop – wahlweise ist das KDE 4.14 oder Gnome – schon mit eingerechnet (Abbildung 1).
Installation
Die Live-CD für 64-Bit-Systeme bietet auch eine Installation über das Netz an, in diesem Fall reicht es, den gewünschten Desktop auszuwählen, alle benötigten Pakete spielt der Installer danach automatisch auf. Anschließend sind allerdings noch ein paar Pakete händisch nachzuinstallieren – so sind der C++-Compiler sowie die XDG-Library erforderlich, um einige der Physik-Tools zum Laufen zu bringen (Listing 1).
Listing 1
Nachzuinstallierende Pakete
01 # rpm -Uvh https://download.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 02 # yum install *xdg* gcc root josm
Zudem ist die Datei, die die Pfade des Benutzers enthält, nach der Installation von XDG anzupassen, damit das Physik-Tool Tracker startet (Listing 2).
Listing 2
~/.config/user-dirs.dir
01 XDG_DESKTOP_DIR="$HOME/Desktop" 02 XDG_DOWNLOAD_DIR="$HOME/Downloads" 03 XDG_TEMPLATES_DIR="$HOME/Templates" 04 XDG_PUBLICSHARE_DIR="$HOME/Public" 05 XDG_DOCUMENTS_DIR="$HOME/Documents" 06 XDG_MUSIC_DIR="$HOME/Music" 07 XDG_PICTURES_DIR="$HOME/Pictures" 08 XDG_VIDEOS_DIR="$HOME/Videos"
Simulatoren
Die Universität von Colorado hat interaktive Simulationen [2] für Physik-Studenten im Angebot, die sogar ausgezeichnet wurden. Sie laufen auch unter Scientific Linux. Ein Klassiker ist das Doppelspalt- Experiment, mit dem der englische Physiker Thomas Young 1802 erstmals die Wellennatur des Lichts bewies. Bei dem Experiment fällt Licht durch zwei schmale parallele Spalten. Auf einer zweiten Fläche, die sich in gehöriger Distanz zur Blende befinden muss, zeigt sich dann ein Interferenzmuster. Das Muster entsteht durch Beugung der Wellenausbreitung am Doppelspalt (Abbildung 2).

Abbildung 2: Ein Simulator für das berühmte Doppelspalt-Experiment, das belegt, dass Licht auch Welleneigenschaften hat.
Astronomisches
Auch Astronomen kommen bei Scientific Linux auf ihre Kosten, denn es lassen sich sowohl KStars [3] als auch das Tool Stellarium über das Repository installieren. KStars stellt den Nachthimmel dar, wie er sich einem Beobachter präsentiert. Dessen Standort und der Betrachtungswinkel sind frei wählbar. Neben den Gestirnen und Planeten können Anwender beispielsweise auch Tierkreiszeichen einblenden (Abbildung 3).
KStars kann aber noch mehr: Drückt man den Play-Button, simuliert es die Bewegung der Planeten. Es ist außerdem möglich, dafür auch ein Datum aus der Vergangenheit oder Zukunft vorzugeben. Simulieren lassen sich auch so genannte retrograde Bewegungen, bei denen es – von der Erde betrachtet – so aussieht, als würde ein Planet die Sonne zeitweise rückwärts umkreisen. Über den Ekos Profile Wizard sind zudem Teleskope via USB in KStars einbindbar.
Geografie
Aber auch für ganz irdische Phänomene bietet Scientific Linux Werkzeuge. Qgis [4] zum Beispiel ist ein geografisches Informationssystem (GIS), das auch das Importieren und Weiterverarbeitung von Open-Streetmap-Karten erlaubt.
OSM-Karten lassen sich entweder komplett herunterladen [5] oder mit dem ebenfalls installierbaren Karteneditor Josm [6] in kleine Ausschnitte zerlegt sichern. Durch Klicken auf das Download-Symbol in Josm öffnet sich eine Weltkarte, in der der Anwender mit der Maus einen kleinen Ausschnitt auswählen kann (Abbildung 4).
In den importierten Karten lassen sich unter anderem Linien, Flächen oder Winkel messen. Dazu klickt man auf das Linealsymbol, markiert auf der Karte mehrere Punkte und bestätigt die Auswahl mit der rechten Maustaste. Anschließend blendet Qgis das Ergebnis ein. Zudem lässt sich der kürzeste Pfad zwischen zwei Punkten ermitteln (Abbildung 5). Zusätzlich kann der Anwender auch Karten mit Mustern oder Farben verschönern.
Noch mehr Physik
Bewegungsabläufe zu analysieren ist eine häufige Aufgabenstellung in der Physik. Dabei hilft das Tool Tracker, das zwar nicht im Repository zu finden ist, für das es aber einen Installer zum Download gibt [7]. Üblicherweise wird Tracker nach der Installation im Verzeichnis »/opt/tracker« abgelegt. In dessen Unterverzeichnis »share/videos« befinden sich bereits Videos, die sich für eine Analyse durch Tracker eignen.
Als Beispiel soll hier das Video »Pendulum.mov« dienen, das die Bewegung eines Pendels zeigt. Die Gleichung zur Berechnung der Periode des Pendels lautet:
<BI>images/Formel2.png<BI>
L steht dabei für die Länge des Pendels, g für die Fallbeschleunigung. Das Ergebnis ist eine Zeitspanne in Sekunden.
Über »Datei | Import | Videos« lässt sich das Video importieren. Danach ist eine Kalibrierung nötig, bei der der Anwender eine bekannte Länge im Video markiert. Dazu klickt er den Menüpunkt »Track | Neu | Kalibrierungswerkzeuge | Kalibrierungsmaßstab« an.
Da bei diesem Video die Länge des Pendels direkt ablesbar ist, gerät die Kalibrierung einfach. Mit [Shift]+[linke Maustaste] setzt man den Anfangspunkt an einem Ende des Pendels, zieht das Maßband bis zum anderen Ende und setzt den zweiten Punkt. Als Länge gibt der Experimentator 1 Meter an.
Als Nächstes steht die Justage des Ursprungs des eingeblendeten Koordinatensystems an. Um die Position des Pendels zu einer bestimmten Zeit zu bestimmen, muss es getrackt werden. Mit einem Klick auf »Track |Neu | Punktmasse« lässt sich nach jedem Frame eine Markierung setzen. Dazu drückt man [Shift] und klickt gleichzeitig mit der linken Maustaste auf das Pendel. Dann springt das Video zum nächsten Frame und man wiederholt den Vorgang so lange, bis das Video beendet ist (Abbildung 6).
Sobald der Play-Button gedrückt wird, stellt Tracker den Verlauf des Pendels als Funktion dar. Zusätzlich erscheinen die x- und y-Werte des Pendels, wobei der Anwender weitere Variablen – etwa die Winkelgeschwindigkeit w – durch Drücken auf den Daten-Button einblenden kann. Ruft er das Kontextmenü der gezeichneten Funktion mit der rechten Maustaste auf, startet ein Klick auf »Analysiere« die Datenanalyse. In diesem Fenster kann man die Kurven diverser Funktionen mit dem tatsächlichen Funktionsverlauf vergleichen. So kommt die Sinusfunktion der tatsächlichen Bewegung des Pendels am nächsten. Sobald das Häkchen Autofit aktiviert ist, passt Tracker den Verlauf der Kurve an die ausgewählte Funktion an (Abbildung 7).
Mathematik
Root [8] ist eines von wenigen wissenschaftlichen Tools, die sich unter Scientific Linux mit Yum installieren lassen. Im Großen und Ganzen ähnelt es Gnuplot oder Pyxplot, wobei es in C++ geschrieben ist. Daher lassen sich Befehle sowie Makros in C++-Syntax eingeben.
Mit dem gleichnamigen Kommandozeilentool kann Root Makros in der Shell ausführen. In einer solchen interaktiven Sitzung lassen sich einfache Berechnungen ähnlich einem Taschenrechner durchführen. Weitere Optionen, die für die interaktive Sitzung relevant sind, listet die Tabelle 1 auf.
|
Option |
Funktion |
|---|---|
|
.L Datei.c |
lädt eine Datei |
|
.x Datei.c |
führt die Funktion einer Datei aus |
|
funktion() |
führt eine Funktion aus |
|
.U Datei.c |
entlädt die Datei |
|
.? |
gibt die Hilfe aus |
|
.q |
beendet Root |
Darüber hinaus steht die Mathematik-Klasse »TMath« zur Verfügung, die diverse mathematische Funktionen mitbringt. Listing 3 berechnet eine geometrische Reihe (Abbildung 8), indem Zeile 1 die x-Variable deklariert. Anschließend wird festgelegt, wie oft in der Reihe (siehe For-Schleife) Werte zu berechnen sind. In Zeile 7 gibt Root das Ergebnis als Absolut-Wert aus.
Listing 3
Interaktive Sitzung in Root
01 double x=.5 02 int N=30 03 double geom_series=0 04 for (int i=0;i<N;++i) geom_series+=TMath::Power(x,i) 05 TMath::Abs(geom_series - (1-TMath::Power(x,N-1))/(1-x)) 06 07 (double) 1.8626451e-09

Abbildung 8: Die geometrische Reihe kann anhand einer For-Schleife berechnet werden. Das Ergebnis ist aufgrund der Absolut-Funktion immer positiv.
Allerdings empfiehlt es sich, die Befehle in einer Datei mit der Endung ».c« zu speichern, weil dadurch das Debuggen und Bearbeiten leichter fällt. Das oben gezeigte Doppelspalt-Experiment zur Welleninterferenz lässt sich auch mit Root berechnen und plotten. Im Plot (Abbildung 9) entspricht der größte Wellenberg dem zentralen Lichtbalken, rechts und links davon befinden sich die Entsprechungen der dunkleren Stellen mit helleren Streifen.
In Listing 4 ist der Code zu sehen, der die Intensität der Wellen beim Doppelspalt-Experiment plottet. Wichtig ist, dass das Makro in einer Funktion vom Typ Void erscheint. Zudem sollte diese Funktion genauso wie der Dateiname heißen.
Listing 4
slits.C
01 //deklariert die Pi-Variable
02 auto pi = TMath::Pi();
03
04 //deklariert die Single-Funktion
05 double single(double *x, double *par) {
06 return pow(sin(pi*par[0]*x[0])/(pi*par[0]*x[0]),2);
07 }
08
09 //deklariert die nslit0-Funktion
10 double nslit0(double *x,double *par){
11 return pow(sin(pi*par[1]*x[0])/sin(pi*x[0]),2);
12 }
13
14 //deklariert die nslit-Funktion
15 double nslit(double *x, double *par){
16 return single(x,par) * nslit0(x,par);
17 }
18
19 // Makro
20 void slits() {
21 // Leinwand festlegen
22 auto Canvas_2 = new TCanvas();
23 // ns = n-Spalten
24 // r = Spaltenbreite / Entfernung zwischen den Spalten
25 float r,ns;
26 r = 1;
27 ns=0.45;
28 // legt das Koordinatensystem der Funktion fest
29 TF1 *Fnslit = new TF1("Fnslit",nslit,-5.001,5.,2);
30 Fnslit->SetNpx(500);
31 // setzt die Parameter der Funktion
32 Fnslit->SetParameter(0,r);
33 Fnslit->SetParameter(1,ns);
34 // zeichnet die Funktion
35 Fnslit->Draw();
36 // zeichnet die Leinwand
37 Canvas_2->Draw();
38 }
Fazit
Mit seinen Tools, die verschiedene Bereiche der Physik abdecken, erweist sich Scientific Linux als fit für das physikalische Labor. Etliche der vorgestellten Programme sprechen außerdem nicht nur Profi-Wissenschaftler, sondern auch Laien an oder eignen sich für den Physikunterricht. Aber leider kann der Anwender nicht alle Physik-Tools direkt aus dem Repository installieren.
Die im Ressourcenverbrauch genügsame Distribution läuft sicher und stabil. Zudem wird sie regelmäßig gepflegt und kontinuierlich weiterentwickelt.
Infos
-
Scientific Linux: https://www.scientificlinux.org
-
KStars: https://edu.kde.org/kstars
-
Qgis: https://qgis.org/de/site
-
Open-Streetmap-Karten: https://planet.openstreetmap.org
-
Tracker: http://www.compadre.org/osp/images/tracker/Tracker-5.0.7-linux-64bit-installer.run
-
Root: https://root.cern












