Aus Linux-Magazin 05/2019

Fünf Physik-Tools, die unter Scientific Linux laufen

© server, 123RF

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).

Abbildung 1: Scientific Linux 7.6 präsentiert sich ohne Schnörkel.

Abbildung 1: Scientific Linux 7.6 präsentiert sich ohne Schnörkel.

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.

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).

Abbildung 3: Eine Darstellung des Nachthimmels in KStars.

Abbildung 3: Eine Darstellung des Nachthimmels in KStars.

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).

Abbildung 4: Josm lädt lediglich einen kleinen Ausschnitt der markierten Karte herunter.

Abbildung 4: Josm lädt lediglich einen kleinen Ausschnitt der markierten Karte herunter.

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.

Abbildung 5: Qgis ermittelt den kürzesten Weg und berechnet den Flächeninhalt in einer Karte.

Abbildung 5: Qgis ermittelt den kürzesten Weg und berechnet den Flächeninhalt in einer Karte.

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).

Abbildung 6: Tracker analysiert hier den Bewegungsablauf eines Pendels.

Abbildung 6: Tracker analysiert hier den Bewegungsablauf eines Pendels.

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).

Abbildung 7: Mit der Autofit-Option l&auml;sst sich der Bewegungsablauf an eine Sinusfunktion anpassen.

Abbildung 7: Mit der Autofit-Option lässt sich der Bewegungsablauf an eine Sinusfunktion anpassen.

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.

Tabelle 1

Root-Optionen

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.

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.

Abbildung 9: Die gezeichnete Funktion kann das Programm Root unter anderem als Bild abspeichern.

Abbildung 9: Die gezeichnete Funktion kann das Programm Root unter anderem als Bild abspeichern.

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.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben