Simulation und Wissenschaftliches Rechnen 2 - Cheatsheet.pdf

Simulation und Wissenschaftliches Rechnen 2 - Cheatsheet
Simulation und Wissenschaftliches Rechnen 2 - Cheatsheet Lösungsstrategien für lineare und nichtlineare Gleichungssysteme Definition: Strategien zur Lösung von linearen und nichtlinearen Gleichungssystemen, wichtig für die Simulation und das wissenschaftliche Rechnen. Details: Lineare Gleichungssysteme: Direkte Methoden: z.B. Gauss-Elimination, LU-Dekomposition Iterative Methoden: z.B. Jacobi-Verf...

© StudySmarter 2024, all rights reserved.

Simulation und Wissenschaftliches Rechnen 2 - Cheatsheet

Lösungsstrategien für lineare und nichtlineare Gleichungssysteme

Definition:

Strategien zur Lösung von linearen und nichtlinearen Gleichungssystemen, wichtig für die Simulation und das wissenschaftliche Rechnen.

Details:

  • Lineare Gleichungssysteme:
    • Direkte Methoden: z.B. Gauss-Elimination, LU-Dekomposition
    • Iterative Methoden: z.B. Jacobi-Verfahren, Gauss-Seidel-Verfahren, Krylov-Unterraum-Verfahren (CG, GMRES)
  • Nichtlineare Gleichungssysteme:
    • Newton-Verfahren: Benötigt Jacobian-Matrix
    • Sekanten-Verfahren: Approximation der Jacobian-Matrix
    • Fixpunkt-Iteration: Einfach aber oft langsam konvergent
  • Konvergenz und Stabilität: Wichtige Kriterien für die Wahl der Lösungsmethode
  • Fehleranalyse: Umfasst absolute und relative Fehler, Residuum

Finite-Elemente-Methode: Diskretisierung von Differentialgleichungen

Definition:

Numerische Methode zur Lösung partieller Differentialgleichungen (PDEs) durch Diskretisierung.

Details:

  • Diskretisierung des Lösungsbereichs durch finitere Elemente.
  • Verwendung von Ansatzfunktionen wie linearen oder quadratischen Basisfunktionen.
  • Umwandlung der PDEs in ein algebraisches Gleichungssystem:
  • Formulierung eines schwachen (variationsmäßigen) Problems:
  • Versteifungsmatrix und Lastvektor berechnen.
  • Lösen des algebraischen Systems mithilfe numerischer Methoden wie dem Gauss-Verfahren oder iterativen Verfahren.

Interpolation und Approximation: Splines und Polynomialfunktionen

Definition:

Interpolation und Approximation mit Splines und Polynomfunktionen.

Details:

  • Spline-Interpolation: Mehrteilige Stückweise-Polynome, kontinuierliche Übergänge an Stützstellen
  • Polynominterpolation: Ein durch alle Stützstellen gehendes Polynom
  • Lagrange-Polynome: Nutzt Lagrange-Basisfunktionen
  • Newton-Polynome: Nutzt dividierte Differenzen
  • Cubic Splines: Dritte Ordnung, C^2-Kontinuität
  • Approximationsverfahren: Minimierung des Fehlerausdrucks z.B. Least-Squares
  • Fehlerabschätzung und Stabilität wichtig

Optimierung numerischer Algorithmen für Hochleistungsrechnen

Definition:

Optimierung numerischer Algorithmen für Hochleistungsrechnen (HPC) bezieht sich auf die Anpassung und Verbesserung von Algorithmen, um die Leistung auf Hochleistungsrechnern zu maximieren.

Details:

  • Ziel: Minimaler Rechenaufwand und geringere Laufzeit
  • Skalierbarkeit: Algorithmus muss effizient auf großen Rechnerclustern funktionieren
  • Datenlokalität: Optimierung des Speicherzugriffs, um Latenzen zu reduzieren
  • Parallelisierung: Nutzung von Thread- und Prozessparallelität
  • Lastverteilung: Gleichmäßige Verteilung der Arbeitslast auf alle Recheneinheiten
  • Verwendung spezialisierter Bibliotheken: z.B. BLAS, LAPACK, PETSc
  • Wichtige Metriken: Flops (Floating-point operations per second), Speicherdurchsatz

Synchronisation und Kommunikation in parallelen Systemen

Definition:

Mechanismen zur Steuerung und Abstimmung von parallel ablaufenden Prozessen, um Konflikte zu vermeiden und die Kommunikation effektiver zu gestalten.

Details:

  • Synchronisation: Vermeidung von Race Conditions und Deadlocks.
  • Locks: Mutexe, Spinlocks, Semaphoren.
  • Kommunikation: Nachrichtenaustausch über Shared Memory, Message Passing.
  • Wichtige Protokolle: MPI (Message Passing Interface), OpenMP.
  • Wartezeiten minimieren, Load Balancing optimieren.

Dynamische Systeme und ihre Simulation: Differentialgleichungen

Definition:

Dynamische Systeme: Modellierung zeitabhängiger Prozesse. Differentialgleichungen beschreiben Änderungen eines Systems in kontinuierlichen Zeitintervallen.

Details:

  • Dynamische Systeme: Zustandsänderungen über die Zeit
  • Wichtige Werkzeuge: Differentialgleichungen
  • Modellierung: Zustandsvektor \(\boldsymbol{x}(t)\) und dessen Änderung \(\frac{d\boldsymbol{x}(t)}{dt}\)
  • Lösungsmethoden: analytisch (genaue Lösungen), numerisch (approximative Lösungen)
  • Beispiele: Populationwachstum, physikalische Systeme
  • Numerische Verfahren: Euler-Verfahren, Runge-Kutta-Verfahren

Parallele Programmierparadigmen: MPI und OpenMP

Definition:

Parallele Programmierparadigmen zur Steigerung der Rechenleistung durch gleichzeitige Ausführung mehrerer Prozesse/Threads.

Details:

  • MPI (Message Passing Interface): Standard für parallele Programmierung mittels Nachrichtenaustausch.
  • Ermöglicht skalierbare Lösungen auf verteilten Speichersystemen.
  • Funktioniert gut bei großen Supercomputersystemen.
  • Wichtige Funktionen: \texttt{MPI\textunderscore Send}, \texttt{MPI\textunderscore Recv}, \texttt{MPI\textunderscore Bcast}, \texttt{MPI\textunderscore Reduce}.
  • OpenMP (Open Multi-Processing): API für parallele Programmierung auf Speicher mit gemeinsamem Zugriff.
  • Verwendet Compiler-Direktiven, um parallele Regionen im Code zu definieren.
  • Ideal für Multi-Core-Prozessoren.
  • Wichtige Direktiven: \texttt{\textpragma omp parallel}, \texttt{\textpragma omp for}, \texttt{\textpragma omp critical}, \texttt{\textpragma omp barrier}.

Validierung und Verifikation von Modellen

Definition:

Validierung und Verifikation sind Methoden zur Bewertung der Genauigkeit und Zuverlässigkeit von Modellen in der Simulation und wissenschaftlichem Rechnen.

Details:

  • Verifikation: Überprüfung, ob das Modell nach den spezifizierten Anforderungen und mathematischen Gleichungen korrekt implementiert ist.
  • Validierung: Untersuchung, ob das Modell die realen Phänomene korrekt widerspiegelt und geeignete Ergebnisse liefert.
  • Verifikationstechniken: Code-Reviews, Debugging, statische und dynamische Analysen.
  • Validierungstechniken: Vergleich mit experimentellen Daten, Sensitivitätsanalysen, Szenariotests.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden