Tomas Delgado
About me
Latest Articles
Open-Source-Entwicklung: Beitrag zu FIPY
Reading Time: 7 minutesOpen-Source-Entwicklung ist eine der besten Möglichkeiten, um zu lernen, wie echte Software aufgebaut ist. Es gibt Entwicklern die Möglichkeit, Produktionscode zu lesen, die Projektstruktur zu verstehen, mit Problemen zu arbeiten, Tests zu schreiben, die Dokumentation zu verbessern und mit den Betreuern zu kommunizieren. Für wissenschaftliche Software ist Open-Source-Beitrag besonders wertvoll. Diese Projekte benötigen nicht nur […]
Discontinuous Galerkin-Methoden-Tutorial: Ableitung, Flüsse und Python-Implementierung
Reading Time: 9 minutesSchritt-für-Schritt-Ableitung der diskontinuierlichen Galerkin-Methode, numerischer Flussvergleich und eine vollständige 1D-Implementierung in Python. Erfahren Sie, wann die DG FVM und Continuous FEM übertrifft.
Wie FIPY mit Netzen und Gitterstrukturen umgeht
Reading Time: 10 minutesFIPY ist ein Python-basiertes Framework zum Lösen von partiellen Differentialgleichungen mit der Finite-Volumen-Methode. Es wird üblicherweise für Diffusion, Wärmeübertragung, Phasenfeldmodellierung, Elektrochemie, fluidbezogener Transport und andere Probleme verwendet, die durch Konservierungsgleichungen ausgedrückt werden können. Jede FIPY-Simulation beginnt mit einem Netz. Das Netz definiert die physikalische Domäne, unterteilt sie in Kontrollvolumina, identifiziert die Grenzen zwischen diesen Volumes […]
Multi-Physics-Code-Kopplung ohne Präzise: Alternativen und benutzerdefinierte Ansätze
Reading Time: 7 minutesWenn Sie mit Multiphysik-Simulationen arbeiten, müssen Sie häufig zwei oder mehr spezialisierte Solver koppeln, damit sie während der Berechnung Daten austauschen. Precice ist eine ausgereifte Open-Source-Kopplungsbibliothek für partitionierte Multi-Physik-Simulationen, insbesondere wenn unabhängige Solver wie FIPY, OpenFOAM oder Calculix angeschlossen werden. Aber Precice ist nicht immer eine Option. Sie können in einer Umgebung arbeiten, in der […]
Periodische, symmetrische und Robin-Randbedingungen: Advanced FIPY-Muster
Reading Time: 8 minutesSchlüssel zum Mitnehmen Periodische Grenzen in FIPY werden am saubersten mit PeriodicGrid -Objekten oder periodischen GMSH-Befehlen anstelle der manuellen Gesichtskopplung implementiert. Symmetrische Grenzen sind Null-Fluss-Neumann-Bedingungen, die auf Symmetrieebenen angewendet werden. Sie sind keine separate FIPY-Kategorie, sondern eine physikalische Verwendung von Standard-Randbedingungsmustern. Robin-Grenzen kombinieren Wert- und Flussbeschränkungen. Sie können mit ImplicitRobinSource, ImplicitSourceTerm oder einem FaceVariable Divergenz-Ansatz […]
Anisotrope Netzanpassung für advektionsdominierte Strömungen
Reading Time: 13 minutesErfahren Sie, warum die anisotrope Netzanpassung die Freiheitsgrade um 4–30 × für advektionsdominierte Strömungen verringert. Deckt metrische Tensoren, Fehlerschätzer und praktische Implementierung ab.
Domänenzerlegung für parallele PDE-Solver: Additive Schwarz, Überlappungsmethoden und Python-Implementierung
Reading Time: 10 minutesTL; DR – Was Sie wissen müssen Domain-Dekomposition teilt ein Simulationsraster in überlappende Subdomains auf, damit jeder MPI-Rang sein lokales Stück unabhängig lösen kann. Additiver Schwarz (ASM) ist die einfachste Form – Sie lösen lokal und fügen Korrekturen hinzu. Es funktioniert hervorragend für kleine Subdomain-Zählungen, scheitert jedoch im Maßstab. Eingeschränkter Zusatz Schwarz (RAS) Behebt die […]
Adaptives Zeitschritt für PDE-Solver: Fehlerschätzung und CFL
Reading Time: 11 minutesDas adaptive Zeitschritt passt ΔT dynamisch basierend auf dem geschätzten Fehler an. Erlernen Sie eingebettete RK-Paare, BDF-Fehlerschätzung, CFL-Einschränkungen und FIPY-Implementierung.
Validierung und Verifikation für PDE-Simulationen: ein praktischer Rahmen
Reading Time: 9 minutesValidierung und Verifizierung (V&V) sind wesentliche Qualitätssicherungsprozesse für PDE-Simulationen. Die Verifizierung stellt sicher, dass Ihr Code die Gleichungen richtig löst (das Lösen der Gleichungen richtig). Die Validierung bestätigt, dass Ihr Modell die reale Physik (Lösen der richtigen Gleichungen) genau darstellt. Ein robustes V&V-Framework kombiniert die Code-Verifizierung über Methoden wie die Methode der hergestellten Lösungen, die […]
Lesen und Verstehen der FIPY-Dokumentation
Reading Time: 4 minutesWissenschaftliche Rechenwerkzeuge sind leistungsstark, aber oft einschüchternd, insbesondere für Studenten und Forscher, denen sie zum ersten Mal begegnen. Ein solches Tool ist FIPY, eine Python-basierte Bibliothek, die zum Lösen von partiellen Differentialgleichungen (PDEs) unter Verwendung der Finite-Volumen-Methode entwickelt wurde. FIPY wird in der computergestützten Materialwissenschaft, der Fluiddynamik, der Elektrochemie und der Phasenfeldmodellierung weit verbreitet. Viele […]
Julian-Grenzelementcode: Features, Anwendungen und Modellierungskontext
Reading Time: 13 minutesAnmerkung des Herausgebers: Diese technische Übersicht wurde aus archivierten Materialien und moderner Grenzelementmethodenliteratur rekonstruiert, um den historischen und methodischen Kontext des Julian Solver zu erhalten. Der Julian Boundary Element Code ist ein Open-Source-Berechnungstool, das zur Lösung technischer und physikalischer Probleme mit der Boundary-Element-Methode (BEM) entwickelt wurde. Ursprünglich von Adam Powell und Yi-Cheung Lok entwickelt, wurde […]
Verwalten von PDE-Problemen in großem Maßstab: Strategien, Solver und HPC-Fallstudien
Reading Time: 3 minutesPartielle Differentialgleichungen (PDES) stehen im Zentrum des wissenschaftlichen Rechnens. Sie beschreiben Wärmediffusion, Flüssigkeitsfluss, strukturelle Verformung, elektromagnetische Felder, chemische Reaktionen und Klimadynamik. Mit zunehmender Rechenleistung hat auch der Ehrgeiz der simulationsbasierten Wissenschaft zugenommen. Forscher lösen jetzt routinemäßig PDE-Systeme mit Millionen oder Milliarden Unbekannten und koppeln mehrere physikalische Prozesse über räumliche und zeitliche Skalen hinweg. Die Bewältigung […]
Simulationsergebnisse effektiv visualisieren
Reading Time: 3 minutesSimulationsmodelle können große Datenmengen generieren. Differentialgleichungen erzeugen Zeitreihen mit Tausenden von Punkten. Finite-Elemente-Modelle geben mehrdimensionale räumliche Felder aus. Monte-Carlo-Simulationen liefern Verteilungen über Tausende von Läufen. Ohne eine effektive Visualisierung bleiben diese Ergebnisse undurchsichtig und schwer zu interpretieren. Visualisierung ist kein nachträglicher Gedanke – sie ist Teil des Modellierungsprozesses. Klare Grafiken zeigen Trends auf, enthüllen numerische […]
Verwenden von FIPY zur Phasenfeldmodellierung
Reading Time: 4 minutesDie Phasenfeldmodellierung ist ein leistungsfähiger rechnerischer Ansatz zur Simulation der mikrostrukturellen Entwicklung in Materialien ohne explizite Verfolgung von Schnittstellen. Anstelle von scharfen Grenzen werden Grenzflächen als glatte Übergangsbereiche dargestellt, die durch partielle Differentialgleichungen bestimmt werden. Dies macht Phasenfeldmethoden besonders gut für Probleme mit komplexen Schnittstellenbewegungen, Topologieänderungen und mehrphasigen Wechselwirkungen geeignet. FIPY, ein Open-Source-Python-Framework zur Lösung […]
Best Practices for Maintaining Scientific Code
Reading Time: 8 minutesWissenschaftlicher Code beginnt oft als schnelles Skript. Ein Forscher muss einen Datensatz bereinigen, eine Simulation ausführen, ein Modell testen, eine Zahl generieren oder eine Hypothese überprüfen. Der Code kann zunächst für eine Person und eine unmittelbare Aufgabe geschrieben werden. Im Laufe der Zeit kann dasselbe Skript Teil eines veröffentlichten Papiers, einer Dissertation, eines Labor-Workflows, eines […]
Tracking-Code-Änderungen und Updates in FIPY
Reading Time: 7 minutesFIPY wird häufig in Forschungs-Workflows verwendet, in denen kleine Änderungen der Software wichtig sind. Eine neue Version kann Dokumentationsaktualisierungen, Abhängigkeitseinstellungen, Solver-bezogene Korrekturen, Beispiele, Leistungshinweise oder Änderungen enthalten, die sich auf die Konfiguration einer Simulation auswirken. Für gelegentliches Experimentieren können diese Updates geringfügig erscheinen. Für veröffentlichte Forschung, Lehrmaterial oder langjährige Modellierungsprojekte können sie Teil der Reproduzierbarkeitsaufzeichnung […]
Leistungsprofilierung und -optimierung für Python PDE-Solver: Ein praktischer Leitfaden
Reading Time: 10 minutesDie Leistungsoptimierung für Python PDE-Solver folgt einer einfachen Regel: Profile zuerst, später optimieren. Verwenden Sie Tools wie cProfile und line_profiler, um tatsächliche Engpässe zu identifizieren – typischerweise spärliche Matrixoperationen, Speicherzuweisung oder algorithmische Komplexität -, bevor Sie gezielte Korrekturen anwenden. Gemeinsame Gewinne ergeben sich aus: Auswahl optimaler spärlicher Matrixformate (CSR für Lesevorgänge, CSC für Schreibvorgänge), Nutzung […]
Erweitern von FIPY mit benutzerdefinierten Modulen
Reading Time: 7 minutesFIPY ist am nützlichsten, wenn Sie die Behandlung als Sammlung von isolierten Beispielscripts nicht mehr ausführen und es als flexibles Framework für die Erstellung eigener PDE-Workflows verwenden. Diese Verschiebung ist wichtig, da reale Simulationsprojekte selten lange einfach bleiben. Ein Modell, das als eine Gleichung auf einem Netz beginnt, wächst häufig zu einem System mit wiederverwendbaren […]
Visit vs Paraview: Auswahl des richtigen Werkzeugs für Ihre Simulationsdaten
Reading Time: 8 minutesSowohl Visit als auch ParaView sind Open-Source-Parallelvisualisierungstools, die auf VTK basieren und Terascale-Datasets verarbeiten können. ParaView zeichnet sich durch Pipeline-basierte Analysen aus, hat eine größere Community und lässt sich eng mit technischen Solvern wie OpenFoam integrieren. Visit bietet häufig eine intuitivere Benutzeroberfläche für schnelles Plot und stärkere Unterstützung für molekulare Dynamikdaten. Wählen Sie basierend auf […]
Reproduzierbare Forschungsworkflows: Docker und Conda für Simulationsprojekte
Reading Time: 9 minutesReproduzierbare Recherche-Workflows stellen sicher, dass die Simulationsergebnisse von anderen (oder Ihrem zukünftigen Selbst) mithilfe derselben Daten-, Code- und Rechenumgebung exakt neu erstellt werden können. Docker Bietet eine vollständige Containerisierung auf Systemebene für maximale Konsistenz über Plattformen hinweg, während conda ein leichtes Paket- und Umgebungsmanagement bietet, das ideal für Python-basiertes wissenschaftliches Computing ist. Für Simulationsprojekte empfehlen […]
Das wissenschaftliche Python-Ökosystem: Navigieren in Scipy, Numpy, Sympy und darüber hinaus
Reading Time: 8 minutesSchlüssel zum Mitnehmen Numpy ist das Fundament. Es bietet schnelle mehrdimensionale Arrays und die Operationen, auf denen die meisten wissenschaftlichen Python-Bibliotheken aufbauen. Scipy sitzt auf Numpy und bietet hochrangige wissenschaftliche Routinen, einschließlich Optimierung, Integration, Interpolation, linearer Algebra und Statistik. Sympy ist reine Python und unterstützt symbolische Mathematik, einschließlich exakter Algebra, Kalkül und Gleichung der Gleichung. […]
Erstmals installieren und einrichten von FIPY
Reading Time: 6 minutesFIPY ist ein in Python geschriebener Solver mit partieller Differentialgleichung (PDE) und zum Erstellen, Testen und Ausführen von PDE-basierten Modellen mit einem sauberen, skriptfähigen Workflow. Wenn Sie es zum ersten Mal installieren, sollte Ihr Hauptziel ein stabiles, reproduzierbares und einfach zu aktualisierendes Setup sein. In der Praxis bedeutet dies normalerweise, FIPY in seiner eigenen Umgebung […]
Phasenfeldmodellierung mit FIPY: Übersicht der Vorlesungsreihen
Reading Time: 3 minutesDiese Vorlesungsreihe führt die Phasenfeldmethode mit FIPY als praktischen Rechenrahmen ein. Der Kurs ist so strukturiert, dass Leser von grundlegenden numerischen Konzepten bis zu fortgeschrittenen Phasenfeldanwendungen wie Erstarrungs- und Multiphysik-Generalisierungen führen. Das Material ist in sechs Abschnitte unterteilt, die sich jeweils für etwa ein bis zwei Wochen des Studiums erstrecken. Jeder Abschnitt besteht aus mehreren […]
Was ist FIPY und wann sollten Sie es verwenden?
Reading Time: 6 minutesWenn Sie mit Diffusion, Wärmeübertragung, Elektrochemie, Mikrostrukturentwicklung oder einem System arbeiten, das durch partielle Differentialgleichungen (PDEs) bestimmt ist, haben Sie wahrscheinlich das gleiche praktische Dilemma: Sie benötigen einen Solver, der flexibel genug ist, um Ihrem Modell zu entsprechen, aber nicht so schwer, dass jede Änderung zu einem einwöchiger Refactor. Fipy sitzt für viele Forscher und […]
Finite-Volumen-Methode einfach erklärt
Reading Time: 7 minutesDie Finite-Volumen-Methode (FVM) ist eine der praktischsten Möglichkeiten, um partielle Differentialgleichungen (PDES) in der Physik und Technik zu lösen, insbesondere wenn es um die Erhaltung geht. Es wird häufig für Flüssigkeitsfluss, Wärmeübertragung, Diffusion, Elektrochemie und viele gekoppelte Probleme mit der „Multiphysik“ verwendet. Das Beste daran ist, dass die Kernidee nicht kompliziert ist: Anstatt an Punkten […]
Arbeiten Sie Ihr erstes FIPY-Beispiel an
Reading Time: 4 minutesFIPY ist ein Python-basiertes Framework zur Lösung von partiellen Differentialgleichungen (PDES) unter Verwendung der Finite-Volumen-Methode. Wenn Sie neu bei FIPY sind, besteht der schnellste Weg, um es zu erhalten, darin, ein kleines Beispiel End-to-End auszuführen und zu verstehen, wofür jeder Code verantwortlich ist. In diesem Tutorial erstellen Sie eine minimale 1D-Diffusionssimulation (denken Sie: Wärmeausbreitung durch […]
Lösen von Diffusionsgleichungen mit FIPY
Reading Time: 6 minutesDie Diffusion ist eine der intuitivsten partiellen Differentialgleichungen (PDES), die Sie simulieren können: Ein scharfer Peak breitet sich aus, ein steiler Schritt glättet sich in einen sanften Übergang und Gradienten verschwinden allmählich. Wenn Sie FIPY lernen, ist die Diffusion auch einer der besten Ausgangspunkte, da sie den FIPY-Kernworkflow sauber abbildet: Mesh → Variable → Gleichung […]
Randbedingungen: Theorie und Umsetzung in FIPY
Reading Time: 6 minutesRandbedingungen sind die „Regeln an den Rändern“ einer Simulationsdomäne. Wenn Ihre PDE beschreibt, was im Netz passiert, beschreiben Randbedingungen, was die Welt außerhalb des Netzes damit antut (oder nicht damit). In der Praxis bestimmen sie häufig, ob Ihre Lösung körperlich aussagekräftig, stabil und reproduzierbar ist. Wenn Sie jemals eine Diffusions- oder Wärmegleichung durchgeführt haben und […]
Die Kernarchitektur von FIPY verstehen
Reading Time: 5 minutesFIPY ist ein in Python geschriebener Solver mit partieller Differentialgleichung (PDE) mit endlichem Volumen, der es Forschern und Ingenieuren ermöglicht, Modelle so auszudrücken, dass sie der zugrunde liegenden Physik genau folgt. Viele Benutzer beginnen mit Beispielen oder Anpassen von Snippets. Die reale Produktivität ergibt sich jedoch aus dem Verständnis, wie FIPY intern strukturiert ist und […]