Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Post on 05-Apr-2015

106 views 0 download

Transcript of Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Projektarbeit zur VeranstaltungProjektarbeit zur Veranstaltung

„Programmieren in Fortran 90/95“„Programmieren in Fortran 90/95“

MatrizenmethodeMatrizenmethode

AufgabenstellungAufgabenstellung

Ziel ist es, die Ziel ist es, die Verformung Verformung beliebiger, räumlicher beliebiger, räumlicher StabStabfachwerke zu fachwerke zu berechnenberechnenGegeben sind Gegeben sind Randbedingungen Randbedingungen und Belastungenund BelastungenStatisch bestimmte Statisch bestimmte oder überbestimmte oder überbestimmte Strukturen Strukturen

EinschränkungenEinschränkungen

Alle Stäbe des Fachwerkes besitzen die gleiche Alle Stäbe des Fachwerkes besitzen die gleiche Querschnittsfläche A und den gleichen E-ModulQuerschnittsfläche A und den gleichen E-Modul

Verschiebungsrandbedingungen sind vom Typ Verschiebungsrandbedingungen sind vom Typ „Verschiebung = 0“„Verschiebung = 0“

Berechnet werden die Verschiebungen der einzelnen KnotenBerechnet werden die Verschiebungen der einzelnen Knoten

d

A

Das Hauptprogramm IDas Hauptprogramm I

Das Hauptprogramm IIDas Hauptprogramm II

Das Hauptprogramm IIIDas Hauptprogramm III

Das Hauptprogramm IVDas Hauptprogramm IV

Das Hauptprogramm VDas Hauptprogramm V

Das ModulDas Modul

Enthält alle Arrays Enthält alle Arrays variabler Längevariabler LängeDynamische Dynamische SpeicherverwaltungSpeicherverwaltungVerwendung von Verwendung von Haupt- und Haupt- und Unterprogrammen Unterprogrammen Allokierung in einer Allokierung in einer Subroutine möglichSubroutine möglichDeallokierung in Deallokierung in einer Subroutine einer Subroutine möglichmöglich

Format der EingabedateiFormat der Eingabedatei

Datei Datei eingabe.txteingabe.txt im im gleichen Verz.!gleichen Verz.!

3 2 81 0 70.71067812 02 35.35533906 35.35533906 03 0 0 01 1 22 2 31 1 01 2 01 3 02 3 02 5 -3003 1 03 2 03 3 0

Leseroutinen ILeseroutinen I

lesen1lesen1 holt die zur holt die zur Speicherallokierung Speicherallokierung benötigten Datenbenötigten Daten

speicherspeicher nimmt die nimmt die Allokierung vorAllokierung vor

lesen2lesen2 liest die liest die eigentlich eigentlich benötigten Daten benötigten Daten ein ein

Leseroutinen IILeseroutinen II

Leseroutinen IIILeseroutinen III

Leseroutinen IVLeseroutinen IV

Elementsteifigkeitsmatrix IElementsteifigkeitsmatrix IElementsteifigkeitsmatrix beschreibt Zusammenhang zwischen Kräften und Verschiebungen eines Elementsteifigkeitsmatrix beschreibt Zusammenhang zwischen Kräften und Verschiebungen eines StabelementesStabelementes

Hookesches Gesetz für den Stab:Hookesches Gesetz für den Stab:

Führt man eine Koordinate s im 1-dim. Raum ein, so ist dies für beide Knoten ausgeschrieben:Führt man eine Koordinate s im 1-dim. Raum ein, so ist dies für beide Knoten ausgeschrieben:

Fll

AE

l

lEE

A

F

2

1

2

1~~

~~

:~

S

S

S

S

F

F

u

u

KK

KK

l

AEK

1SF 2SF

1Su 1Su

(1)

(2)

(3)

[Rieg, Hackenschmidt: „Finite Elemente Analyse für Ingenieure“]

Elementsteifigkeitsmatrix IIElementsteifigkeitsmatrix II

Im 3-dim. Raum sind die Projektionen der Im 3-dim. Raum sind die Projektionen der Verschiebungen auf die Stabachse relevant:Verschiebungen auf die Stabachse relevant:

1Xu

1Yu1Zu

1Su1u

s

eueu

eueueuu

SS

ZZYYXX

11

!

