Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

27
Projektarbeit zur Veranstaltung Projektarbeit zur Veranstaltung „Programmieren in Fortran „Programmieren in Fortran 90/95“ 90/95“ Matrizenmethode Matrizenmethode

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

Page 1: 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

Page 2: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 3: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 4: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Das Hauptprogramm IDas Hauptprogramm I

Page 5: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Das Hauptprogramm IIDas Hauptprogramm II

Page 6: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Das Hauptprogramm IIIDas Hauptprogramm III

Page 7: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Das Hauptprogramm IVDas Hauptprogramm IV

Page 8: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Das Hauptprogramm VDas Hauptprogramm V

Page 9: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 10: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 11: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 12: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Leseroutinen IILeseroutinen II

Page 13: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Leseroutinen IIILeseroutinen III

Page 14: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Leseroutinen IVLeseroutinen IV

Page 15: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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“]

Page 16: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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“]

Page 17: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Elementsteifigkeitsmatrix IIIElementsteifigkeitsmatrix III

ZZYYXXSS eFeFeFeF 1111

112

1

112

1

112

1

ZS

YS

XS

Fzz

lF

Fyy

lF

Fxx

lF

(7)

(8)

(9)

Page 18: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 19: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Elementsteifigkeitsmatrix IVElementsteifigkeitsmatrix IV

Page 20: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 21: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Gesamtsteifigkeitsmatrix IIGesamtsteifigkeitsmatrix II

Page 22: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Gesamtsteifigkeitsmatrix IIIGesamtsteifigkeitsmatrix III

Page 23: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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“]

Page 24: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 25: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

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

Page 26: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Ein kleines Beispiel IEin kleines Beispiel I

Page 27: Projektarbeit zur Veranstaltung Programmieren in Fortran 90/95 Matrizenmethode.

Ein kleines Beispiel IIEin kleines Beispiel II