Zeitreihenanalyse mit LSTM

In diesem Beitrag möchte ich erste Resultate aus der Implementierung und Anwendung eines Long Short-Term Memory (LSTM)-Netzwerks in C++ mit der libtorch-Bibliothek vorstellen. Ziel war es, die Leistungsfähigkeit eines LSTM-Modells für Zeitreihenanalysen, insbesondere bei der Vorhersage eines verrauschten Sinus-Signals, zu untersuchen. Das LSTM-Modell hat dabei gezeigt, wie effektiv es Muster […]

ParaView Headless Rendering

ParaView ist ein leistungsfähiges Werkzeug zur Visualisierung von Ergebnissen aus Simulationen, aber auch zur Darstellung von Triangulierungen und Meshes. ParaView läuft standardmäßig interaktiv über eine GUI und benötigt dabei Grafikkarten sowie physische Displays. Viele wissenschaftliche und technische Anwendungen führen Simulationen jedoch auf Headless-Servern durch, die keine grafische Oberfläche haben. Hier […]

Testrechnungen PINNs

Hier werden die Ergebnisse der Testrechnungen für das PINNs: Physics-Informed Neural Network dargestellt und kurz analysiert. Der Schwerpunkt liegt auf dem Verhalten der PINNs außerhalb des Trainingsintervalls sowie dem Frequenz-Prinzip (F-Prinzip), das beschreibt, wie neuronale Netze unterschiedliche Frequenzen lernen – insbesondere, dass niedrige Frequenzen schneller erfasst werden als hohe. Ergebnisse […]

PINNs — Physikalisch Informierte Neuronale Netze

In diesem Beitrag beschreibe ich die Entwicklung und Implementierung eines einfachen neuronalen Netzwerks, das die Sinusfunktion approximieren kann. Die Methodik folgt hierbei den physikalisch informierten neuronalen Netzen (PINNs), welche maschinelles Lernen mit physikalischen Gesetzen kombinieren, um Modelle zu erstellen, die physikalische Prinzipien einhalten. PINNs haben den großen Vorteil, dass sie […]

Gewächshaussimulation

Nachfolgend beschreibe ich die Entwicklung einer Gewächshaussimulation mithilfe eines OpenFOAM-Modells, das insbesondere den Feuchtetransport berücksichtigt. Das Hauptziel ist es, ein Simulationswerkzeug bereitzustellen, das es den Benutzern ermöglicht, das Klima im Gewächshaus zu modellieren und zu analysieren. Ziele Entwicklung eines OpenFoam-Modells, das die Strömung von Luft und die Transportprozesse von Feuchtigkeit […]

Jenkins Pipeline

Jenkins ist eine weitverbreitete Open-Source-Automatisierungsplattform, die in der Softwareentwicklung häufig in Verbindung mit Git für Continuous Integration (CI) eingesetzt wird. Durch automatisierte Builds und Tests unterstützt Jenkins die frühzeitige Identifizierung potenzieller Probleme und trägt zur Verbesserung der Entwicklungsqualität bei. Das häufig genutzte Jenkins-Plugin Multijob ermöglicht die Bündelung mehrerer Jobs zu […]

Speedup mit tbb::concurrent_unordered_set

Die C++ Standard-Klassen std::set und std::map bzw. ihre unsortierten Varianten std::unordered_set und std::unordered_map (assoziative Container) sind nicht thread-safe. Eine thread-safe Alternative sind die entsprechenden Container (tbb::concurrent_set, tbb::concurrent_unordered_set, …) aus der frei verfügbaren Intel-Bibliothek Threading Building Blocks (TBB). Dazu ein Beispiel: für eine FEM-Berechnung sei ein 3D-Modells mittels Tetraeder trianguliert. Üblicherweise […]

1D-Interface Problem

1D-Interface-Problem: Temperaturverlauf für zwei Medien mit signifikanten Unterschieden in den Wärmeleitkoeffizienten, was zu einem deutlichen Temperaturgradienten führt

Der Temperaturverlauf in der Umgebung eines Kontaktbereiches wird mithilfe des nachfolgenden Modellproblems analysiert (1D-Interface Problem). Für die numerische Lösung der heat equation in komplizierten 3-D-Geometrien lassen sich hiermit Rückschlüsse zur Auflösung des evtl. großen Temperaturgradienten (Feinheit des Gitters im Kontaktbereich) bzw. zur Konstruktion von Ansatzfunktionen fürs XFEM-Verfahren gewinnen. Das Modellproblem […]

