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

Modulares Potenzieren

\(\newcommand{\Mod}[1]{\ \mathrm{mod}\ #1}\)Für einen Primzahltest (kleiner 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 Operatiom $a^q \Mod{p}$ wird als diskrete Exponentialfunktion (auch modulare Exponentiation oder modulares Potenzieren) bezeichnet. Die naive Berechnung, bestimme […]

SageMath

SageMathCell SageMath ist ein quelloffenes und kostenloses Computeralgebrasystem (CAS). Mit diesem Programm können Terme (symbolische Ausdrücke) umgestellt, faktorisiert, vereinfacht, differenziert, integriert und vieles mehr gemacht werden. 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 […]

Hemisphärische Kugelflächenfunktionen

Kugelflächenfunktionen sind mathematische Funktionen, die auf der Oberfläche einer Kugel definiert sind. Sie spielen eine wichtige Rolle in der Lösung von partiellen Differentialgleichungen. Die Kugelflächenfunktionen beschreiben die räumliche Verteilung von Strahlung, Schall oder elektrischen Feldern in einer kugelförmigen Umgebung. So werden z.B. Kugelflächenfunktionen verwendet, um die Verteilung von Gravitations- oder […]