1111

111111

1111

SZZSYY

SXXS

eeueeu

eeuu

l

zzu

l

yyu

l

xxuu

ZY

XS

121

121

1211

(4)

(5)

(6)

[Dankert, Dankert: „Technische Mechanik computerunterstützt“]

Elementsteifigkeitsmatrix IIIElementsteifigkeitsmatrix III

ZZYYXXSS eFeFeFeF 1111

112

1

112

1

112

1

ZS

YS

XS

Fzz

lF

Fyy

lF

Fxx

lF

(7)

(8)

(9)

Elementsteifigkeitsmatrix IVElementsteifigkeitsmatrix IV

Damit ist der Zusammenhang zwischen Verschiebungen Damit ist der Zusammenhang zwischen Verschiebungen und Kräften:und Kräften:

21212121212

21212121212

12122

12121212122

121212

121212122

12121212122

12

21212121212

21212121212

12122

12121212122

121212

121212121212121212122

12

)()()()()()()()()()(

)()()()()()()()()()(

)()()()()()()()()()(

)()()()()()()()()()(

)()()()()()()()()()(

)()()()()()()()()()()(

zzzzyyzzxxzzzzyyzzxx

zzyyyyyyxxzzyyyyyyxx

zzxxyyxxxxzzxxyyxxxx

zzzzyyzzxxzzzzyyzzxx

zzyyyyyyxxzzyyyyyyxx

zzxxyyxxxxxxzzxxyyxxxx

KKe

32

~:

l

AE

l

KK

mit (11)

FuKe (12) mit: TZYXZYX uuuuuuu 222111

TZYXZYX FFFFFFF 222111

Elementsteifigkeitsmatrix IVElementsteifigkeitsmatrix IV

Gesamtsteifigkeitsmatrix IGesamtsteifigkeitsmatrix I

Zusammenbauen der einzelnen Zusammenbauen der einzelnen Elementst.matrizen entspricht dem Elementst.matrizen entspricht dem Addieren von GleichungenAddieren von Gleichungen

Die Position der Summanden ergibt sich Die Position der Summanden ergibt sich aus den Knoten des jew. Stabesaus den Knoten des jew. Stabes

Die Summe der inneren Kräfte ergibt null, Die Summe der inneren Kräfte ergibt null, d.h. der Lastvektor d.h. der Lastvektor F F ist zunächst ein ist zunächst ein NullvektorNullvektor

Gesamtsteifigkeitsmatrix IIGesamtsteifigkeitsmatrix II

Gesamtsteifigkeitsmatrix IIIGesamtsteifigkeitsmatrix III

RandbedingungenRandbedingungen

Äußere Kräfte werden an der jew. Stelle in den Äußere Kräfte werden an der jew. Stelle in den Lastvektor Lastvektor F F eingetrageneingetragen

Verschiebungsrandbedingungen werden gemäß Verschiebungsrandbedingungen werden gemäß [Rieg, Hackenschmidt: „Finite Elemente Analyse [Rieg, Hackenschmidt: „Finite Elemente Analyse für Ingenieure“] in die Ges.st.matrix eingebaut:für Ingenieure“] in die Ges.st.matrix eingebaut:

[Rieg, Hackenschmidt: „Finite Elemente Analyse für Ingenieure“]

Lösen des LGSLösen des LGS

Das LGS ist regulär, wenn die Das LGS ist regulär, wenn die Struktur statisch bestimmt oder überbestimmt istStruktur statisch bestimmt oder überbestimmt ist

Die Lösung wird hier mit einer Cholesky-Die Lösung wird hier mit einer Cholesky-Zerlegung berechnetZerlegung berechnet

FuK ges

Ausschreiben der ErgebnisseAusschreiben der ErgebnisseIn die Ausgabedatei In die Ausgabedatei aus.txt aus.txt werden die Verschiebungen werden die Verschiebungen der einzelnen Knoten geschriebender einzelnen Knoten geschrieben

Eine Zeile pro KnotenEine Zeile pro Knoten

Anschließend übernimmt die Subroutine Anschließend übernimmt die Subroutine speicher_freigeben speicher_freigeben die Deallokationdie Deallokation

Ein kleines Beispiel IEin kleines Beispiel I

Ein kleines Beispiel IIEin kleines Beispiel II