Startseite

2D - Finite Elemente Methode



Zur zweidimensionalen FEM gibt es folgende Demonstrationsprogramme.


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


Startseite


  http://www.tu-chemnitz.de/~uro      Roman Unger 2002-03-17