2D - Finite Elemente Methode
Struktur der Eingabefiles
Zur Definition des Netzes, der Daten und der Lastfunktionen dienen ASCII-Eingabefiles.
In diesen Eingabefiles sind Kommentarzeilen durch ein # in Spalte 1 gekennzeichnet,
Leerzeilen sind nicht erlaubt.
Die Kommandozeilenversion arbeitet mit 3 Arten von Files, einem Netz-
einem Daten und einem Function-File,
bei den Windows-Versionen ist der Anteil aus dem Function-File mit
an das Datenfile angehängt.
Im weiteren ein Beispiel, aus den Kommentaren geht auch die Bedeutung
der Werte hervor :
Das Netzfile:
#
# FEM2D - Netzfile
# ================
#
# Anzahl Knoten(=Dimension der Matrix) und Anzahl der Elemente
36 48
# Knotenkoordinaten (der erste Wert ist Laufindex des Knotens und dient
nur der Orientierung)
1 0.0000000000E+00 1.0000000000E+01
2 0.0000000000E+00 1.4000000000E+01
3 4.0000000000E+00 1.0000000000E+01
...
35 1.4000000000E+01 2.4000000000E+01
36 8.0000000000E+00 1.6000000000E+01
# Knotentabelle
# globale Nummer von lok. Knoten 1, 2, 3 und Materialbereichsnummer
# der erste Wert ist wieder Laufindex des Elementes zu Orientierung
1 1 4 2 1
2 1 3 4 1
3 3 6 4 1
...
46 7 29 36 1
47 6 7 36 1
48 8 7 6 1
# Anzahl der Randkanten
23
# Globale Nummer der Randkante und zugehoerige Anfangs- und Endknoten
1 1 3
2 3 5
3 5 9
...
21 20 27
22 27 29
23 29 7
#
# Ende
#
Das Datenfile:
#
# FEM2D-Datenfile
# ==================
#
# Anzahl der Materialbereiche
1
# Kxx und Kyy in Bereich 1
2.000E+02 2.000E+02
# dito in Bereich 2 (falls vorhanden)
# 4.0000000000E+01 5.0000000000E+01
#
# Haetten wir noch weitere Materialbereiche,
# dann kaemen noch weitere Daten
#
# Nun die Definition der Randbereiche
#
# Anzahl verschiedener Randbereiche
2
# Nun kommen die Anzahlen der Kanten und die Art der Randbedingung
# in den einzelnen Randbereichen
# 1 ... Dirichlet a
( u(x)=a )
# 2 ... Neumann a
( du(x)/dn=a )
# 3 ... Robin
a b ( du(x)/dn=a*( b-u(x) )
#
# Anzahl der Kanten und Art der Randbedingung in Randbereich 1
18 3
# Anzahl der Kanten und Art der Randbedingung in Randbereich 2
5 2
#
# Jetzt die globalen Nummer der Kanten im Randbereich 1 und die zugehoerigen
# Randdaten ( dort war Robin, also 2 Werte )
#
1 5.00E+01 3.00E+02
2 5.00E+01 3.00E+02
3 5.00E+01 3.00E+02
...
17 5.00E+01 3.00E+02
18 5.00E+01 3.00E+02
#
# nun Randbereich 2, dort haben wir Neumann, also nur ein Wert
#
19 2.00E+02
20 2.00E+02
21 2.00E+02
22 2.00E+02
23 2.00E+02
# Ende des Files
Das Functionfile
#
# FEM2D-Functionfile
# ==============
#
# Approximation der Funktion F(x,y)
#
# Anzugeben sind die Koeffizienten der Approximation von F(x,y)
# Es gibt zwei Moeglichkeiten F zu definieren, entweder eine
globale Funktion,
# dann 0 als Kennung und nur einen Koeffizientensatz angeben
oder Kennung 1 und so
# viele Koeffizientensaetze angeben wie Materialbereiche vorhanden
sind
#
# Anzahl der Koeffizienten ist zur Zeit 6
#
# Wir approximieren:
# F(x,y)=k1+k2*x+k3*y+k4*x^2+k5*y^2+k6*x*y
#
# Anzahl der Materialbereiche:
2
#
# Kennung (0=global / 1= lokal):
0
#
# und nun die Koeffizienten fuer Materialbereich 1 (oder global)
0.0
0.0
0.0
0.0
0.0
0.0
# Ende des Datenfiles