2 Einführung in ParaView
Es soll in diesem Abschnitt zunächst auf das in den Rechnerübungen verwendete Programm-
system eingegangen werden.
Die für uns interessanten Schaltflächen in der Menu Bar sind Sources und Filter. Sources sind
vordefinierte anpassbare Datensätze. Oft werden für die Visualisierung Output-Daten von an-
deren Programmen als source verwendet. Filter werden auf vorhandene Daten angewendet,
um diese Daten für die Visualisierung zu manipulieren. So kann man aus einem Datensatz
beispielsweise nur Daten anzeigen lassen, die in einer gewünschten Bandbreite liegen. Dafür
würde man einen Threshold-Filter einsetzen. Im Pipeline Browser wird die aufgebaute Pipe-
line aus Quellen und Filtern dargestellt. Der Object Inspector gibt im Reiter Properties die
Eigenschaften der selektierten Quellen oder Filter wieder. Diese Eigenschaften können nach
Wunsch verändert werden. Unter dem Reiter Display lassen sich die Einstellungen des Map-
pers - also der Oberflächengestaltung - des selektierten Objekts festlegen. Letztlich enthält
der Reiter Information einen Überblick über den Objekttyp und die dazugehörigen Werte.
b.) Generierung eines Gitters: Wählen Sie aus Menu Bar → Sources die Plane aus. Im Object
Inspector muss Apply geklickt werden, um die Quelle zu erzeugen. Die Visualisierung des
Gitters erfolgt automatisch im 3D View. Die Ansicht kann frei rotiert und gezoomt werden.
c.) Ändern der Elementanzahl: In der Toolbar findet sich ein Drop-Down-Menü welches Sur-
face ausgewählt hat. Wählen Sie hier Surface with Edges aus. Unter Properties könne Sie
jetzt die X- und Y-Resolution auf 10 stellen. Sie sehen, dass sich zwar nicht die Abmes-
sungen der Plane ändern, diese jedoch jetzt anstatt aus einer aus 100 Zellen besteht. Das
Visualisierungfenster updatet automatisch die Darstellung.
d.) Einfügen eines Glyph-Filters: Wählen Sie aus Menu Bar → Filters → Common den Fil-
ter Glyph aus. Klicken Sie auf Apply. Der Filter erstellt an jedem Gitterpunkt einen Pfeil
in Normalenrichtung. Das Visualisierungfenster updatet automatisch die Darstellung. Unter
Properties kann der Glyph Type angepasst werden. Wählen Sie Sphere. Passen Sie zusätzlich
den Radius auf einen Wert von 0.1 an. Klicken Sie auf Apply.
1. Datentypen:
• Allgemeines:
In Python ist es nicht notwendig Variablen mit bestimmten Datentypen zu deklarie-
ren, stattdessen wird der Datentyp implizit festgelegt. Kommentare werden durch #
eingeleitet.
• Integer: i=2 #ganze Zahl
• Float: f=0.5 #Gleitpunktzahl
• Bool: b=True #Wahrheitswert
• String: s=’Guten Tag’ oder s="Guten Tag" #Zeichenkette
• Liste: l=[2, 3.3, "d", "fem2"] #veränderbar
• Tupel: t=(1.2, "ifl", 5) #unveränderbar
• Dictionary: d={1:"wert", "a":6, 1.2:122 } #Zuordnung Schlüssel:Wert
• Listen, Tupels, Dictionaries können beliebig geschachtelt werden, z.B.:
beisp = {1:[1.1,3,3]; "z":{4.3:5}, 3:7}
• Zugriff auf einzelne Elemente eines Strings, einer Liste, eines Tupel erfolgt über den
Klammeroperator:
s[0]; l[2]; t[1]
Mit der Funktion range(n) kann eine Liste [0,...,n] erzeugt werden:
for x in range(6):
print x
4. Funktionen:
Funktionen werden durch das Schlüsselwort def gefolgt vom Funktionsnamen und der Para-
meterliste definiert:
def plus(a,b):
return a+b
5. Klassen:
• Klassen sind Baupläne für Datenstrukturen, die aus Methoden und Attributen bestehen.
• Objekte sind Instanzen von Klassen.
• Methoden sind Funktionen eines Objekts.
• Eigene Klasse werden durch das Schlüsselwort class gefolgt vom Klassennamen defi-
niert.
6. Numerik-Paket
• Im Rahmen der Übung wird das Numerik-Paket fem2 benutzt, welches auf dem Standard-
Numeric-Paket aufbaut.
• Um die Funktionen, Klassen und Methoden zu benutzen, wird das Paket mittels import fem2
eingebunden.
• Mit dem Paket können so Matrizen und Vektoren als Objekte instanziiert und einfache
Berechnungen durchgeführt werden:
#import fem2
m1 = fem2.Identity(3) #erzeugt eine 3x3 Einheitsmatrix
m2 = fem2.Zeros((3,3)) #erzeugt eine 3x3 Null-Matrix
m3 = fem2.FMatrix( [[1,2],[3,4]] ) #erzeugt eine 2x2 Matrix von Listen
v1 = fem3.FVector([1,2,3]) #erzeugt einen Vektor aus einer Liste
print m3**-1 #berechnet die Inverse von m3
print m3.I #berechnet die Inverse von m3
print m3.det() #berechnet die Determinante von m3
print m3.T #erzeugt die Transponierte zu m3
print m3.I * m3 #fuehrt die Matrix-Matrix-Multiplikation durch
print m1*v1 #fuehrt die Matrix-Vector-Multiplikation durch