{"id":889,"date":"2026-07-30T12:23:21","date_gmt":"2026-07-30T12:23:21","guid":{"rendered":"https:\/\/matforge.org\/?p=889","raw":"https:\/\/matforge.org\/?p=889"},"modified":"2026-07-30T12:23:21","modified_gmt":"2026-07-30T12:23:21","slug":"student-project-ideas-computational-science-simulation","status":"publish","type":"post","link":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/","title":{"rendered":"Studentenprojektideen f\u00fcr Computational Science and Simulation: Kuratierte Liste mit Codevorlagen","raw":"Studentenprojektideen f\u00fcr Computational Science and Simulation: Kuratierte Liste mit Codevorlagen"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 10<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><h2 id=\"key-takeaways\">Schl\u00fcssel zum Mitnehmen<\/h2>\n<ul>\n<li>Die kuratierten Projektideen decken Anf\u00e4nger, Mittelstufe und Fortgeschrittene mit Schwerpunkt Simulation und Computerwissenschaften ab.<\/li>\n<li>Schwierigkeitsgrade spiegeln die Voraussetzungen, die mathematische Komplexit\u00e4t und die erwartete Zeitinvestition wider.<\/li>\n<li>Codevorlagen sind f\u00fcr jedes Projekt enthalten, damit die Sch\u00fcler schnell mit dem Bauen beginnen k\u00f6nnen.<\/li>\n<li>Lernergebnisse zeigen, was jedes Projekt lehrt.<\/li>\n<li>Eine Roadmap f\u00fcr Skills-to-Projects hilft den Sch\u00fclern, ein Projekt basierend auf ihrem aktuellen Wissen auszuw\u00e4hlen.<\/li>\n<\/ul>\n<p>Studentenprojekte in Computational Science und Simulation sind dort, wo die Theorie endlich auf Code trifft. Sie k\u00f6nnen in Vorlesungen endliche Volumenmethoden, partielle Differentialgleichungen und Erhaltungsgesetze lernen, aber Gleichungen auf einem Whiteboard lehren nicht, wie sich das Schreiben eines Solver von Grund auf anf\u00fchlt.<\/p>\n<p>Wenn Sie verstehen m\u00f6chten, wie numerische Methoden in Arbeitssimulationen \u00fcbersetzen, w\u00e4hlen Sie ein Projekt aus und beginnen Sie mit dem Bau.<\/p>\n<p>Dieser Leitfaden kuratiert praktische Projektideen, die von Universit\u00e4ts-Computer-Kursen, wissenschaftlichen Open-Source-Projekten und Peer-Repositories inspiriert sind. Jedes Projekt verwendet Python und baut auf etwas aus, das Sch\u00fcler in ein Portfolio aufnehmen k\u00f6nnen.<\/p>\n<h2 id=\"difficulty-levels\">Projektschwierigkeiten erkl\u00e4rt<\/h2>\n<p>Vor der Auswahl eines Projekts hilft es zu verstehen, was jede Ebene in Bezug auf Aufwand bedeutet.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Ebene<\/th>\n<th>Voraussetzungen<\/th>\n<th>Erwartete Zeit<\/th>\n<th>Was du tun wirst<\/th>\n<\/tr>\n<tr>\n<td>Anf\u00e4nger<\/td>\n<td>Python-Grundlagen, numpy, matplotlib<\/td>\n<td>2\u20134 Wochen<\/td>\n<td>L\u00f6sen Sie einfache ODEs oder PDEs mit expliziten Methoden und visualisieren Sie die Ergebnisse<\/td>\n<\/tr>\n<tr>\n<td>Zwischen-<\/td>\n<td>Numerische Analyse, lineare Algebra, ODE\/PDE-Hintergrund<\/td>\n<td>4\u20138 Wochen<\/td>\n<td>Solver implementieren, Randbedingungen handhaben und Genauigkeit vergleichen<\/td>\n<\/tr>\n<tr>\n<td>Fortgeschritten<\/td>\n<td>Fortgeschrittene numerische Methoden, Parallel-Computing oder spezialisierter Physikhintergrund<\/td>\n<td>8\u201316 Wochen<\/td>\n<td>Erstellen Sie Multi-Physik-Simulationen, optimieren Sie die Leistung oder vergleichen Sie mit Literaturergebnissen<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die Tabelle ist kein Ranking. Es ist ein passendes Werkzeug. W\u00e4hlen Sie ein Level, das Ihrer aktuellen Vorbereitung entspricht, und bewegen Sie sich dann nach oben, sobald Sie sich wohl f\u00fchlen.<\/p>\n<h2 id=\"skills-roadmap\">Skill-to-Projects-Roadmap<\/h2>\n<p>Die unten stehende Roadmap zeigt, welche mathematischen und Programmierkonzepte welche Projekte abbilden.<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 Skill \/ Concept \u2502 Projects That Use It                                    \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 Python basics   \u2502 Heat equation solver, SIR epidemic model, Lennard-Jones \u2502\n\u2502 NumPy arrays    \u2502 Wave propagation, diffusion on grid                     \u2502\n\u2502 ODE solvers     \u2502 SIR model, projectile with drag, Lotka-Volterra         \u2502\n\u2502 PDE basics      \u2502 Heat equation, wave equation, diffusion                 \u2502\n\u2502 Linear algebra  \u2502 Jacobi iteration, eigenvalue problems, Krylov methods   \u2502\n\u2502 Monte Carlo     \u2502 Ising model, radioactive decay, option pricing          \u2502\n\u2502 FFT \/ spectral  \u2502 Wave propagation, turbulence, spectral methods          \u2502\n\u2502 Parallelism     \u2502 MPI diffusion solver, GPU molecular dynamics            \u2502\n\u2502 Phase-field     \u2502 Solidification, fracture mechanics, grain boundary      \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n<h2 id=\"beginner-projects\">Anf\u00e4ngerprojekte<\/h2>\n<p>Diese Projekte f\u00fchren Kernsimulationskonzepte ohne \u00fcberw\u00e4ltigende Mathematik oder komplexen Setup ein. Sie sind so konzipiert, dass sie auf einem Laptop ohne spezielle Hardware ausgef\u00fchrt werden.<\/p>\n<h3>1. W\u00e4rmegleichungsl\u00f6ser auf einem Gitter<\/h3>\n<p>Schwierigkeitsgrad: Anf\u00e4nger<br \/> Zeit: 2\u20133 Wochen<\/p>\n<p>Was Sie simulieren werden: W\u00e4rmeverteilung durch eine Metallplatte, einen Stab oder einen Raum. Die 1D- oder 2D-W\u00e4rmegleichung ist ein klassisches erstes Projekt in numerischen PDEs, da sie konzeptionell einfach ist und wichtige Konzepte lehrt, die sp\u00e4ter verwendet werden.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202T\/\u2202t = \u03b1 \u2207\u00b2T\n<\/code><\/pre>\n<p>Hier ist <code>\u03b1<\/code> thermische Diffusivit\u00e4t, <code>T<\/code> Temperatur und <code>\u2207\u00b2<\/code> der r\u00e4umliche Laplacian.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport matplotlib.pyplot as plt\n\ndef heat_solver(alpha, L, dt, steps):\n    \"\"\"Solve the 1D heat equation with explicit finite differences.\"\"\"\n    dx = L \/ 50\n    x = np.linspace(0, L, 51)\n    T = np.zeros_like(x)\n    T[20:31] = 1.0  # initial hot strip\n    \n    history = [T.copy()]\n    \n    for step in range(steps):\n        T_new = T.copy()\n        for i in range(1, len(T) - 1):\n            T_new[i] = T[i] + dt * alpha \/ dx**2 * (\n                T[i + 1] - 2 * T[i] + T[i - 1]\n            )\n        T = T_new\n        history.append(T.copy())\n    \n    return x, np.array(history)\n\nx, history = heat_solver(alpha=1.0, L=1.0, dt=0.0001, steps=1000)\n\nplt.imshow(history, aspect=\"auto\", extent=[0, 1, 1000, 0])\nplt.xlabel(\"Position\")\nplt.ylabel(\"Time step\")\nplt.colorbar(label=\"Temperature\")\nplt.show()\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>explizite und implizite Stabilit\u00e4t verstehen.<\/li>\n<li>Implementierung der Randbedingung.<\/li>\n<li>Visualisierung diffusiver Felder.<\/li>\n<li>Grundlegende Stabilit\u00e4t im CFL-Stil.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Die W\u00e4rmegleichung ist die \u201eHallo Welt\u201c der Simulation. Jedes sp\u00e4tere Projekt mit Diffusion, Wellen oder Phasenfeldmodellierung baut auf \u00e4hnlichen numerischen Mustern auf.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Wechseln Sie zu einem vollst\u00e4ndig impliziten Schema oder Crank-Nicon-Niconson und vergleichen Sie die Stabilit\u00e4t.<\/li>\n<li>F\u00fcgen Sie einen Quellbegriff wie ein Heizelement hinzu.<\/li>\n<li>Exportieren Sie die Ergebnisse zur Analyse in CSV.<\/li>\n<\/ul>\n<h3>2. Modell der SIR-Epidemie<\/h3>\n<p>Schwierigkeitsgrad: Anf\u00e4nger<br \/> Zeit: 2\u20133 Wochen<\/p>\n<p>Was Sie simulieren werden: Das klassische Kompartimentmodell der Verbreitung von Krankheiten: anf\u00e4llig, infekti\u00f6s und erholt. Dieses Modell erfasst epidemische Kurven, Herdenimmunit\u00e4t und die Grundreproduktionszahl ohne r\u00e4umliches Gitter.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>dS\/dt = -\u03b2SI\/N\ndI\/dt = \u03b2SI\/N - \u03b3I\ndR\/dt = \u03b3I\n<\/code><\/pre>\n<p>Hier ist <code>\u03b2<\/code> die \u00dcbertragungsrate, <code>\u03b3<\/code> die Wiederfindungsrate und <code>N = S + I + R<\/code> die Population.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>SciPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport matplotlib.pyplot as plt\nfrom scipy.integrate import odeint\n\ndef sir_model(y, t, beta, gamma):\n    S, I, R = y\n    N = S + I + R\n    dS = -beta * S * I \/ N\n    dI = beta * S * I \/ N - gamma * I\n    dR = gamma * I\n    return [dS, dI, dR]\n\nbeta, gamma = 0.5, 0.1\ny0 = [990, 10, 0]\nt = np.linspace(0, 100, 100)\n\nsolution = odeint(sir_model, y0, t, args=(beta, gamma))\n\nplt.plot(t, solution)\nplt.legend([\"Susceptible\", \"Infectious\", \"Recovered\"])\nplt.xlabel(\"Time\")\nplt.ylabel(\"Population\")\nplt.show()\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>L\u00f6sungssysteme von Oden.<\/li>\n<li>Verst\u00e4ndnis <code>R\u2080 = \u03b2\/\u03b3<\/code> .<\/li>\n<li>Interpretation von Epidemie-Spitzen und endg\u00fcltigem Gr\u00f6\u00dfenverhalten.<\/li>\n<li>Aufzeichnen von Phasenebenenverhalten wie infekti\u00f6se versus anf\u00e4llige Population.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Es hat reale Relevanz bei minimaler Komplexit\u00e4t. Das Modell ist einfach genug zu verstehen, aber reich genug, um sinnvolle Experimente zu unterst\u00fctzen.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>F\u00fcgen Sie Altersstruktur mit mehreren F\u00e4chern hinzu.<\/li>\n<li>Impfung als zeitabh\u00e4ngigen Parameter einschlie\u00dfen.<\/li>\n<li>Vergleichen Sie Euler-, RK4- und Scipy-Ode-Solver.<\/li>\n<\/ul>\n<h3>3. Wellengleichung auf einer Zeichenfolge<\/h3>\n<p>Schwierigkeitsgrad: Anf\u00e4nger<br \/> Zeit: 3\u20134 Wochen<\/p>\n<p>Was Sie simulieren: eine vibrierende Saite, eine Drummembran oder eine Schallwelle. Die Wellengleichung f\u00fchrt Ausbreitung, Reflexion und stehende Wellen ein.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202\u00b2u\/\u2202t\u00b2 = c\u00b2 \u2207\u00b2u\n<\/code><\/pre>\n<p>Randbedingungen k\u00f6nnen fest, frei oder gemischt sein.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport matplotlib.pyplot as plt\n\nc, L = 1.0, 1.0\ndx = L \/ 100\nx = np.linspace(0, L, 101)\ndt = 0.001\nsteps = 5000\n\nu = np.zeros((101, steps))\nu[:, 0] = np.sin(np.pi * x \/ L)\n\n# First step approximation\nu[:, 1] = u[:, 0]\n\nfor n in range(1, steps - 1):\n    for i in range(1, 100):\n        u[i, n + 1] = (\n            2 * u[i, n]\n            - u[i, n - 1]\n            + (c * dt \/ dx)**2 * (u[i + 1, n] - 2 * u[i, n] + u[i - 1, n])\n        )\n\nplt.plot(x, u[:, 1000])\nplt.xlabel(\"Position\")\nplt.ylabel(\"Displacement\")\nplt.show()\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Finite Differenz-Zeitschritt f\u00fcr PDEs zweiter Ordnung.<\/li>\n<li>CFL-Zustands- und Stabilit\u00e4tsanalyse.<\/li>\n<li>Wellenreflexion und stehende Wellen.<\/li>\n<li>Visualisierung mit Animation oder Zeitschnappsch\u00fcssen.<\/li>\n<\/ul>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Probieren Sie verschiedene Anfangsbedingungen wie ein Gau\u00dfsches Wellenpaket aus.<\/li>\n<li>F\u00fcgen Sie reflektierende oder absorbierende Grenzen hinzu.<\/li>\n<li>Vergleichen Sie die numerische L\u00f6sung mit einer analytischen L\u00f6sung.<\/li>\n<\/ul>\n<h2 id=\"intermediate-projects\">Zwischenprojekte<\/h2>\n<p>Diese Projekte erfordern einen st\u00e4rkeren Hintergrund in der numerischen Analyse, der linearen Algebra oder der Physik. Der Code umfasst iterative Solver, adaptive Methoden oder komplexere Modelle.<\/p>\n<h3>4. Jacobi- und Krylov-Iteration f\u00fcr lineare Systeme<\/h3>\n<p>Schwierigkeitsgrad: Mittelstufe<br \/> Zeit: 4\u20136 Wochen<\/p>\n<p>Was Sie simulieren werden: Iterative L\u00f6sungen f\u00fcr <code>Ax = b<\/code> mit Jacobi, Gauss-Seidel und konjugiertem Gradienten. Dies ist das R\u00fcckgrat vieler PDE-Solver.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>Ax = b\n<\/code><\/pre>\n<p>Hier ist <code>A<\/code>  normalerweise sp\u00e4rlich, und f\u00fcr viele Probleme im Diffusionsstil ist es symmetrisch positiv-definit.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>SciPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport scipy.sparse as sp\nimport scipy.sparse.linalg as spla\n\ndef create_1d_laplacian_matrix(n, dx):\n    \"\"\"Create a 1D Laplacian matrix.\"\"\"\n    main = 2.0 * np.ones(n)\n    off = -1.0 * np.ones(n - 1)\n    return sp.diags([off, main, off], [-1, 0, 1], format=\"csr\") \/ dx**2\n\nn = 100\ndx = 0.01\nA = create_1d_laplacian_matrix(n, dx)\nb = np.ones(n)\n\n# Jacobi iteration\nx_jac = np.zeros(n)\nD = A.diagonal()\n\nfor iteration in range(100):\n    r = b - A @ x_jac\n    x_jac = x_jac + r \/ D\n\n# Compare with direct sparse solve\nx_direct = spla.spsolve(A, b)\nerror = np.linalg.norm(x_direct - x_jac)\n\nprint(f\"Jacobi error after 100 iterations: {error:.3e}\")\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Sp\u00e4rliche Matrixdarstellung und -operationen.<\/li>\n<li>Iterative Solver-Konvergenzanalyse.<\/li>\n<li>Vergleich von Jacobi, Gauss-Seidel und konjugiertem Gradienten.<\/li>\n<li>Grundlegende Vorkonditionierungskonzepte.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Jeder PDE-Solver verwendet sp\u00e4rliche lineare Systeme intern. Das Verst\u00e4ndnis iterativer Methoden auf Code-Ebene hilft bei der Entmystifizierung von Tools wie FIPY, Fenics und OpenFoam.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>F\u00fcgen Sie einen diagonalen Vorkonditionierer hinzu.<\/li>\n<li>Vergleichen Sie die Konvergenzraten in 2D- und 3D-Gittern.<\/li>\n<li>Implementieren Sie einen einfachen Multigrid-Zyklus.<\/li>\n<\/ul>\n<h3>5. Molekulare Dynamik mit Potential von Lennard-Jones<\/h3>\n<p>Schwierigkeitsgrad: Mittelstufe<br \/> Zeit: 4\u20138 Wochen<\/p>\n<p>Was Sie simulieren werden: ein Gas oder eine Fl\u00fcssigkeit von Partikeln, die durch das Lennard-Jones-Potenzial interagieren. Dieses Projekt demonstriert den vollst\u00e4ndigen Zyklus vom Physikmodell bis zur numerischen Integration, Datenanalyse und Visualisierung.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>V(r) = 4\u03b5[(\u03c3\/r)\u00b9\u00b2 - (\u03c3\/r)\u2076]\nF = -\u2207V(r)\n<\/code><\/pre>\n<p>Typische Integrationsverfahren umfassen Geschwindigkeitsverlet- oder Leapfrog-Schemata.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code>, <code>h5py<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\ndef lj_force(pos_i, pos_j, sigma=1.0, epsilon=1.0):\n    \"\"\"Compute Lennard-Jones force between two particles.\"\"\"\n    r_vec = pos_j - pos_i\n    r = np.linalg.norm(r_vec)\n    \n    if r == 0:\n        return np.zeros_like(r_vec)\n    \n    inv_r = sigma \/ r\n    force_mag = 24 * epsilon * (2 * inv_r**12 - inv_r**6) \/ r\n    return force_mag * (r_vec \/ r)\n\ndef compute_forces(positions):\n    n = len(positions)\n    forces = np.zeros_like(positions)\n    \n    for i in range(n):\n        for j in range(i + 1, n):\n            f = lj_force(positions[i], positions[j])\n            forces[i] += f\n            forces[j] -= f\n    \n    return forces\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>numerische Integration auf Partikelbasis.<\/li>\n<li>periodische Randbedingungen.<\/li>\n<li>\u00dcberwachung der Energieeinsparung.<\/li>\n<li>radiale Verteilungsfunktionen.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Molecular Dynamics ist ein Tor zu leistungsf\u00e4higem wissenschaftlichem Rechnen. Sobald Sie Lennard-Jones-Partikel verstanden haben, k\u00f6nnen Sie sich zu komplexen Potentialen, grobk\u00f6rniger oder GPU-beschleunigter MD bewegen.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Mit <code>cupy<\/code> oder <code>numba<\/code> auf GPU-Beschleunigung umschalten.<\/li>\n<li>Studienphasen\u00fcberg\u00e4nge durch Temperaturschwankung.<\/li>\n<li>Berechnen Sie die W\u00e4rmeleitf\u00e4higkeit mit den Green-Kubo-Beziehungen.<\/li>\n<\/ul>\n<h3>6. Modell f\u00fcr 2D-Magnetismus<\/h3>\n<p>Schwierigkeitsgrad: Mittelstufe<br \/> Zeit: 4\u20136 Wochen<\/p>\n<p>Was Sie simulieren werden: Das Ising-Modell ist eines der einfachsten Modelle des Magnetismus und eines der am besten untersuchten Probleme in der statistischen Physik. Es zeigt, wie lokale Regeln makroskopische Phasen\u00fcberg\u00e4nge erzeugen k\u00f6nnen.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>H = -J \u03a3\u1d62\u2c7c s\u1d62s\u2c7c - h \u03a3\u1d62 s\u1d62\nP(\u0394E) = exp(-\u0394E\/kT)\n<\/code><\/pre>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code>, <code>SciPy<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\ndef metropolis_step(grid, T):\n    \"\"\"Single Metropolis sweep on a 2D Ising grid.\"\"\"\n    L = grid.shape[0]\n    \n    for i in range(L):\n        for j in range(L):\n            site = grid[i, j]\n            neighbors = (\n                grid[(i - 1) % L, j]\n                + grid[(i + 1) % L, j]\n                + grid[i, (j - 1) % L]\n                + grid[i, (j + 1) % L]\n            )\n            dE = 2 * site * neighbors\n            \n            if dE &lt; 0 or np.random.rand() &lt; np.exp(-dE \/ T):\n                grid[i, j] = -site\n    \n    return grid\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Monte-Carlo-Methoden und der Metropolis-Algorithmus.<\/li>\n<li>Phasen\u00fcberg\u00e4nge und kritische Ph\u00e4nomene.<\/li>\n<li>Heuristiken der Energieminimierung.<\/li>\n<li>Visualisierung von aufkommenden Mustern.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Das ISING-Modell verbindet statistische Physik, Rechenmethoden und maschinelles Lernen. Es hat auch ein bekanntes Referenzverhalten, das Validierung erm\u00f6glicht.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Berechnen Sie die W\u00e4rmekapazit\u00e4t und Anf\u00e4lligkeit in der N\u00e4he der kritischen Temperatur.<\/li>\n<li>Studieren Sie verschiedene Gittergeometrien.<\/li>\n<li>Implementieren Sie den Wolff- oder Swendsen-Wang-Cluster-Algorithmus.<\/li>\n<\/ul>\n<h2 id=\"advanced-projects\">Fortgeschrittene Projekte<\/h2>\n<p>Diese Projekte erfordern einen st\u00e4rkeren Hintergrund der numerischen Methoden, Erfahrung mit paralleler Rechenleistung oder spezielles Physikwissen. Sie eignen sich f\u00fcr Arbeits- oder Schlusssteinprojekte.<\/p>\n<h3>7. FIPY-basierter Diffusionsl\u00f6ser<\/h3>\n<p>Schwierigkeitsgrad: Advanced<br \/> Zeit: 8\u201312 Wochen<\/p>\n<p>Was Sie simulieren: Ein realistisches Diffusionsproblem mit FIPY. Dies verbindet PDE-Konzepte und endliche Volumendiskretisierung mit produktiver wissenschaftlicher Software.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202c\/\u2202t = \u2207\u00b7(D\u2207c) + S\n<\/code><\/pre>\n<p>Dies ist eine Diffusionsgleichung mit Quellenbegriffen und Randbedingungen wie Dirichlet, Neumann oder Robin.<\/p>\n<p>Python-Stapel: <code>FiPy<\/code>, <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">from fipy import Grid2D, CellVariable, DiffusionTerm\n\nmesh = Grid2D(nx=50, ny=50, dx=0.1, dy=0.1)\n\nc = CellVariable(mesh=mesh, name=\"concentration\", value=0.0)\nc.constrain(1.0, mesh.facesLeft)\n\neq = DiffusionTerm(coeff=1.0) == 0\n\n# Solve to steady state\neq.solve(var=c)\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Endliche Volumendiskretisierung mit FIPY.<\/li>\n<li>Umgang mit den Randbedingungen von Dirichlet, Neumann und Robin.<\/li>\n<li>Netzqualit\u00e4t und Konvergenzstudien.<\/li>\n<li>Analytische L\u00f6sungen mit numerischen Ergebnissen verbinden.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Wenn Sie professionell in der Computerwissenschaft arbeiten m\u00f6chten, ist es wertvoll, einen endlichen Volumencode wie FIPY zu verwenden und zu erweitern. Dieses Projekt kombiniert die Mesh-Einrichtung, die Begriffsformulierung, die Solver-Konfiguration und die Nachbearbeitung.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>F\u00fcgen Sie Reaktionsbegriffe f\u00fcr Reaktionsdiffusionssysteme oder Turingmuster hinzu.<\/li>\n<li>Vergleichen Sie FIPY-Ergebnisse mit analytischen Benchmark-L\u00f6sungen.<\/li>\n<li>Parallelisieren Sie mit der MPI-Unterst\u00fctzung von FIPY.<\/li>\n<\/ul>\n<h3>8. Monte Carlo f\u00fcr Optionspreise<\/h3>\n<p>Schwierigkeitsgrad: Fortgeschritten<br \/> Zeit: 6\u201310 Wochen<\/p>\n<p>Was Sie simulieren werden: Monte-Carlo-Methoden im Finanzbereich, einschlie\u00dflich der Preisgestaltung europ\u00e4ischer und amerikanischer Optionen unter Verwendung simulierter Aktienkurspfade. Dies verbindet die Computerwissenschaft mit angewandter Mathematik und quantitativer Finanzierung.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>dS = \u03bcS dt + \u03c3S dW\nV = e^(-rT) E[max(S-K, 0)]\n<\/code><\/pre>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>pandas<\/code>, <code>Matplotlib<\/code>, <code>scipy.stats<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\ndef monte_carlo_option(S0, K, r, sigma, T, num_paths=10000):\n    \"\"\"Price a European call option using Monte Carlo.\"\"\"\n    z = np.random.randn(num_paths)\n    S_final = S0 * np.exp(\n        (r - 0.5 * sigma**2) * T + sigma * np.sqrt(T) * z\n    )\n    \n    payoffs = np.maximum(S_final - K, 0)\n    price = np.exp(-r * T) * np.mean(payoffs)\n    stderr = np.exp(-r * T) * np.std(payoffs) \/ np.sqrt(num_paths)\n    \n    return price, stderr\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Stochastische Simulation und Pfadgenerierung.<\/li>\n<li>Konvergenzanalyse mit Stichprobengr\u00f6\u00dfe.<\/li>\n<li>Varianzreduktionstechniken wie antithetische Varianten und Kontrollvarianten.<\/li>\n<li>Amerikanische Optionspreise mit Monte-Carlo-Methoden mit den kleinsten Quadraten.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Monte-Carlo-Methoden funktionieren in hochdimensionalen Umgebungen, was sie in den Bereichen Finanzen, Materialwissenschaften, Quantenfeldtheorie und Unsicherheitsquantifizierung n\u00fctzlich macht.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Implementieren Sie den Longstaff-Schwartz-Algorithmus f\u00fcr amerikanische Optionen.<\/li>\n<li>Studieren Sie Griechen wie Delta, Gamma und Vega.<\/li>\n<li>Vergleichen Sie die Ergebnisse mit der analytischen L\u00f6sung von Black-Scholes.<\/li>\n<\/ul>\n<h3>9. Erstarrung und Phasenfeldsimulation<\/h3>\n<p>Schwierigkeitsgrad: Fortgeschritten<br \/> Zeit: 12\u201316 Wochen<\/p>\n<p>Was Sie simulieren werden: Die Phasenfeldmethode wird h\u00e4ufig in der computergest\u00fctzten Materialwissenschaft f\u00fcr die Entwicklung der Mikrostruktur verwendet, einschlie\u00dflich Kornwachstum, dendritischer Erstarrung und Niederschlagsbildung.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t = -\u0393 [\u03c6(1-\u03c6)\u00b2 + F'(\u03c6) + \u03bb\u2207\u03c6\u00b7\u2207\u03c6]\n<\/code><\/pre>\n<p>Hier ist <code>\u03c6<\/code> das Phasenfeld, <code>\u0393<\/code> Mobilit\u00e4t und <code>F(\u03c6)<\/code> das Doppeltiegelpotential.<\/p>\n<p>Python-Stapel: <code>FiPy<\/code>, <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">from fipy import Grid2D, CellVariable, TransientTerm, DiffusionTerm\n\nmesh = Grid2D(nx=100, ny=100, dx=1.0, dy=1.0)\n\nphi = CellVariable(mesh=mesh, name=\"phase_field\", value=0.0)\n\n# Example starter equation structure:\n# TransientTerm == diffusion + source-like phase evolution term\neq = TransientTerm(var=phi) == DiffusionTerm(coeff=1.0, var=phi)\n\nfor step in range(100):\n    eq.solve(var=phi, dt=0.01)\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Phasenfeldformulierung und Doppeltiegelpotentiale.<\/li>\n<li>Schnittstellenbreite und Mobilit\u00e4tsparameter.<\/li>\n<li>Kopplung mit Diffusionsgleichungen.<\/li>\n<li>Vergleich mit analytischen Erstarrungsl\u00f6sungen oder Literatur-Benchmarks.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Phasenfeldsimulation wird weltweit in der materialwissenschaftlichen Forschung eingesetzt. Es verbindet Mikrostruktur, Thermodynamik und numerische Methoden.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Koppeln Sie das Phasenfeld mit Diffusion f\u00fcr Modelle mit gel\u00f6stem Einfangen.<\/li>\n<li>Untersuchen Sie dendritische Wachstumsmuster unter verschiedenen Bedingungen der Unterk\u00fchlung.<\/li>\n<li>Vergleichen Sie die Ergebnisse mit experimentellen Aufnahmen aus der Literatur.<\/li>\n<\/ul>\n<h2 id=\"how-to-choose\">So w\u00e4hlen Sie Ihr Projekt aus<\/h2>\n<p>Nicht jedes Projekt ist f\u00fcr jeden Sch\u00fcler richtig. Verwenden Sie das folgende Framework, um einen realistischen Ausgangspunkt auszuw\u00e4hlen.<\/p>\n<h3>Passen Sie Ihren Hintergrund an<\/h3>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Sie wissen derzeit<\/th>\n<th>Empfohlenes Startprojekt<\/th>\n<\/tr>\n<tr>\n<td>Python-Grundlagen, kein numerischer Hintergrund<\/td>\n<td>W\u00e4rmegleichung<\/td>\n<\/tr>\n<tr>\n<td>Python plus einf\u00fchrende numerische Analyse<\/td>\n<td>SIR-Modell oder Wellengleichung<\/td>\n<\/tr>\n<tr>\n<td>ODE\/PDE-Kurs und lineare Algebra<\/td>\n<td>Jacobi-Iteration oder molekulare Dynamik<\/td>\n<\/tr>\n<tr>\n<td>Statistische Mechanik oder fortgeschrittene Mathematik<\/td>\n<td>Modell ising<\/td>\n<\/tr>\n<tr>\n<td>Ziele auf Forschungs- oder Abschlussarbeit<\/td>\n<td>FIPY-Diffusion oder Phasenfeldsimulation<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Das Wichtigste<\/h3>\n<ol>\n<li>Mathematische Voraussetzungen. Springen Sie nicht zur Phasenfeldsimulation, wenn Sie eine PDE noch nicht numerisch gel\u00f6st haben.<\/li>\n<li>Programmierkomfort. Wenn Sie neu bei Python sind, beginnen Sie mit der W\u00e4rmegleichung und bauen Sie von dort aus.<\/li>\n<li>Zeithorizont. Ein Semesterprojekt braucht einen klaren Spielraum. W\u00e4hlen Sie etwas aus, das in 4 bis 8 Wochen zu einem aussagekr\u00e4ftigen Ergebnis f\u00fchren kann.<\/li>\n<li>Karriereziele. Die Materialwissenschaft weist auf Phasenfeld- oder Molekulardynamik hin. Finanzpunkte in Richtung Monte Carlo. Forschungssoftware zeigt auf FIPY- oder iterative Solver.<\/li>\n<\/ol>\n<h3>H\u00e4ufige Fehler, die Sch\u00fcler machen<\/h3>\n<ol>\n<li>Ein Projekt ausw\u00e4hlen, das zu ehrgeizig ist. Ein vollst\u00e4ndiger 3D-Phasenfeldl\u00f6ser in vier Wochen ist nicht realistisch. Scope es mit einfachen Parametern auf 2D.<\/li>\n<li>\u00dcberspringen von analytischen L\u00f6sungsvergleich. Vergleichen Sie numerische Ergebnisse immer mit einer bekannten L\u00f6sung, wenn m\u00f6glich.<\/li>\n<li>Ignorieren der CFL-Bedingung. Viele Anf\u00e4ngersimulationen scheitern, weil der Zeitschritt zu gro\u00df ist.<\/li>\n<li>nicht die Versionskontrolle verwenden. Git ist nicht optional f\u00fcr ein ernstes Projekt. Begehen Sie regelm\u00e4\u00dfig, damit Sie sich von Fehlern erholen k\u00f6nnen.<\/li>\n<\/ol>\n<h2 id=\"what-to-skip\">Was solltest du \u00fcberspringen?<\/h2>\n<p>Nicht alle Rechenprojekte sind f\u00fcr die Lernsimulation gleicherma\u00dfen n\u00fctzlich. Vermeiden Sie diese, es sei denn, Sie haben einen bestimmten Grund.<\/p>\n<ul>\n<li>Generische &#8222;Hello World&#8220; -Simulationen. Wenn es sich bei einem Projekt nicht um ein PDE, ein Naturschutzgesetz, einen numerischen Solver oder ein stochastisches Modell handelt, handelt es sich m\u00f6glicherweise nicht um ein Computer-Science-Projekt.<\/li>\n<li>Projekte, die am Anfang spezielle Hardware erfordern. Beginnen Sie nicht mit der GPU-Molekulardynamik, wenn Sie die CPU-Molekulardynamik noch nicht erstellt haben.<\/li>\n<li>\u00dcberm\u00e4\u00dfig komplexe Multiphysik-Kopplung. Beginnen Sie mit Einzel-Physik-Solvern. Multiphysische Kopplung ist ein Forschungsthema, kein ideales erstes Studentenprojekt.<\/li>\n<\/ul>\n<h2 id=\"references\">Wo finden Sie Referenzcode?<\/h2>\n<p>Mehrere Universit\u00e4tskurse und Open-Source-Projekte bieten n\u00fctzliche Referenzimplementierungen:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/CompPhysics\/ComputationalPhysics\">Universit\u00e4t der Oslo Computational Physics<\/a> \u2014 Kursmaterialien mit Projektbeschreibungen und L\u00f6sungen.<\/li>\n<li><a href=\"https:\/\/github.com\/aiidateam\/aiida-core\/wiki\/GSoC-2025-Projects\">AIIDA GSOC-Projekte <\/a> &#8211; Ideen f\u00fcr Studentenprojekte in der computergest\u00fctzten Materialwissenschaft.<\/li>\n<li><a href=\"https:\/\/www.fipy.org\/\">Fipy-Dokumentation<\/a> \u2013 Offizielle Tutorials und Beispiele f\u00fcr die Finite Volume-Bibliothek.<\/li>\n<\/ul>\n<p>Verwenden Sie diese Ressourcen als Ausgangspunkte und nicht als Endpunkte. Das eigentliche Lernen erfolgt, wenn Sie den Code selbst schreiben und debuggen.<\/p>\n<h2 id=\"conclusion\">Letzte Gedanken<\/h2>\n<p>Der Unterschied zwischen dem Lesen \u00fcber numerische Methoden und dem Schreiben einer Simulation ist enorm. Sie k\u00f6nnen viele PDE-Lehrb\u00fccher lesen und verstehen immer noch nicht, was passiert, wenn eine Diffusionsgleichung mit einem zu gro\u00dfen Zeitschritt diskretisiert wird.<\/p>\n<p>W\u00e4hlen Sie ein Projekt aus, beginnen Sie mit der Codierung und iterieren Sie. Ein paar Wochen Debugging k\u00f6nnen mehr als Monate passive Vorlesungen unterrichten.<\/p>\n<p>Wenn Sie Hilfe bei einem bestimmten Simulationsproblem ben\u00f6tigen, wie z. Gute Unterst\u00fctzung kann Ihnen helfen, h\u00e4ufige Fallen zu vermeiden, w\u00e4hrend Sie die Arbeit selbst erledigen.<\/p>\n<h2 id=\"related-guides\">Verwandte Anleitungen<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\">Wann verwendet werden FEM, FVM oder FDM: Ein praktischer Vergleich f\u00fcr Anf\u00e4nger <\/a> &#8211; Verstehen der Diskretisierungsmethoden, bevor Sie mit dem Codieren beginnen.<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\">Mesh-Qualit\u00e4ts- und Konvergenzstudien: Ein praktischer Leitfaden <\/a> &#8211; Stellen Sie sicher, dass Ihr Gitter Ihre Simulation nicht ruiniert.<\/li>\n<li><a href=\"https:\/\/matforge.org\/python-debugging-scientific-code-print-statements-profiling\/\"> Python-Debugging f\u00fcr wissenschaftlichen Code: Von Druckanweisungen bis Profiling <\/a> &#8211; Debuggen von Strategien f\u00fcr numerischen Code.<\/li>\n<li><a href=\"https:\/\/matforge.org\/computational-materials-science-frameworks-moose-vs-prisms-pf-vs-openphase\/\">Computational materials Science Frameworks: Moose vs Prisms-PF VS OpenPhase <\/a> &#8211; Wenn Sie \u00fcber Python hinaus m\u00f6chten.<\/li>\n<\/ul>\n","protected":false,"raw":"<h2 id=\"key-takeaways\">Schl\u00fcssel zum Mitnehmen<\/h2>\n<ul>\n<li>Die kuratierten Projektideen decken Anf\u00e4nger, Mittelstufe und Fortgeschrittene mit Schwerpunkt Simulation und Computerwissenschaften ab.<\/li>\n<li>Schwierigkeitsgrade spiegeln die Voraussetzungen, die mathematische Komplexit\u00e4t und die erwartete Zeitinvestition wider.<\/li>\n<li>Codevorlagen sind f\u00fcr jedes Projekt enthalten, damit die Sch\u00fcler schnell mit dem Bauen beginnen k\u00f6nnen.<\/li>\n<li>Lernergebnisse zeigen, was jedes Projekt lehrt.<\/li>\n<li>Eine Roadmap f\u00fcr Skills-to-Projects hilft den Sch\u00fclern, ein Projekt basierend auf ihrem aktuellen Wissen auszuw\u00e4hlen.<\/li>\n<\/ul>\n<p>Studentenprojekte in Computational Science und Simulation sind dort, wo die Theorie endlich auf Code trifft. Sie k\u00f6nnen in Vorlesungen endliche Volumenmethoden, partielle Differentialgleichungen und Erhaltungsgesetze lernen, aber Gleichungen auf einem Whiteboard lehren nicht, wie sich das Schreiben eines Solver von Grund auf anf\u00fchlt.<\/p>\n<p>Wenn Sie verstehen m\u00f6chten, wie numerische Methoden in Arbeitssimulationen \u00fcbersetzen, w\u00e4hlen Sie ein Projekt aus und beginnen Sie mit dem Bau.<\/p>\n<p>Dieser Leitfaden kuratiert praktische Projektideen, die von Universit\u00e4ts-Computer-Kursen, wissenschaftlichen Open-Source-Projekten und Peer-Repositories inspiriert sind. Jedes Projekt verwendet Python und baut auf etwas aus, das Sch\u00fcler in ein Portfolio aufnehmen k\u00f6nnen.<\/p>\n<h2 id=\"difficulty-levels\">Projektschwierigkeiten erkl\u00e4rt<\/h2>\n<p>Vor der Auswahl eines Projekts hilft es zu verstehen, was jede Ebene in Bezug auf Aufwand bedeutet.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Ebene<\/th>\n<th>Voraussetzungen<\/th>\n<th>Erwartete Zeit<\/th>\n<th>Was du tun wirst<\/th>\n<\/tr>\n<tr>\n<td>Anf\u00e4nger<\/td>\n<td>Python-Grundlagen, numpy, matplotlib<\/td>\n<td>2\u20134 Wochen<\/td>\n<td>L\u00f6sen Sie einfache ODEs oder PDEs mit expliziten Methoden und visualisieren Sie die Ergebnisse<\/td>\n<\/tr>\n<tr>\n<td>Zwischen-<\/td>\n<td>Numerische Analyse, lineare Algebra, ODE\/PDE-Hintergrund<\/td>\n<td>4\u20138 Wochen<\/td>\n<td>Solver implementieren, Randbedingungen handhaben und Genauigkeit vergleichen<\/td>\n<\/tr>\n<tr>\n<td>Fortgeschritten<\/td>\n<td>Fortgeschrittene numerische Methoden, Parallel-Computing oder spezialisierter Physikhintergrund<\/td>\n<td>8\u201316 Wochen<\/td>\n<td>Erstellen Sie Multi-Physik-Simulationen, optimieren Sie die Leistung oder vergleichen Sie mit Literaturergebnissen<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>Die Tabelle ist kein Ranking. Es ist ein passendes Werkzeug. W\u00e4hlen Sie ein Level, das Ihrer aktuellen Vorbereitung entspricht, und bewegen Sie sich dann nach oben, sobald Sie sich wohl f\u00fchlen.<\/p>\n<h2 id=\"skills-roadmap\">Skill-to-Projects-Roadmap<\/h2>\n<p>Die unten stehende Roadmap zeigt, welche mathematischen und Programmierkonzepte welche Projekte abbilden.<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 Skill \/ Concept \u2502 Projects That Use It                                    \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 Python basics   \u2502 Heat equation solver, SIR epidemic model, Lennard-Jones \u2502\n\u2502 NumPy arrays    \u2502 Wave propagation, diffusion on grid                     \u2502\n\u2502 ODE solvers     \u2502 SIR model, projectile with drag, Lotka-Volterra         \u2502\n\u2502 PDE basics      \u2502 Heat equation, wave equation, diffusion                 \u2502\n\u2502 Linear algebra  \u2502 Jacobi iteration, eigenvalue problems, Krylov methods   \u2502\n\u2502 Monte Carlo     \u2502 Ising model, radioactive decay, option pricing          \u2502\n\u2502 FFT \/ spectral  \u2502 Wave propagation, turbulence, spectral methods          \u2502\n\u2502 Parallelism     \u2502 MPI diffusion solver, GPU molecular dynamics            \u2502\n\u2502 Phase-field     \u2502 Solidification, fracture mechanics, grain boundary      \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n<h2 id=\"beginner-projects\">Anf\u00e4ngerprojekte<\/h2>\n<p>Diese Projekte f\u00fchren Kernsimulationskonzepte ohne \u00fcberw\u00e4ltigende Mathematik oder komplexen Setup ein. Sie sind so konzipiert, dass sie auf einem Laptop ohne spezielle Hardware ausgef\u00fchrt werden.<\/p>\n<h3>1. W\u00e4rmegleichungsl\u00f6ser auf einem Gitter<\/h3>\n<p>Schwierigkeitsgrad: Anf\u00e4nger<br> Zeit: 2\u20133 Wochen<\/p>\n<p>Was Sie simulieren werden: W\u00e4rmeverteilung durch eine Metallplatte, einen Stab oder einen Raum. Die 1D- oder 2D-W\u00e4rmegleichung ist ein klassisches erstes Projekt in numerischen PDEs, da sie konzeptionell einfach ist und wichtige Konzepte lehrt, die sp\u00e4ter verwendet werden.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202T\/\u2202t = \u03b1 \u2207\u00b2T\n<\/code><\/pre>\n<p>Hier ist <code>\u03b1<\/code> thermische Diffusivit\u00e4t, <code>T<\/code> Temperatur und <code>\u2207\u00b2<\/code> der r\u00e4umliche Laplacian.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport matplotlib.pyplot as plt\n\ndef heat_solver(alpha, L, dt, steps):\n    \"\"\"Solve the 1D heat equation with explicit finite differences.\"\"\"\n    dx = L \/ 50\n    x = np.linspace(0, L, 51)\n    T = np.zeros_like(x)\n    T[20:31] = 1.0  # initial hot strip\n    \n    history = [T.copy()]\n    \n    for step in range(steps):\n        T_new = T.copy()\n        for i in range(1, len(T) - 1):\n            T_new[i] = T[i] + dt * alpha \/ dx**2 * (\n                T[i + 1] - 2 * T[i] + T[i - 1]\n            )\n        T = T_new\n        history.append(T.copy())\n    \n    return x, np.array(history)\n\nx, history = heat_solver(alpha=1.0, L=1.0, dt=0.0001, steps=1000)\n\nplt.imshow(history, aspect=\"auto\", extent=[0, 1, 1000, 0])\nplt.xlabel(\"Position\")\nplt.ylabel(\"Time step\")\nplt.colorbar(label=\"Temperature\")\nplt.show()\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>explizite und implizite Stabilit\u00e4t verstehen.<\/li>\n<li>Implementierung der Randbedingung.<\/li>\n<li>Visualisierung diffusiver Felder.<\/li>\n<li>Grundlegende Stabilit\u00e4t im CFL-Stil.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Die W\u00e4rmegleichung ist die \u201eHallo Welt\u201c der Simulation. Jedes sp\u00e4tere Projekt mit Diffusion, Wellen oder Phasenfeldmodellierung baut auf \u00e4hnlichen numerischen Mustern auf.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Wechseln Sie zu einem vollst\u00e4ndig impliziten Schema oder Crank-Nicon-Niconson und vergleichen Sie die Stabilit\u00e4t.<\/li>\n<li>F\u00fcgen Sie einen Quellbegriff wie ein Heizelement hinzu.<\/li>\n<li>Exportieren Sie die Ergebnisse zur Analyse in CSV.<\/li>\n<\/ul>\n<h3>2. Modell der SIR-Epidemie<\/h3>\n<p>Schwierigkeitsgrad: Anf\u00e4nger<br> Zeit: 2\u20133 Wochen<\/p>\n<p>Was Sie simulieren werden: Das klassische Kompartimentmodell der Verbreitung von Krankheiten: anf\u00e4llig, infekti\u00f6s und erholt. Dieses Modell erfasst epidemische Kurven, Herdenimmunit\u00e4t und die Grundreproduktionszahl ohne r\u00e4umliches Gitter.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>dS\/dt = -\u03b2SI\/N\ndI\/dt = \u03b2SI\/N - \u03b3I\ndR\/dt = \u03b3I\n<\/code><\/pre>\n<p>Hier ist <code>\u03b2<\/code> die \u00dcbertragungsrate, <code>\u03b3<\/code> die Wiederfindungsrate und <code>N = S + I + R<\/code> die Population.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>SciPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport matplotlib.pyplot as plt\nfrom scipy.integrate import odeint\n\ndef sir_model(y, t, beta, gamma):\n    S, I, R = y\n    N = S + I + R\n    dS = -beta * S * I \/ N\n    dI = beta * S * I \/ N - gamma * I\n    dR = gamma * I\n    return [dS, dI, dR]\n\nbeta, gamma = 0.5, 0.1\ny0 = [990, 10, 0]\nt = np.linspace(0, 100, 100)\n\nsolution = odeint(sir_model, y0, t, args=(beta, gamma))\n\nplt.plot(t, solution)\nplt.legend([\"Susceptible\", \"Infectious\", \"Recovered\"])\nplt.xlabel(\"Time\")\nplt.ylabel(\"Population\")\nplt.show()\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>L\u00f6sungssysteme von Oden.<\/li>\n<li>Verst\u00e4ndnis <code>R\u2080 = \u03b2\/\u03b3<\/code> .<\/li>\n<li>Interpretation von Epidemie-Spitzen und endg\u00fcltigem Gr\u00f6\u00dfenverhalten.<\/li>\n<li>Aufzeichnen von Phasenebenenverhalten wie infekti\u00f6se versus anf\u00e4llige Population.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Es hat reale Relevanz bei minimaler Komplexit\u00e4t. Das Modell ist einfach genug zu verstehen, aber reich genug, um sinnvolle Experimente zu unterst\u00fctzen.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>F\u00fcgen Sie Altersstruktur mit mehreren F\u00e4chern hinzu.<\/li>\n<li>Impfung als zeitabh\u00e4ngigen Parameter einschlie\u00dfen.<\/li>\n<li>Vergleichen Sie Euler-, RK4- und Scipy-Ode-Solver.<\/li>\n<\/ul>\n<h3>3. Wellengleichung auf einer Zeichenfolge<\/h3>\n<p>Schwierigkeitsgrad: Anf\u00e4nger<br> Zeit: 3\u20134 Wochen<\/p>\n<p>Was Sie simulieren: eine vibrierende Saite, eine Drummembran oder eine Schallwelle. Die Wellengleichung f\u00fchrt Ausbreitung, Reflexion und stehende Wellen ein.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202\u00b2u\/\u2202t\u00b2 = c\u00b2 \u2207\u00b2u\n<\/code><\/pre>\n<p>Randbedingungen k\u00f6nnen fest, frei oder gemischt sein.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport matplotlib.pyplot as plt\n\nc, L = 1.0, 1.0\ndx = L \/ 100\nx = np.linspace(0, L, 101)\ndt = 0.001\nsteps = 5000\n\nu = np.zeros((101, steps))\nu[:, 0] = np.sin(np.pi * x \/ L)\n\n# First step approximation\nu[:, 1] = u[:, 0]\n\nfor n in range(1, steps - 1):\n    for i in range(1, 100):\n        u[i, n + 1] = (\n            2 * u[i, n]\n            - u[i, n - 1]\n            + (c * dt \/ dx)**2 * (u[i + 1, n] - 2 * u[i, n] + u[i - 1, n])\n        )\n\nplt.plot(x, u[:, 1000])\nplt.xlabel(\"Position\")\nplt.ylabel(\"Displacement\")\nplt.show()\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Finite Differenz-Zeitschritt f\u00fcr PDEs zweiter Ordnung.<\/li>\n<li>CFL-Zustands- und Stabilit\u00e4tsanalyse.<\/li>\n<li>Wellenreflexion und stehende Wellen.<\/li>\n<li>Visualisierung mit Animation oder Zeitschnappsch\u00fcssen.<\/li>\n<\/ul>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Probieren Sie verschiedene Anfangsbedingungen wie ein Gau\u00dfsches Wellenpaket aus.<\/li>\n<li>F\u00fcgen Sie reflektierende oder absorbierende Grenzen hinzu.<\/li>\n<li>Vergleichen Sie die numerische L\u00f6sung mit einer analytischen L\u00f6sung.<\/li>\n<\/ul>\n<h2 id=\"intermediate-projects\">Zwischenprojekte<\/h2>\n<p>Diese Projekte erfordern einen st\u00e4rkeren Hintergrund in der numerischen Analyse, der linearen Algebra oder der Physik. Der Code umfasst iterative Solver, adaptive Methoden oder komplexere Modelle.<\/p>\n<h3>4. Jacobi- und Krylov-Iteration f\u00fcr lineare Systeme<\/h3>\n<p>Schwierigkeitsgrad: Mittelstufe<br> Zeit: 4\u20136 Wochen<\/p>\n<p>Was Sie simulieren werden: Iterative L\u00f6sungen f\u00fcr <code>Ax = b<\/code> mit Jacobi, Gauss-Seidel und konjugiertem Gradienten. Dies ist das R\u00fcckgrat vieler PDE-Solver.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>Ax = b\n<\/code><\/pre>\n<p>Hier ist <code>A<\/code>  normalerweise sp\u00e4rlich, und f\u00fcr viele Probleme im Diffusionsstil ist es symmetrisch positiv-definit.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>SciPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nimport scipy.sparse as sp\nimport scipy.sparse.linalg as spla\n\ndef create_1d_laplacian_matrix(n, dx):\n    \"\"\"Create a 1D Laplacian matrix.\"\"\"\n    main = 2.0 * np.ones(n)\n    off = -1.0 * np.ones(n - 1)\n    return sp.diags([off, main, off], [-1, 0, 1], format=\"csr\") \/ dx**2\n\nn = 100\ndx = 0.01\nA = create_1d_laplacian_matrix(n, dx)\nb = np.ones(n)\n\n# Jacobi iteration\nx_jac = np.zeros(n)\nD = A.diagonal()\n\nfor iteration in range(100):\n    r = b - A @ x_jac\n    x_jac = x_jac + r \/ D\n\n# Compare with direct sparse solve\nx_direct = spla.spsolve(A, b)\nerror = np.linalg.norm(x_direct - x_jac)\n\nprint(f\"Jacobi error after 100 iterations: {error:.3e}\")\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Sp\u00e4rliche Matrixdarstellung und -operationen.<\/li>\n<li>Iterative Solver-Konvergenzanalyse.<\/li>\n<li>Vergleich von Jacobi, Gauss-Seidel und konjugiertem Gradienten.<\/li>\n<li>Grundlegende Vorkonditionierungskonzepte.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Jeder PDE-Solver verwendet sp\u00e4rliche lineare Systeme intern. Das Verst\u00e4ndnis iterativer Methoden auf Code-Ebene hilft bei der Entmystifizierung von Tools wie FIPY, Fenics und OpenFoam.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>F\u00fcgen Sie einen diagonalen Vorkonditionierer hinzu.<\/li>\n<li>Vergleichen Sie die Konvergenzraten in 2D- und 3D-Gittern.<\/li>\n<li>Implementieren Sie einen einfachen Multigrid-Zyklus.<\/li>\n<\/ul>\n<h3>5. Molekulare Dynamik mit Potential von Lennard-Jones<\/h3>\n<p>Schwierigkeitsgrad: Mittelstufe<br> Zeit: 4\u20138 Wochen<\/p>\n<p>Was Sie simulieren werden: ein Gas oder eine Fl\u00fcssigkeit von Partikeln, die durch das Lennard-Jones-Potenzial interagieren. Dieses Projekt demonstriert den vollst\u00e4ndigen Zyklus vom Physikmodell bis zur numerischen Integration, Datenanalyse und Visualisierung.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>V(r) = 4\u03b5[(\u03c3\/r)\u00b9\u00b2 - (\u03c3\/r)\u2076]\nF = -\u2207V(r)\n<\/code><\/pre>\n<p>Typische Integrationsverfahren umfassen Geschwindigkeitsverlet- oder Leapfrog-Schemata.<\/p>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code>, <code>h5py<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\ndef lj_force(pos_i, pos_j, sigma=1.0, epsilon=1.0):\n    \"\"\"Compute Lennard-Jones force between two particles.\"\"\"\n    r_vec = pos_j - pos_i\n    r = np.linalg.norm(r_vec)\n    \n    if r == 0:\n        return np.zeros_like(r_vec)\n    \n    inv_r = sigma \/ r\n    force_mag = 24 * epsilon * (2 * inv_r**12 - inv_r**6) \/ r\n    return force_mag * (r_vec \/ r)\n\ndef compute_forces(positions):\n    n = len(positions)\n    forces = np.zeros_like(positions)\n    \n    for i in range(n):\n        for j in range(i + 1, n):\n            f = lj_force(positions[i], positions[j])\n            forces[i] += f\n            forces[j] -= f\n    \n    return forces\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>numerische Integration auf Partikelbasis.<\/li>\n<li>periodische Randbedingungen.<\/li>\n<li>\u00dcberwachung der Energieeinsparung.<\/li>\n<li>radiale Verteilungsfunktionen.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Molecular Dynamics ist ein Tor zu leistungsf\u00e4higem wissenschaftlichem Rechnen. Sobald Sie Lennard-Jones-Partikel verstanden haben, k\u00f6nnen Sie sich zu komplexen Potentialen, grobk\u00f6rniger oder GPU-beschleunigter MD bewegen.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Mit <code>cupy<\/code> oder <code>numba<\/code> auf GPU-Beschleunigung umschalten.<\/li>\n<li>Studienphasen\u00fcberg\u00e4nge durch Temperaturschwankung.<\/li>\n<li>Berechnen Sie die W\u00e4rmeleitf\u00e4higkeit mit den Green-Kubo-Beziehungen.<\/li>\n<\/ul>\n<h3>6. Modell f\u00fcr 2D-Magnetismus<\/h3>\n<p>Schwierigkeitsgrad: Mittelstufe<br> Zeit: 4\u20136 Wochen<\/p>\n<p>Was Sie simulieren werden: Das Ising-Modell ist eines der einfachsten Modelle des Magnetismus und eines der am besten untersuchten Probleme in der statistischen Physik. Es zeigt, wie lokale Regeln makroskopische Phasen\u00fcberg\u00e4nge erzeugen k\u00f6nnen.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>H = -J \u03a3\u1d62\u2c7c s\u1d62s\u2c7c - h \u03a3\u1d62 s\u1d62\nP(\u0394E) = exp(-\u0394E\/kT)\n<\/code><\/pre>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>Matplotlib<\/code>, <code>SciPy<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\ndef metropolis_step(grid, T):\n    \"\"\"Single Metropolis sweep on a 2D Ising grid.\"\"\"\n    L = grid.shape[0]\n    \n    for i in range(L):\n        for j in range(L):\n            site = grid[i, j]\n            neighbors = (\n                grid[(i - 1) % L, j]\n                + grid[(i + 1) % L, j]\n                + grid[i, (j - 1) % L]\n                + grid[i, (j + 1) % L]\n            )\n            dE = 2 * site * neighbors\n            \n            if dE &lt; 0 or np.random.rand() &lt; np.exp(-dE \/ T):\n                grid[i, j] = -site\n    \n    return grid\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Monte-Carlo-Methoden und der Metropolis-Algorithmus.<\/li>\n<li>Phasen\u00fcberg\u00e4nge und kritische Ph\u00e4nomene.<\/li>\n<li>Heuristiken der Energieminimierung.<\/li>\n<li>Visualisierung von aufkommenden Mustern.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Das ISING-Modell verbindet statistische Physik, Rechenmethoden und maschinelles Lernen. Es hat auch ein bekanntes Referenzverhalten, das Validierung erm\u00f6glicht.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Berechnen Sie die W\u00e4rmekapazit\u00e4t und Anf\u00e4lligkeit in der N\u00e4he der kritischen Temperatur.<\/li>\n<li>Studieren Sie verschiedene Gittergeometrien.<\/li>\n<li>Implementieren Sie den Wolff- oder Swendsen-Wang-Cluster-Algorithmus.<\/li>\n<\/ul>\n<h2 id=\"advanced-projects\">Fortgeschrittene Projekte<\/h2>\n<p>Diese Projekte erfordern einen st\u00e4rkeren Hintergrund der numerischen Methoden, Erfahrung mit paralleler Rechenleistung oder spezielles Physikwissen. Sie eignen sich f\u00fcr Arbeits- oder Schlusssteinprojekte.<\/p>\n<h3>7. FIPY-basierter Diffusionsl\u00f6ser<\/h3>\n<p>Schwierigkeitsgrad: Advanced<br> Zeit: 8\u201312 Wochen<\/p>\n<p>Was Sie simulieren: Ein realistisches Diffusionsproblem mit FIPY. Dies verbindet PDE-Konzepte und endliche Volumendiskretisierung mit produktiver wissenschaftlicher Software.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202c\/\u2202t = \u2207\u00b7(D\u2207c) + S\n<\/code><\/pre>\n<p>Dies ist eine Diffusionsgleichung mit Quellenbegriffen und Randbedingungen wie Dirichlet, Neumann oder Robin.<\/p>\n<p>Python-Stapel: <code>FiPy<\/code>, <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">from fipy import Grid2D, CellVariable, DiffusionTerm\n\nmesh = Grid2D(nx=50, ny=50, dx=0.1, dy=0.1)\n\nc = CellVariable(mesh=mesh, name=\"concentration\", value=0.0)\nc.constrain(1.0, mesh.facesLeft)\n\neq = DiffusionTerm(coeff=1.0) == 0\n\n# Solve to steady state\neq.solve(var=c)\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Endliche Volumendiskretisierung mit FIPY.<\/li>\n<li>Umgang mit den Randbedingungen von Dirichlet, Neumann und Robin.<\/li>\n<li>Netzqualit\u00e4t und Konvergenzstudien.<\/li>\n<li>Analytische L\u00f6sungen mit numerischen Ergebnissen verbinden.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Wenn Sie professionell in der Computerwissenschaft arbeiten m\u00f6chten, ist es wertvoll, einen endlichen Volumencode wie FIPY zu verwenden und zu erweitern. Dieses Projekt kombiniert die Mesh-Einrichtung, die Begriffsformulierung, die Solver-Konfiguration und die Nachbearbeitung.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>F\u00fcgen Sie Reaktionsbegriffe f\u00fcr Reaktionsdiffusionssysteme oder Turingmuster hinzu.<\/li>\n<li>Vergleichen Sie FIPY-Ergebnisse mit analytischen Benchmark-L\u00f6sungen.<\/li>\n<li>Parallelisieren Sie mit der MPI-Unterst\u00fctzung von FIPY.<\/li>\n<\/ul>\n<h3>8. Monte Carlo f\u00fcr Optionspreise<\/h3>\n<p>Schwierigkeitsgrad: Fortgeschritten<br> Zeit: 6\u201310 Wochen<\/p>\n<p>Was Sie simulieren werden: Monte-Carlo-Methoden im Finanzbereich, einschlie\u00dflich der Preisgestaltung europ\u00e4ischer und amerikanischer Optionen unter Verwendung simulierter Aktienkurspfade. Dies verbindet die Computerwissenschaft mit angewandter Mathematik und quantitativer Finanzierung.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>dS = \u03bcS dt + \u03c3S dW\nV = e^(-rT) E[max(S-K, 0)]\n<\/code><\/pre>\n<p>Python-Stapel: <code>NumPy<\/code>, <code>pandas<\/code>, <code>Matplotlib<\/code>, <code>scipy.stats<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\ndef monte_carlo_option(S0, K, r, sigma, T, num_paths=10000):\n    \"\"\"Price a European call option using Monte Carlo.\"\"\"\n    z = np.random.randn(num_paths)\n    S_final = S0 * np.exp(\n        (r - 0.5 * sigma**2) * T + sigma * np.sqrt(T) * z\n    )\n    \n    payoffs = np.maximum(S_final - K, 0)\n    price = np.exp(-r * T) * np.mean(payoffs)\n    stderr = np.exp(-r * T) * np.std(payoffs) \/ np.sqrt(num_paths)\n    \n    return price, stderr\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Stochastische Simulation und Pfadgenerierung.<\/li>\n<li>Konvergenzanalyse mit Stichprobengr\u00f6\u00dfe.<\/li>\n<li>Varianzreduktionstechniken wie antithetische Varianten und Kontrollvarianten.<\/li>\n<li>Amerikanische Optionspreise mit Monte-Carlo-Methoden mit den kleinsten Quadraten.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Monte-Carlo-Methoden funktionieren in hochdimensionalen Umgebungen, was sie in den Bereichen Finanzen, Materialwissenschaften, Quantenfeldtheorie und Unsicherheitsquantifizierung n\u00fctzlich macht.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Implementieren Sie den Longstaff-Schwartz-Algorithmus f\u00fcr amerikanische Optionen.<\/li>\n<li>Studieren Sie Griechen wie Delta, Gamma und Vega.<\/li>\n<li>Vergleichen Sie die Ergebnisse mit der analytischen L\u00f6sung von Black-Scholes.<\/li>\n<\/ul>\n<h3>9. Erstarrung und Phasenfeldsimulation<\/h3>\n<p>Schwierigkeitsgrad: Fortgeschritten<br> Zeit: 12\u201316 Wochen<\/p>\n<p>Was Sie simulieren werden: Die Phasenfeldmethode wird h\u00e4ufig in der computergest\u00fctzten Materialwissenschaft f\u00fcr die Entwicklung der Mikrostruktur verwendet, einschlie\u00dflich Kornwachstum, dendritischer Erstarrung und Niederschlagsbildung.<\/p>\n<p>Mathe-Modell:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t = -\u0393 [\u03c6(1-\u03c6)\u00b2 + F'(\u03c6) + \u03bb\u2207\u03c6\u00b7\u2207\u03c6]\n<\/code><\/pre>\n<p>Hier ist <code>\u03c6<\/code> das Phasenfeld, <code>\u0393<\/code> Mobilit\u00e4t und <code>F(\u03c6)<\/code> das Doppeltiegelpotential.<\/p>\n<p>Python-Stapel: <code>FiPy<\/code>, <code>NumPy<\/code>, <code>Matplotlib<\/code><\/p>\n<p>Code-Vorlage:<\/p>\n<pre><code class=\"language-python\">from fipy import Grid2D, CellVariable, TransientTerm, DiffusionTerm\n\nmesh = Grid2D(nx=100, ny=100, dx=1.0, dy=1.0)\n\nphi = CellVariable(mesh=mesh, name=\"phase_field\", value=0.0)\n\n# Example starter equation structure:\n# TransientTerm == diffusion + source-like phase evolution term\neq = TransientTerm(var=phi) == DiffusionTerm(coeff=1.0, var=phi)\n\nfor step in range(100):\n    eq.solve(var=phi, dt=0.01)\n<\/code><\/pre>\n<p>Lernergebnisse:<\/p>\n<ul>\n<li>Phasenfeldformulierung und Doppeltiegelpotentiale.<\/li>\n<li>Schnittstellenbreite und Mobilit\u00e4tsparameter.<\/li>\n<li>Kopplung mit Diffusionsgleichungen.<\/li>\n<li>Vergleich mit analytischen Erstarrungsl\u00f6sungen oder Literatur-Benchmarks.<\/li>\n<\/ul>\n<p>Warum dieses Projekt: Phasenfeldsimulation wird weltweit in der materialwissenschaftlichen Forschung eingesetzt. Es verbindet Mikrostruktur, Thermodynamik und numerische Methoden.<\/p>\n<p>Empfohlene Erweiterungen:<\/p>\n<ul>\n<li>Koppeln Sie das Phasenfeld mit Diffusion f\u00fcr Modelle mit gel\u00f6stem Einfangen.<\/li>\n<li>Untersuchen Sie dendritische Wachstumsmuster unter verschiedenen Bedingungen der Unterk\u00fchlung.<\/li>\n<li>Vergleichen Sie die Ergebnisse mit experimentellen Aufnahmen aus der Literatur.<\/li>\n<\/ul>\n<h2 id=\"how-to-choose\">So w\u00e4hlen Sie Ihr Projekt aus<\/h2>\n<p>Nicht jedes Projekt ist f\u00fcr jeden Sch\u00fcler richtig. Verwenden Sie das folgende Framework, um einen realistischen Ausgangspunkt auszuw\u00e4hlen.<\/p>\n<h3>Passen Sie Ihren Hintergrund an<\/h3>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Sie wissen derzeit<\/th>\n<th>Empfohlenes Startprojekt<\/th>\n<\/tr>\n<tr>\n<td>Python-Grundlagen, kein numerischer Hintergrund<\/td>\n<td>W\u00e4rmegleichung<\/td>\n<\/tr>\n<tr>\n<td>Python plus einf\u00fchrende numerische Analyse<\/td>\n<td>SIR-Modell oder Wellengleichung<\/td>\n<\/tr>\n<tr>\n<td>ODE\/PDE-Kurs und lineare Algebra<\/td>\n<td>Jacobi-Iteration oder molekulare Dynamik<\/td>\n<\/tr>\n<tr>\n<td>Statistische Mechanik oder fortgeschrittene Mathematik<\/td>\n<td>Modell ising<\/td>\n<\/tr>\n<tr>\n<td>Ziele auf Forschungs- oder Abschlussarbeit<\/td>\n<td>FIPY-Diffusion oder Phasenfeldsimulation<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h3>Das Wichtigste<\/h3>\n<ol>\n<li>Mathematische Voraussetzungen. Springen Sie nicht zur Phasenfeldsimulation, wenn Sie eine PDE noch nicht numerisch gel\u00f6st haben.<\/li>\n<li>Programmierkomfort. Wenn Sie neu bei Python sind, beginnen Sie mit der W\u00e4rmegleichung und bauen Sie von dort aus.<\/li>\n<li>Zeithorizont. Ein Semesterprojekt braucht einen klaren Spielraum. W\u00e4hlen Sie etwas aus, das in 4 bis 8 Wochen zu einem aussagekr\u00e4ftigen Ergebnis f\u00fchren kann.<\/li>\n<li>Karriereziele. Die Materialwissenschaft weist auf Phasenfeld- oder Molekulardynamik hin. Finanzpunkte in Richtung Monte Carlo. Forschungssoftware zeigt auf FIPY- oder iterative Solver.<\/li>\n<\/ol>\n<h3>H\u00e4ufige Fehler, die Sch\u00fcler machen<\/h3>\n<ol>\n<li>Ein Projekt ausw\u00e4hlen, das zu ehrgeizig ist. Ein vollst\u00e4ndiger 3D-Phasenfeldl\u00f6ser in vier Wochen ist nicht realistisch. Scope es mit einfachen Parametern auf 2D.<\/li>\n<li>\u00dcberspringen von analytischen L\u00f6sungsvergleich. Vergleichen Sie numerische Ergebnisse immer mit einer bekannten L\u00f6sung, wenn m\u00f6glich.<\/li>\n<li>Ignorieren der CFL-Bedingung. Viele Anf\u00e4ngersimulationen scheitern, weil der Zeitschritt zu gro\u00df ist.<\/li>\n<li>nicht die Versionskontrolle verwenden. Git ist nicht optional f\u00fcr ein ernstes Projekt. Begehen Sie regelm\u00e4\u00dfig, damit Sie sich von Fehlern erholen k\u00f6nnen.<\/li>\n<\/ol>\n<h2 id=\"what-to-skip\">Was solltest du \u00fcberspringen?<\/h2>\n<p>Nicht alle Rechenprojekte sind f\u00fcr die Lernsimulation gleicherma\u00dfen n\u00fctzlich. Vermeiden Sie diese, es sei denn, Sie haben einen bestimmten Grund.<\/p>\n<ul>\n<li>Generische \"Hello World\" -Simulationen. Wenn es sich bei einem Projekt nicht um ein PDE, ein Naturschutzgesetz, einen numerischen Solver oder ein stochastisches Modell handelt, handelt es sich m\u00f6glicherweise nicht um ein Computer-Science-Projekt.<\/li>\n<li>Projekte, die am Anfang spezielle Hardware erfordern. Beginnen Sie nicht mit der GPU-Molekulardynamik, wenn Sie die CPU-Molekulardynamik noch nicht erstellt haben.<\/li>\n<li>\u00dcberm\u00e4\u00dfig komplexe Multiphysik-Kopplung. Beginnen Sie mit Einzel-Physik-Solvern. Multiphysische Kopplung ist ein Forschungsthema, kein ideales erstes Studentenprojekt.<\/li>\n<\/ul>\n<h2 id=\"references\">Wo finden Sie Referenzcode?<\/h2>\n<p>Mehrere Universit\u00e4tskurse und Open-Source-Projekte bieten n\u00fctzliche Referenzimplementierungen:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/CompPhysics\/ComputationalPhysics\">Universit\u00e4t der Oslo Computational Physics<\/a> \u2014 Kursmaterialien mit Projektbeschreibungen und L\u00f6sungen.<\/li>\n<li><a href=\"https:\/\/github.com\/aiidateam\/aiida-core\/wiki\/GSoC-2025-Projects\">AIIDA GSOC-Projekte <\/a> - Ideen f\u00fcr Studentenprojekte in der computergest\u00fctzten Materialwissenschaft.<\/li>\n<li><a href=\"https:\/\/www.fipy.org\/\">Fipy-Dokumentation<\/a> \u2013 Offizielle Tutorials und Beispiele f\u00fcr die Finite Volume-Bibliothek.<\/li>\n<\/ul>\n<p>Verwenden Sie diese Ressourcen als Ausgangspunkte und nicht als Endpunkte. Das eigentliche Lernen erfolgt, wenn Sie den Code selbst schreiben und debuggen.<\/p>\n<h2 id=\"conclusion\">Letzte Gedanken<\/h2>\n<p>Der Unterschied zwischen dem Lesen \u00fcber numerische Methoden und dem Schreiben einer Simulation ist enorm. Sie k\u00f6nnen viele PDE-Lehrb\u00fccher lesen und verstehen immer noch nicht, was passiert, wenn eine Diffusionsgleichung mit einem zu gro\u00dfen Zeitschritt diskretisiert wird.<\/p>\n<p>W\u00e4hlen Sie ein Projekt aus, beginnen Sie mit der Codierung und iterieren Sie. Ein paar Wochen Debugging k\u00f6nnen mehr als Monate passive Vorlesungen unterrichten.<\/p>\n<p>Wenn Sie Hilfe bei einem bestimmten Simulationsproblem ben\u00f6tigen, wie z. Gute Unterst\u00fctzung kann Ihnen helfen, h\u00e4ufige Fallen zu vermeiden, w\u00e4hrend Sie die Arbeit selbst erledigen.<\/p>\n<h2 id=\"related-guides\">Verwandte Anleitungen<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\">Wann verwendet werden FEM, FVM oder FDM: Ein praktischer Vergleich f\u00fcr Anf\u00e4nger <\/a> - Verstehen der Diskretisierungsmethoden, bevor Sie mit dem Codieren beginnen.<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\">Mesh-Qualit\u00e4ts- und Konvergenzstudien: Ein praktischer Leitfaden <\/a> - Stellen Sie sicher, dass Ihr Gitter Ihre Simulation nicht ruiniert.<\/li>\n<li><a href=\"https:\/\/matforge.org\/python-debugging-scientific-code-print-statements-profiling\/\"> Python-Debugging f\u00fcr wissenschaftlichen Code: Von Druckanweisungen bis Profiling <\/a> - Debuggen von Strategien f\u00fcr numerischen Code.<\/li>\n<li><a href=\"https:\/\/matforge.org\/computational-materials-science-frameworks-moose-vs-prisms-pf-vs-openphase\/\">Computational materials Science Frameworks: Moose vs Prisms-PF VS OpenPhase <\/a> - Wenn Sie \u00fcber Python hinaus m\u00f6chten.<\/li>\n<\/ul>\n"},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 10<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Schl\u00fcssel zum Mitnehmen Die kuratierten Projektideen decken Anf\u00e4nger, Mittelstufe und Fortgeschrittene mit Schwerpunkt Simulation und Computerwissenschaften ab. Schwierigkeitsgrade spiegeln die Voraussetzungen, die mathematische Komplexit\u00e4t und die erwartete Zeitinvestition wider. Codevorlagen sind f\u00fcr jedes Projekt enthalten, damit die Sch\u00fcler schnell mit dem Bauen beginnen k\u00f6nnen. Lernergebnisse zeigen, was jedes Projekt lehrt. Eine Roadmap f\u00fcr Skills-to-Projects hilft [&hellip;]<\/p>\n","protected":false,"raw":""},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"de_DE","_original_post":"https:\/\/matforge.org\/?p=355","iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-889","post","type-post","status-publish","format-standard","hentry","category-simulation-modeling-projects","de-DE"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ideen f\u00fcr Computerwissenschaften f\u00fcr Studierende<\/title>\n<meta name=\"description\" content=\"Erkunden Sie Ideen f\u00fcr Computerwissenschaften und Simulationsprojekte f\u00fcr Sch\u00fcler mit Schwierigkeitsgraden, Python-Code-Vorlagen, Lernergebnissen und Roadmap.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ideen f\u00fcr Computerwissenschaften f\u00fcr Studierende\" \/>\n<meta property=\"og:description\" content=\"Erkunden Sie Ideen f\u00fcr Computerwissenschaften und Simulationsprojekte f\u00fcr Sch\u00fcler mit Schwierigkeitsgraden, Python-Code-Vorlagen, Lernergebnissen und Roadmap.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-30T12:23:21+00:00\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Studentenprojektideen f\u00fcr Computational Science and Simulation: Kuratierte Liste mit Codevorlagen\",\"datePublished\":\"2026-07-30T12:23:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/\"},\"wordCount\":2076,\"commentCount\":0,\"articleSection\":[\"Simulation & amp; Modellierungsprojekte\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/\",\"name\":\"Ideen f\u00fcr Computerwissenschaften f\u00fcr Studierende\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-07-30T12:23:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"description\":\"Erkunden Sie Ideen f\u00fcr Computerwissenschaften und Simulationsprojekte f\u00fcr Sch\u00fcler mit Schwierigkeitsgraden, Python-Code-Vorlagen, Lernergebnissen und Roadmap.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/student-project-ideas-computational-science-simulation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Studentenprojektideen f\u00fcr Computational Science and Simulation: Kuratierte Liste mit Codevorlagen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\",\"url\":\"https:\\\/\\\/matforge.org\\\/\",\"name\":\"matforge.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matforge.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"caption\":\"Elena Markovska\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/elena-markovska\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ideen f\u00fcr Computerwissenschaften f\u00fcr Studierende","description":"Erkunden Sie Ideen f\u00fcr Computerwissenschaften und Simulationsprojekte f\u00fcr Sch\u00fcler mit Schwierigkeitsgraden, Python-Code-Vorlagen, Lernergebnissen und Roadmap.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/","og_locale":"de_DE","og_type":"article","og_title":"Ideen f\u00fcr Computerwissenschaften f\u00fcr Studierende","og_description":"Erkunden Sie Ideen f\u00fcr Computerwissenschaften und Simulationsprojekte f\u00fcr Sch\u00fcler mit Schwierigkeitsgraden, Python-Code-Vorlagen, Lernergebnissen und Roadmap.","og_url":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/","og_site_name":"matforge.org","article_published_time":"2026-07-30T12:23:21+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Elena Markovska","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Studentenprojektideen f\u00fcr Computational Science and Simulation: Kuratierte Liste mit Codevorlagen","datePublished":"2026-07-30T12:23:21+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/"},"wordCount":2076,"commentCount":0,"articleSection":["Simulation & amp; Modellierungsprojekte"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/","url":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/","name":"Ideen f\u00fcr Computerwissenschaften f\u00fcr Studierende","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-07-30T12:23:21+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"description":"Erkunden Sie Ideen f\u00fcr Computerwissenschaften und Simulationsprojekte f\u00fcr Sch\u00fcler mit Schwierigkeitsgraden, Python-Code-Vorlagen, Lernergebnissen und Roadmap.","breadcrumb":{"@id":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/de\/student-project-ideas-computational-science-simulation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/de\/"},{"@type":"ListItem","position":2,"name":"Studentenprojektideen f\u00fcr Computational Science and Simulation: Kuratierte Liste mit Codevorlagen"}]},{"@type":"WebSite","@id":"https:\/\/matforge.org\/#website","url":"https:\/\/matforge.org\/","name":"matforge.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matforge.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","caption":"Elena Markovska"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/elena-markovska\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=889"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/889\/revisions"}],"predecessor-version":[{"id":1019,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/889\/revisions\/1019"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}