Ein Vorläufer des Tutorials ist die Erstellung eines patientenspezifischen Vaskulaturmodells. In dieser Demo wurden die Werkzeuge Materialise Mimics, 3D Systems Geomagic Design X und Altair HyperMesh verwendet, um ein Tetraedervolumennetz aus MRA-Daten zu generieren.
1. Generieren Sie Gefäß-Mittellinien für das Modell
2. Datenaufbau in Visualisierungssoftware
3. 4D-Flow-MRT-Daten mit dem volumetrischen Netzraster neu zuordnen und Rauschen löschen
4. Bestimmen Sie die Grenzbedingungen für ein- und auslassendes Durchfluss
5. CFD-Simulationen einrichten
Quelle: Joseph C. Muskat, Vitaliy L. Rayz, und Craig J. Goergen, Weldon School of Biomedical Engineering, Purdue University, West Lafayette, Indiana
D…
Ein Vorläufer des Tutorials ist die Erstellung eines patientenspezifischen Vaskulaturmodells. In dieser Demo wurden die Werkzeuge Materialise Mimics, 3D Systems Geomagic Design X und Altair HyperMesh verwendet, um ein Tetraedervolumennetz aus MRA-Daten zu generieren.
1. Generieren Sie Gefäß-Mittellinien für das Modell
2. Datenaufbau in Visualisierungssoftware
3. 4D-Flow-MRT-Daten mit dem volumetrischen Netzraster neu zuordnen und Rauschen löschen
4. Bestimmen Sie die Grenzbedingungen für ein- und auslassendes Durchfluss
5. CFD-Simulationen einrichten
Computational Fluid Dynamics Simulationen werden verwendet, um den Blutfluss in den Gefäßen des Patienten zu analysieren und so Diagnostik und Behandlung zu steuern. Computational Fluid Dynamics (CFD) verwendet numerische Analysemethoden, um die Strömung von Flüssigkeiten zu modellieren und realistische Bedingungen für viele verschiedene Strömungsszenarien zu simulieren, z. B. die Strömung um ein Hochgeschwindigkeitsflugzeug, durch komplexe Rohrleitungsnetze und innerhalb unseres Herz-Kreislauf-Systems.
In der medizinischen Anwendung werden verschiedene bildgebende Verfahren eingesetzt, um Blutgefäßgeometrien zu erhalten. Anschließend werden CFD-Simulationen durchgeführt, die zur Vorhersage des Krankheitsverlaufs und zur Modellierung von Behandlungsszenarien für Gefäßfunktionsstörungen, einschließlich koronarer Herzkrankheit, arteriovenöser Malformationen und Aneurysmen, verwendet werden.
In diesem Video werden die Prinzipien von CFD veranschaulicht, gezeigt, wie die Geometrien von Blutgefäßen zur Modellierung der hochauflösenden Hämodynamik verwendet werden, und einige Anwendungen von CFD diskutiert.
Lassen Sie uns zunächst die kardiovaskuläre Dynamik und die Prinzipien von CFD verstehen.
Die kardiovaskuläre Hämodynamik beschreibt die Dynamik des Blutflusses im Herzen, einschließlich durch die linken und rechten Ventrikel und Vorhöfe, sowie den Blutfluss in den Gefäßen vom Herzen zum Rest des Körpers. Komplexe Gefäßnetzwerke können mittels Magnetresonanzangiographie und Velocimetrie oder Röntgenfluoroskopie sichtbar gemacht werden. Diese Methoden beschreiben die Geometrie der Blutgefäße des Patienten und definieren die Randbedingungen der Strömung.
Sobald dies erfasst ist, werden die Blutgeschwindigkeitsdaten in Voxel segmentiert, die Einheiten grafischer Informationen sind, die einen 3D-Raum definieren, und die Phasenverschiebung wird an jedem Voxel ermittelt. Diese hängen vom gyromagnetischen Verhältnis, dem Hauptmagnetfeld, dem angelegten Gradientenfeld und der Position des Spins ab. Dies wiederum hängt von der Anfangsposition des Spins, der Spingeschwindigkeit und der Spinbeschleunigung ab. Tau ist die Zeit, die die vierte Dimension definiert.
Diese Parameter werden durch das MRT definiert und in CFD-Simulationen eingegeben. Die 3D-Strömungsgeschwindigkeit wird durch numerisches Lösen der Navier-Stokes- oder NS-Gleichungen bestimmt. Die NS-Gleichungen sind die maßgeblichen Gleichungen der Fluidbewegung, die zur Bestimmung von Geschwindigkeits- und Druckverteilungen gelöst werden. Sie berücksichtigen die Dichte, die Geschwindigkeit, den Druck und die dynamische Viskosität der Strömung.
Wir werden nun sehen, wie diese Prinzipien der Fluiddynamik auf reale Blutgefäßgeometrien angewendet werden, um hochauflösende CFD-Simulationen zu erstellen.
Bevor Sie beginnen, erstellen Sie ein patientenspezifisches Gefäßmodell aus MRA-Daten. Dies kann mit Hilfe von Open-Source-Software zur Bildsegmentierung erfolgen.
Für diese Demonstration wurde ein tetraedrisches Volumennetz erzeugt. Öffnen Sie nun die Python-GUI des vmtk-Launchers. Geben Sie im PypePad den erforderlichen Dateinamen ein. Dieser einfache Befehl ruft die STL-Eingabedatei vom Desktop ab. Wählen Sie Ausführen, Alle ausführen aus, um die Daten in das Programm zu laden. Es öffnet sich ein neues Fenster, in dem Anweisungen und ein Rendering des Eingabemodells angezeigt werden.
Drehen Sie das Modell, und platzieren Sie den Cursor auf jeder Einlassposition. Drücken Sie die Leertaste, um einen Seed auf einem Einlass zu platzieren. Wiederholen Sie dies für alle Einläufe. Drücken Sie dann Q, um fortzufahren. Wiederholen Sie nun die gleiche Platzierung der Samen für alle Ausgänge. Drücken Sie erneut Q und lassen Sie das Programm laufen. Die Mittelliniendatei wird generiert und auf dem Desktop gespeichert.
Wir sind jetzt bereit, das Open-Source-Visualisierungstool ParaView zu verwenden, um die Voxel mit Flussdaten vom stationären Gewebe zu trennen. Suchen Sie die folgenden Dateien: das patientenspezifische Volumennetz, die Centerline-Dateien und die EnSight.case-Dateien, und klicken Sie auf OK, um die Daten auf die Schnittstelle zu laden. Navigieren Sie zur Tabelle Eigenschaften, und wählen Sie Anwenden aus, um alle Informationen zu laden und zu lesen. Markieren Sie dann das volumetrische Netz im Pipeline-Browser.
Ändern Sie in der Tabelle Eigenschaften den Deckkraftwert auf 0,2 bis 0,5. Die Mittellinien und das geometrische Rendering sollten jetzt sichtbar sein. Gehen Sie als Nächstes zum oberen Menü, wählen Sie Filter, Alphabetisch, Mit Datensatz neu berechnen und legen Sie die Quelle als Volumennetz und die Eingabe als Datei EnSight.case fest. Klicken Sie auf OK, um fortzufahren, und wenden Sie den Filter in der Tabelle Eigenschaften an. Markieren Sie dann die neue Option "Mit Datensatz neu berechnen" und verringern Sie die Deckkraft.
Ändern Sie im oberen Menü die Mittellinien von Fläche in Punkte. Um die Randbedingungen zu bestimmen, gehen Sie auf die rechte Seite der Benutzeroberfläche, und wählen Sie das Werkzeug Geteilte horizontale Ansicht zum Erstellen von Ansichten aus. Wählen Sie die Option Tabellenansicht aus. Wählen Sie im Dropdown-Feld Anzeigen die Datei Mittellinie aus, und durchlaufen Sie die Dateien, indem Sie verschiedene Punkte auswählen, um eine Position innerhalb jedes Einlasses und Auslasses zu identifizieren. Verwenden Sie nun die Tabellenansicht, um den Normalenvektor zwischen zwei Punkten zu berechnen.
Nachdem Sie den Vektor gefunden haben, aktivieren Sie ResampleWithDataset, und wählen Sie Filter, Alphabetisch, Slice aus. Vergewissern Sie sich, dass der Filter Slice angezeigt wird, gehen Sie dann zur Eigenschaftentabelle und legen Sie den Ebenenursprung auf die gleiche X-, Y- und Z-Punktposition für einen der beiden Punkte fest, die zur Berechnung des Normalenvektors verwendet werden. Verwenden Sie diese Option, um die normalen Werte auszufüllen, und wählen Sie dann Anwenden aus. Aktivieren Sie den neu erstellten Slice-Filter, und wählen Sie Filter, Alphabetisch, Oberflächenfluss aus. Klicken Sie auf Anwenden, und aktivieren Sie dann das neue Element Oberflächenfluss, gefolgt von Filtern, Alphabetisch, Zeitschritte gruppieren, Anwenden.
Öffnen Sie in der Tabellenansicht die GroupTimeSteps-Daten und verwenden Sie die Option Tabelle exportieren oder Kopieren und Einfügen, um diese Daten nach Microsoft Excel zu exportieren. Bestimmen Sie in ParaView die Zeitschritte und die Größe des Zeitschritts, indem Sie durch die Zeit blättern. Für die Simulation möchten wir, dass der Herzzyklus zum Zeitpunkt gleich Null beginnt. Generieren Sie daher die entsprechende Zeitskala. Aktivieren Sie dann den Filter Slice und wählen Sie Filter, Alphabetisch, Variablen integrieren.
Ändern Sie im Pop-up-Fenster das Attribut, um Zellendaten anzuzeigen. Damit erhalten Sie die Querschnittsfläche der Einlaufscheibe. Um die Strömungsdaten mit ANSYS Fluent kompatibel zu machen, bestimmen Sie die Zeitskala mit Einheiten von Sekunden und die Eintrittsgeschwindigkeit mit Einheiten von Metern pro Sekunde.
Die erste Zeile muss einen Datennamen, eine Anzahl von Spalten, eine Anzahl von Zeilen und einen binären Trigger enthalten, um die Wiederholbarkeit zu gewährleisten. Die nächste Zeile enthält die Namen für die einzelnen Datenspalten. Die Strömungsgeschwindigkeiten, nicht die Raten, werden unterhalb der jeweiligen Spaltenüberschrift eingestellt. Um mehrere Herzzyklen reibungslos simulieren zu können, sollten die Anfangs- und Endgeschwindigkeitswerte gleichwertig sein.
Wählen Sie Datei, Lesen, Fall aus, und öffnen Sie die Volume-Mesh-CAS-Datei, die zuvor verwendet wurde. Aktivieren Sie das Kontrollkästchen für Netz nach dem Lesen anzeigen, um das Netz nach dem Import anzuzeigen. Wählen Sie Skalieren aus, und wenden Sie die erforderliche Einheitenumrechnung an, um die korrekte physische Größe des Modells sicherzustellen. Wählen Sie Materialien erstellen/bearbeiten, und geben Sie Materialeigenschaften für Blut ein.
Wählen Sie nun das Befehlsfenster Konsole aus und geben Sie file/ ein. Verwenden Sie read-transient-table, um die transienten Flow-Wellenformen zu importieren, die sich am selben Speicherort wie die Volume-Mesh-CAS-Datei befinden. Verwenden Sie die aus den 4D-Durchfluss-MRT-Messungen erhaltenen Wellenformen, um die Einlassrandbedingungen einzustellen. Verwenden Sie dann ein gewichtetes Verhältnis von Einlass zu Auslass, um die Randbedingungen für den Auslass festzulegen.
Legen Sie die numerischen Schemata fest, die für die Druck-, Geschwindigkeitskopplung und Diskretisierung der Navier-Stokes-Gleichungen verwendet werden. Legen Sie dann in der Projektmappeninitialisierung alle Anfangswerte auf Null fest. Legen Sie unter Berechnungsaktivitäten einen Lösungsordner fest, in dem die Ergebnisse gespeichert werden sollen, und geben Sie die Häufigkeit mit Automatisches Speichern, Alle Zeitschritte an. Richten Sie unter Berechnung ausführen die Zeitschrittgröße aus den Excel-Randbedingungsdaten ein. Es ist oft vorzuziehen, einen kleineren Zeitschritt auszuwählen und Fluent interpolieren zu lassen. Wiederholen Sie dies für mindestens drei Herzzyklen.
Legen Sie abschließend die maximalen Iterationen zwischen 300 und 500 fest. Die Software stoppt die Iterationen automatisch bei jedem Zeitschritt, sobald die Konvergenz eintritt. Nachdem die Simulation vollständig eingerichtet wurde, gehen Sie zurück zu Initialisierung, Initialisieren. Kehren Sie zu Berechnung ausführen zurück, und wählen Sie Berechnen aus, um den Solver auszuführen. Die Lösungsdaten können nun entweder in der ANSYS CFD-Post- oder ParaView-Software visualisiert werden.
Wir werden nun einige repräsentative Daten untersuchen. Hier ist ein Beispiel für ein zerebrales Aneurysma. Aus 4D-Fluss-MRT-Daten wurden komplexe rezirkulierende Flussmuster innerhalb der aneurysmatischen Region detektiert. Die Auflösung ist jedoch in den Bereichen mit stagnierender Strömung begrenzt, die im oberen und unteren Bereich der Läsion beobachtet werden. Nach dem Ausführen von CFD-Simulationen wurde eine höhere Auflösung des Geschwindigkeitsfeldes erreicht, insbesondere in der Nähe der Behälterwände.
CFD kann auch verwendet werden, um verschiedene Strömungsbedingungen im selben Behälter zu vergleichen. So helfen beispielsweise Simulationen eines chirurgischen Clipping der rechten und linken vorderen Hirnarterie dabei, die Auswirkungen des Eingriffs auf die Strömungsdynamik zu visualisieren.
Computational Fluid Dynamics Simulationen des Blutflusses sind nützliche Werkzeuge, die in verschiedenen biomedizinischen Anwendungen eingesetzt werden.
Zum Beispiel beeinflussen hämodynamische Bedingungen innerhalb des Gefäßsystems die Entwicklung und das Fortschreiten von arteriellen Erkrankungen, einschließlich Atherosklerose und Aneurysmen. Da direkte Messungen in vivo nur schwer zu erfassen sind, ist CFD ein Standardforschungsinstrument, das zur Modellierung der Blutflussdynamik verwendet wird. Es kann Ärzten eine Orientierungshilfe für die Diagnostik sowie für verschiedene Behandlungsszenarien geben.
Zusätzlich zur Gefäßmodellierung dienen CFD-Simulationen dazu, die Luftströmung auf der Grundlage von Modellen der nasalen Atemwege zu simulieren. Es ist besonders nützlich, Protokolle zu entwickeln, um pharmazeutische Aerosole in angemessener und kontrollierter Weise an bestimmte Geruchsregionen zu liefern, die direkt mit dem Gehirn interagieren.
Sie haben gerade die Einführung von JoVE in die numerische Strömungsmechanik zur Simulation des Blutflusses gesehen. Sie sollten nun verstehen, wie eine hochauflösende Blutflussdynamik auf der Grundlage dreidimensionaler Gefäßgeometrien modelliert werden kann. Danke fürs Zuschauen!
View the full transcript and gain access to JoVE Science Education videos
Q1: What is computational fluid dynamics and how is it used in medical applications?
Computational fluid dynamics (CFD) uses numerical analysis methods to model fluid flow and simulate realistic conditions. In medical applications, CFD analyzes blood flow in patient vasculature to predict disease progression and model treatment scenarios for conditions including coronary heart disease, arteriovenous malformations, and aneurysms. CFD provides physicians guidance for diagnostics and different treatment options.
Q2: How are blood vessel geometries obtained for CFD simulations?
Blood vessel geometries are obtained using imaging techniques such as magnetic resonance angiography (MRA) and X-ray fluoroscopy. These methods outline the patient's blood vessel geometry and define flow boundary conditions. The blood velocity data are then segmented into voxels, which are units defining 3D space, and the phase shift is obtained at each voxel to determine 3D flow velocity.
Q3: What are the Navier-Stokes equations and why are they important in CFD?
The Navier-Stokes (NS) equations are the governing equations of fluid motion that determine velocity and pressure distributions in blood flow. They account for density, velocity, pressure, and dynamic viscosity of the flow. These equations are numerically solved to produce high-resolution hemodynamic predictions in patient-specific vessel models.
Q4: How does CFD improve upon direct blood flow measurements?
Direct measurements of intraluminal pressure, wall shear stress, and particle residence time are difficult to acquire in vivo. CFD allows these hemodynamic variables to be assessed non-invasively with superior resolution. It can distinguish high-speed jets from slow recirculating vortices observed in diseased blood vessels, providing comprehensive depiction of patient-specific flow fields.
Q5: What software tools are used to process vessel data and run CFD simulations?
Open-source software such as vmtk launcher and ParaView are used for image segmentation and visualization. ParaView separates voxels containing flow data from stationary tissue and determines boundary conditions. Commercial software like ANSYS Fluent imports the volume mesh and transient flow waveforms from 4D flow MRI measurements to run the CFD simulation.
Q6: How can CFD simulations help physicians plan surgical interventions?
CFD is used to simulate surgical techniques such as arterial clipping, which provides physicians better foresight regarding post-operative flow conditions. Simulations can visualize the effects of procedures on flow dynamics before surgery. This allows physicians to compare different treatment scenarios and choose the approach most likely to improve hemodynamic conditions.
Q7: What hemodynamic factors affect the development of vascular diseases?
Hemodynamic conditions within the vasculature significantly affect the development and progression of arterial diseases, including atherosclerosis and aneurysms. CFD simulations reveal complex recirculating flow patterns and stagnant flow regions that contribute to disease formation. Understanding these flow dynamics helps identify risk factors and guide treatment strategies for vascular dysfunction.
Kapitel in diesem Video
0:07
Overview
1:20
Principles of Computational Fluid Dynamics
3:15
Generating Vessel Centerlines
4:24
Remapping 4D Flow MRI and Determining the Boundary Conditions
8:09
CFD Simulations
10:22
Results
11:17
Applications
12:17
Summary