Radiosity equation

\( \def\x{{\bf x}} \def\y{{\bf y}} \def\out{{\rm out}} \newcommand{\Spro}[2]{\langle {#1},{#2} \rangle} \) Die radiosity equation ist eine Integralgleichung, die den Strahlungs- bzw. Energieaustausch zwischen diffusen grauen Oberflächen modelliert. Sie lautet \begin{equation} \label{IGLqout2} q_\out (\x) = \epsilon \, \sigma \, T^4(\x) + \rho \, \int_\Gamma k(\x,\y) \, q_\out (\y) \, d\y, \end{equation} […]

Modulares Potenzieren

\(\newcommand{\Mod}[1]{\ \mathrm{mod}\ #1}\) Für einen Primzahltest, basierend auf den kleinen Fermatscher Satz, wird die Auswertung von $$ a^{p-1} \Mod{p}, \qquad 0 < a < p , \quad a,p \in \mathbb{N} $$ für große Zahlen $a$ und $p$ benötigt. Die Operation $a^q \Mod{p}$ wird als diskrete Exponentialfunktion (auch modulare Exponentiation oder […]

SageMath

SageMathCell SageMath ist ein quelloffenes und kostenloses Computeralgebrasystem (CAS). Dieses Programm ermöglicht das Umstellen, Faktorisieren, Vereinfachen, Differenzieren, Integrieren von Termen (symbolischen Ausdrücken) und vieles mehr. Mit SageMathCell kann dies sogar online über eine Web-Benutzeroberfläche erfolgen, wobei eine Python-ähnliche Skriptsprache verwendet wird. Beispiele Als Beispiel sei die Reihenentwicklung einer Funktion genannt: […]

Hemisphärische Kugelflächenfunktionen

Kugelflächenfunktionen sind mathematische Funktionen, die auf der Oberfläche einer Kugel definiert sind. Als Eigenfunktionen des Laplace-Operators spielen sie eine wichtige Rolle bei der Lösung partieller Differentialgleichungen und werden daher oft als Ansatzfunktionen verwendet. Mithilfe von Kugelflächenfunktionen lässt sich die räumliche Verteilung von Strahlung, Schall oder elektrischen Feldern in einer kugelförmigen […]

Visibility

Simulationen nutzen eine geometrische Diskretisierung des realen oder virtuellen Modells, die sogenannte Triangulierung. So sind z.B. in der Automobilindustrie Fahrzeugoberflächen mit mehreren Millionen Dreiecken üblich. Soll die Wärmestrahlung zwischen den Oberflächen in der Simulation eine Rolle spielen, siehe hier, dann ist für jedes dieser Dreiecke zu entscheiden welche anderen Dreiecke […]

Rendering Equation

\( \def\x{{\bf x}} \def\y{{\bf y}} \newcommand{\Spro}[2]{\langle {#1},{#2} \rangle} \) Die Rendering Equation, kurz REQ, beschreibt, ebenso wie ihre kleinere Schwester, die Radiosity Equation, den Energieaustausch zwischen Oberflächen. Die Gleichung lautet \begin{equation} \label{RTE} L(\x,\omega) = L_e(\x,\omega)+\int_{2 \pi} f(\x, \omega, \omega^\prime) \, L( h(\x,\omega^\prime), -\omega^\prime) \,\cos \theta^\prime d{\omega^\prime}. \end{equation} Bezeichnungen (hier klicken […]

Mehrgitterverfahren

\( \def\x{{\bf x}} \def\y{{\bf y}} \newcommand{\Spro}[2]{\langle {#1},{#2} \rangle} \) Mehrgitterverfahren sind in der Lage große Gleichungssysteme mit mehreren Millionen Unbekannten, die sich aus der Diskretisierung von physikalischen Simulationsmodellen ergeben und bestimmte Anforderungen erfüllen, schnell zu lösen. Im Gegensatz zu klassischen Iterationsverfahren, deren Konvergenzrate mit zunehmender Feinheit des Gitters abnimmt, behalten […]