Numerische Simulation

Hallo


Nur eine Frage: In welcher Programmiersprache werden heutzutage in Physik und Mathematik numerische Simulationen programmiert ?


mfg
schwedenmann

P.S.
Hintergrund, Sohnemann jetzt im Masterstudiengang Physik hat ein Seminar numerische Simulation belegt und sich unter anderem auch ein Buch dazu besorgt, nur dort wird in Pascal programmiert X( und er hat im Studium (Physik, Mathe,Info) keine einzige Codezeile Pascal gesehen. Scheint fast so, als ob die Naturwissenschaftler heute kein Pascal mehr benutzen.
Also, was wird heute dafür benutzt ?

mfg
schwedenmann
 
Ich denke, darauf gibt es keine eindeutige Antwort.

Eine Programmiersprache ist nur ein Werkzeug. Letztendlich hängt es von der Implementierung des Anwendungssystems ab, welche numerische Methoden/Algorithmen für was auch immer benutzen. Wenn du beispielsweise ein Physik-Engine für Computerspiele nimmst, wird diese sicherlich in einer Sprache wie C++ geschrieben sein. Ich gehe davon aus, dass heute viele Simulationen in C/C++ geschrieben sind, nicht weil die jetzt besonders toll für die Implementierung von Algorithmen wären, sondern einfach aus Performance/Rechengeschwindigkeits Gründen. Grundsätzlich könnten aber auch Verfahren aus der numerischen Simulation auch in Anwendungssystemen genutzt werden, die in Java, C# oder was auch immer geschrieben sind.

Ich denke mal in dem Buch deines Sohnes ist die Programmiersprache nur Mittel zum Zweck um die Verfahren und die Zusammenhänge zum "anfassen" zuveranschaulichen und den Rechner mal was für sich berechnen zu lassen. Die Konzepte und das Verständnis für die Methoden bzw. mathematischen Grundlagen lassen sich sicherlich mit jeder x-beliebigen Programmiersprache nachvollziehen, so dass der Autor einfach das genommen hat, was er kann bzw. gerade zur Hand hatte.

Ich sehe darin jetzt auch kein Problem. Wahrscheinlich werden da nur einfache Sprachkonstrukte und ggf. ein paar Mathematik Bibliotheken benutzt. Nichts, was man nicht auf jede andere Sprache übertragen könnte wenn man es wollte/benötigt. Programmiersprachen sind ja nur Werkzeuge, um Logik zu beschreiben. Die Logik ändert sich ja nicht durch die Sprache :) ...

Hier ist z. B. ein Buch, dass eine Einführung unter Zuhilfename von Python gibt. Python ist unter Naturwissenschaftlern (vor allem in der Datenanalyse) und bei Informatikern sehr populär und weit verbreitet. Vielleicht gefällt es ihm ja besser als Pasquale.

Programming for Computations - Python: A Gentle Introduction to Numerical Simulations with Python Texts in Computational Science and Engineering: Amazon.de: Svein Linge, Hans Petter Langtangen: Fremdsprachige Bucher

p.s. Das Buch ist auf der Seite des Autos frei als PDF erhältlich.
 
Zuletzt bearbeitet:
Fortran und Pascal sind in der Wissenschaft noch immer ziemlich weit verbreitet. Aber auch Scala und R sind mittlerweile stark im Kommen. Und natürlich Python mit SciPy und NumPy.
 
Ich arbeite im Bereich der Turbomaschinen mit CFD-Methoden (Computational Fluid Dynamics). Zwei der von uns verwendeten Strömungslöser sind in C/C++ geschrieben, bei dem dritten (ANSYS Suite) bin ich mir nicht sicher, da es sich um ein kommerzielles Produkt handelt.

Wichtig für die Solver ist insbesondere, dass sie sehr gut skalierbar sind und auf den verschiedensten Maschinengrößen laufen. In meinem Fall habe ich Rechnungen, welche auf sechs Kernen (eine CPU) laufen, sowie welche, die auf bis zu 396 Kernen (66 CPUs, dementsprechend viele Maschinen) laufen.

Grüße
justj
 
Zurück
Oben