Welche Programmiersprache für Physik Simulationen?
Ich möchte einen Ionenantrieb simulieren. Weiß irgendjemand wie ich da anfangen soll und in welche Sprache ich mich vertiefen soll?
Ich weiß es wird verdammt schwer(;
Vielen Dank
5 Antworten
Wenn du nicht dazu sagst, was du machen möchtest, wie soll man das sinnvoill beantworten? Das kann alles sein, von einer Mini-Applikation auf deinem Notebook bis hin zu einem Projekt, das auf Supercomputern läuft und ungeheure rechenzeiten verschlingt.
Für Physik Simulationen sind geeignet:
- Julia
- Fortran
Beschreibungen:
- Julia => Eine "Just In Time" kompilierte Programmiersprache die auf Mathematische Berechnungen optimiert wurde und bei Komplex Mathematischen Berechnungen sogar minimal performanter als C++ sein kann. Sie wurde 2012 entworfen und ist quasi eine moderne Variante von Fortran.
- Fortran => Fortran ist einer der ersten High-Level Languages, sie wurde speziel komplexe numerische Berechnungen optimiert und kann in solchen Anwendungsfällen sogar performanter als C++ sein. Fortran ist zwar extrem alt, aber im Bereich extrem komplexen Mathematischen Berechnungen ist diese Sprache zum Standard geworden, da sie schon so lange existiert. Sie hat aber im Vergleich zum modernen Programmiersprachen eine unübersichtliche und merkwürdige Syntax.
- Python
– Ideal zum Prototyping und Vertrautmachen mit NumPy/SciPy, PlasmaPy und Visualisierung (Matplotlib).
- C++
– Für Performance-kritische Kerne (Particle-in-Cell-Codes wie Warp, XOOPIC oder selbstgeschriebene Module).
- Julia
– Hohe Produktivität + nahezu C-Performance, wachsende Scientific-Computing-Ökosystem.
CUDA C / OpenCL
- – Wenn du GPU-Beschleunigung in Betracht ziehst.
Für wissenschaftliche Simulationen ist Python (mit einschlägigen Bibliotheken wie Numpy und speziellerem) sehr beliebt. Mitunter auch Matlab. Ein paar graubärtige Physiker verwenden sicher auch noch Fortran...
Das glaube ich gerne, komplette Neuentwicklungen wird es damit aber nicht mehr viel geben.
es ist zu viel vorhanden, als dass es je neu geschrieben werden könnte. Fortran ist was die numerische Geschwindigkeit angeht immer noch Top.
Falls Du Numbercrunching machen willst, schau Dir mal diese Sprachen an:
Fortran
Julia
Golang
OCaml
Fortran wird in Rechenkernen immer noch stark verwendet. Z.B. in der Meteorologie.