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 eng mit Git für Continuous Integration zusammenarbeitet. Durch automatisierte Builds und Tests ermöglicht Jenkins die frühzeitige Identifizierung potenzieller Probleme. Das Jenkins-Plugin ‘Multijob’ ermöglicht die Bündelung mehrerer Jenkins-Jobs zu einer Gruppe. Aufgrund der Markierung dieses Plugins als veraltet erfolgt die Umstellung auf Jenkins-Pipeline. Jenkins-Multijob Mehrere […]

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 […]