Simulaciones de dinámica de fluidos computacional del flujo sanguíneo en un aneurisma cerebral

Biomedical Engineering

Your institution must subscribe to JoVE's Engineering collection to access this content.

Fill out the form below to receive a free trial or learn more about access:

 

Overview

Fuente: Joseph C. Muskat, Vitaliy L. Rayz, y Craig J. Goergen, Weldon School of Biomedical Engineering, Universidad Purdue, West Lafayette, Indiana

El objetivo de este video es describir los avances recientes de las simulaciones dinámicas de fluidos computacionales (CFD) basadas en la vasculatura específica del paciente o animal. Aquí, se crearon segmentaciones de buques basadas en temas y, utilizando una combinación de herramientas comerciales y de código abierto, se determinó una solución numérica de alta resolución dentro de un modelo de flujo. Numerosos estudios han demostrado que las condiciones hemodinámicas dentro de la vasculatura afectan el desarrollo y progresión de la aterosclerosis, aneurismas, y otras enfermedades arteriales periféricas; concomitantemente, las mediciones directas de la presión intraluminal, la tensión de cizallamiento de la pared (WSS) y el tiempo de residencia de partículas (PRT) son difíciles de adquirir in vivo.

CFD permite que estas variables sean evaluadas de manera no invasiva. Además, CFD se utiliza para simular técnicas quirúrgicas, que proporciona a los médicos una mejor previsión con respecto a las condiciones de flujo postoperatorio. Dos métodos en imágenes por resonancia magnética (RM), angiografía por resonancia magnética (MRA) con tiempo de vuelo (TOF-MRA) o MRA con contraste mejorado (CE-MRA) y contraste de fase (PC-MRI), nos permiten obtener geometrías de recipientes y campos de velocidad 3D resueltos en el tiempo Respectivamente. TOF-MRA se basa en la supresión de la señal del tejido estático por pulsos de RF repetidos que se aplican al volumen de imagen. Se obtiene una señal a partir de giros insaturados moviéndose en el volumen con la sangre que fluye. CE-MRA es una mejor técnica para la toma de imágenes de recipientes con flujos de recirculación complejos, ya que utiliza un agente de contraste, como el gadolinio, para aumentar la señal.

Por separado, PC-MRI utiliza gradientes bipolares para generar cambios de fase que son proporcionales a la velocidad de un fluido, proporcionando así distribuciones de velocidad resueltas en el tiempo. Mientras que PC-MRI es capaz de proporcionar velocidades de flujo sanguíneo, la precisión de este método se ve afectada por la resolución espaciotemporal limitada y el rango dinámico de velocidad. CFD proporciona una resolución superior y puede evaluar el rango de velocidades de jets de alta velocidad a vórtices de recirculación lenta observados en vasos sanguíneos enfermos. Por lo tanto, aunque la fiabilidad de CFD depende de los supuestos de modelado, abre la posibilidad de una representación completa y de alta calidad de los campos de flujo específicos del paciente, que pueden guiar el diagnóstico y el tratamiento.

Cite this Video

JoVE Science Education Database. Ingeniería Biomédica. Simulaciones de dinámica de fluidos computacional del flujo sanguíneo en un aneurisma cerebral. JoVE, Cambridge, MA, (2020).

Principles

TOF-MRA, CE-MRA y PC-MRI se utilizan a menudo como geometría de entrada y condiciones de límite de flujo para simulaciones CFD. Como se ha explicado anteriormente, la geometría del recipiente y las condiciones de contorno de entrada (perfiles de velocidad a través de una sección transversal) se miden para cada sujeto. Para los datos incluidos en este estudio, la resolución TOF-MRA fue de 0,26 x 0,26 x 0,50 mm, mientras que la resolución PC-MRI fue de 1,00 x 1,00 x 1,20 mm. La secuencia de resonancia magnética 4D Flow se utilizó para adquirir la distribución de velocidad tridimensional a través del ciclo cardíaco. Los datos TOF se segmentan pseudoautomáticamente con una variedad de herramientas. La resolución de la imagen, es decir, el tamaño de un voxel, influye directamente en la calidad del modelo resultante de la geometría. La RMN de flujo Equation 1 4D determina la velocidad Equation 2 de la sangre en cada voxel utilizando el cambio de fase de acuerdo con las siguientes ecuaciones:

Equation 3(1)

Equation 4(2)

Los cambios de fase medidos y Equation 5 las velocidades Equation 6 dependen del campo de Equation 7 gradiente, Equation 8 la relación giromagnética, la posición inicial del giro, la velocidad de giro y la aceleración Equation 9 de giro. Los campos magnéticos y las constantes de material se definen al inicializar la resonancia magnética. La RMN de flujo 4D codifica en tres direcciones ortogonales para obtener campos de velocidad tridimensionales. A continuación, se pueden generar modelos 3D para cada caso específico del paciente o animal. Los métodos detallados en la sección de procedimientos nos llevarán a una simulación CFD resolviendo numéricamente las ecuaciones Navier-Stokes, que se generalizan como:

Equation 10(3)

donde Equation 11 está la Equation 12 densidad, es la velocidad de flujo, p es la presión, y mu es la viscosidad dinámica del flujo.

Procedure

Un precursor del tutorial es la creación de un modelo de vasculatura específica del paciente. En esta demostración, las herramientas Materialise Mimics, 3D Systems Geomagic Design X y Altair HyperMesh se utilizaron para generar una malla de volumen tetraédrica a partir de datos MRA.

1. Generar líneas centrales de la embarcación para el modelo

  1. Abra la GUI de python vmtk-launcher. En el PypePad, escriba: vmtkcenterlines -ifile [archivo STL guardado en desktop].stl -ofile [Nombre STL]centerlines.vtp
  2. Seleccione Ejecutar, Ejecutar todo para cargar los datos en el programa. Se abrirá una nueva ventana que muestra instrucciones y una representación del modelo de entrada. Gire el modelo y coloque el curser en cada ubicación de entrada. Presione la barra espaciadora para colocar una semilla.
  3. Después de colocar las semillas en todas las entradas, pulse 'Q' para continuar. Repita la misma colocación de las semillas para todas las tomas de corriente. Después de colocar las semillas de salida, pulse 'Q' de nuevo y deje que el programa funcione. Esto guardará el archivo de línea central en el escritorio.

2. Configuración de datos en el software de visualización

  1. Inicie la herramienta de visualización de código abierto, ParaView (versión 5.4.1 utilizada en este procedimiento).
  2. Seleccione Archivo, Abrir...y localice los archivos creados anteriormente: la malla de volumen específica del paciente, los archivos de línea central y los archivos EnSight.case. Después de hacer clic en Aceptar, todos los datos deben cargarse en la interfaz.
  3. En la tabla Propiedades de la parte inferior izquierda, seleccione Aplicar. Este comando cargará y leerá toda la información que un usuario ha cargado o cambiado en ParaView. Resalte la malla de volumen haciendo clic en su nombre en el Navegador de canalizaciones para activar esta selección.
  4. Una vez más, en la tabla Propiedades, desplácese y cambie el valor de Opacidad a algún lugar entre 0,2 - 0,5. Ahora, las líneas constructivas y las representaciones geométricas deben estar visibles.

3. Remape los datos de RMN de flujo 4D con la malla volumétrica y elimine el ruido

  1. En el menú superior, seleccione Filtros, Alfabético, RemuestreWithDataset. Se abrirá una nueva ventana. Establezca Source como la malla de volumen y Input como el archivo EnSight.case. Seleccione Aceptar una vez que se establezcan.
  2. En la tabla Propiedades, seleccione Aplicar para aplicar el filtro.
  3. Como antes, resalte el nuevo nombre ResampleWithDatasetpara activarlo. Reduzca la opacidad de esta nueva representación como se mencionó anteriormente. Además, cambia los ejes de Superficie a Puntos en el menú superior.

4. Determinar las condiciones de límite del flujo de entrada y salida

  1. En el lado derecho de la interfaz, junto a maximizar y minimizar las opciones de renderizado, seleccione la herramienta Crear vista (cuadrado con línea vertical). Seleccione la opción Vista SpreadSheet.
  2. En el cuadro desplegable Mostrar, seleccione los archivos de línea central. Solo se puede seleccionar un tipo de archivo a la vez. Repase los datos, seleccionando varios puntos para identificar una ubicación dentro de cada entrada y salida.
  3. Ahora, utilice la vista SpreadSheet debajo de Puntos para calcular el vector normal entre dos puntos cerca de las mismas ubicaciones encontradas en (4.2).
  4. Después de encontrar el vector normal para cada ubicación de entrada y salida, seleccione Filtros, Alfabético, Sector. Asegúrese de activar el ResampleWithDataset de antemano.
  5. El filtro Sector debe aparecer debajo de una nueva rama procedente de ResampleWithDataset. En la tabla Propiedades, establezca el plano Origen como la misma ubicación de punto XYZ para uno de los dos puntos utilizados para calcular el vector normal. Utilice el vector normal de (4.3) para rellenar los valores Normales. Seleccione Aplicar.
  6. Resalte/active el filtro Slice y seleccione Filtros, Alfabético, Flujo de superficiey, a continuación, Aplicar . Active el nuevo elemento SurfaceFlow en el Explorador de canalizacionesy aplique los filtros, Alfabético, Pasosde tiempo de grupo , Aplicar.
  7. En la vista SpreadSheet, abra los datos de GroupTimeSteps. Exporte estos datos a Microsoft Excel mediante copiar y pegar o usar Exportar hoja de cálculo.
  8. En Excel, calcule los valores ponderados correspondientes a la relación del caudal en cada salida con respecto al caudal de entrada total. Debido al ruido inherente y el error de los datos de RMN de flujo 4D, identifique el recipiente más pequeño (generalmente con datos menos fiables) para dejar "abierto" para garantizar la conservación de la masa.
  9. En el software de simulación CFD, las formas de onda de flujo transitorio se importan mediante el comando read-transient-tables; por lo tanto, guarde los datos del flujo de entrada en un formato .txt compatible descrito en los tutoriales en línea.

5. Configurar simulaciones CFD

  1. Abra el software de simulación CFD. Aquí usamos ANSYS Fluent (versión 18.1 descrita en este procedimiento como predeterminado). Elija Archivo, Leery Caso...y abra el archivo .cas de malla de volumen utilizado anteriormente en ParaView. Visualice la malla (este procedimiento utiliza un archivo .cas generado con Altair HyperMesh) seleccionando Visualizar..., Visualizar.
  2. Es importante escalar la geometría para garantizar el tamaño físico correcto del modelo. Seleccione Escalar... y aplique cualquier conversión de unidad que sea necesaria para el caso específico y, a continuación, Cerrar.
  3. Seleccione Materiales, Crear/Editar para introducir las propiedades de material para la sangre. Este tutorial utiliza valores fisiológicamente relevantes de 1060 kg/s y 0,0035 kg/ms para densidad y viscosidad, respectivamente.
  4. Establezca las condiciones límite de flujo transitorio prescribiendo el flujo de masa o los caudales de velocidad en función del tiempo para cada entrada. Utilice las formas de onda obtenidas de la medición de RMN de flujo 4D para prescribir las condiciones de límite de entrada. Las salidas reciben valores ponderados que se encuentran en (4.8).
  5. En Solución, Métodos, establezca los esquemas numéricos utilizados para la discretización espacial y temporal de las ecuaciones Navier-Stokes. Para este procedimiento, utilice Acoplado, que permite el acoplamiento de velocidad de presión completa, Basado en celdas de mínimos cuadrados (gradiente), Esquema de segundo orden para la presión, esquema MUSCL de tercer orden para ecuaciones de impulso y esquema implícito de segunda orden para la discretización en el tiempo. Asegúrese de que el parámetro Time en la parte superior izquierda se ha establecido en Transient.
  6. En Solución, Inicialización, seleccione Inicialización estándar. Con todos los valores iniciales establecidos en 0, seleccione Inicializar. Ahora el programa está configurado para ejecutarse. Designe una carpeta de solución para guardar los resultados cada guardado automático cada (pasos de tiempo) debajo de Actividades de cálculo.
  7. En los pasos finales, configure el Tamaño de paso de tiempo(s) en Ejecutar cálculo. Utilice los datos de condición de límite de Excel en (4.7) para determinar este valor. La reducción del paso de tiempo facilita la convergencia y mejora la precisión de la solución numérica, al tiempo que aumenta el tiempo de la solución. Es una buena práctica ejecutar la simulación durante al menos tres ciclos cardíacos completos para eliminar el efecto de los transitorios iniciales.
  8. Por último, establezca Iteraciones máximas para cada paso de tiempo entre 300 - 500. El software detendrá automáticamente las iteraciones en cada paso de tiempo una vez que se alcanza la convergencia y procederá al siguiente paso de tiempo. La convergencia se puede mejorar ejecutando una simulación de flujo constante con valores de velocidad promediados y luego utilizando los resultados como condiciones iniciales para la simulación de flujo pulsante. Seleccione Calcular cuando esté listo para ejecutar el solucionador.
  9. El software ejecutará cada iteración hasta que se logre la convergencia o max Iterations hace que la iteración continúe. Los archivos se guardarán automáticamente en la ubicación desde (5.5), y los datos de la solución se pueden visualizar en el software ANSYS CFD-Post o ParaView.

Las simulaciones dinámicas de fluidos computacionales se utilizan para analizar el flujo sanguíneo en la vasculatura del paciente para guiar el diagnóstico y el tratamiento. La dinámica de fluidos computacional, o CFD, utiliza métodos de análisis numérico para modelar el flujo de fluidos y simular condiciones realistas para muchos escenarios de flujo diferentes, como el flujo de fluidos alrededor de un avión de alta velocidad, a través de redes de tuberías complejas y dentro de nuestras sistema cardiovascular.

En la aplicación médica, se utilizan varias técnicas de diagnóstico por imágenes para obtener geometrías de los vasos sanguíneos. A continuación, se realizan simulaciones CFD, que se utilizan para predecir la progresión de la enfermedad y modelar escenarios de tratamiento para las disfunciones de la vasculatura, incluyendo enfermedades coronarias, malformaciones arteriovenosas y aneurismas.

Este video ilustrará los principios de CFD, demostrará cómo se utilizan las geometrías de los vasos sanguíneos para modelar la hemodinámica de alta resolución y discutir algunas aplicaciones de CFD.

En primer lugar, vamos a entender la dinámica cardiovascular y los principios de CFD.

La hemodinámica cardiovascular describe la dinámica del flujo sanguíneo en el corazón, incluso a través de los ventrículos izquierdo y derecho y las aurículas, y el flujo sanguíneo en los vasos desde el corazón hasta el resto del cuerpo. Las redes vasculares complejas se pueden visualizar mediante angiografía por resonancia magnética y velocimetría o fluoroscopia de rayos X. Estos métodos describen la geometría de los vasos sanguíneos del paciente y definen las condiciones límite de flujo.

Una vez adquirido, los datos de velocidad de la sangre se segmentan en vóxeles, que son unidades de información gráfica que definen un espacio 3D, y el cambio de fase se obtiene en cada voxel. Estos dependen de la relación giromagnética, el campo magnético principal, el campo de gradiente aplicado y la posición del giro. Esto a su vez depende de la posición inicial del giro, la velocidad de giro y la aceleración de giro. Tau es el tiempo que define la cuarta dimensión.

Estos parámetros se definen mediante la RMN y la entrada en simulaciones CFD. La velocidad de flujo 3D se determina resolviendo numéricamente las ecuaciones Navier-Stokes o NS. Las ecuaciones NS son las ecuaciones de gobierno del movimiento del fluido resueltos para determinar las distribuciones de velocidad y presión. Tienen en cuenta la densidad, velocidad, presión y viscosidad dinámica del flujo.

Ahora veremos cómo estos principios de la dinámica de fluidos se aplican a las geometrías reales de los vasos sanguíneos para producir simulaciones CFD de alta resolución.

Antes de empezar, cree un modelo de vasculatura específico del paciente a partir de los datos de MRA. Esto se puede hacer usando software de código abierto para la segmentación de imágenes.

Para esta demostración, se generó una malla de volumen tetraédricos. Ahora abra la GUI de Python del lanzador vmtk. En el PypePad, introduzca el nombre de archivo necesario. Este comando de huesos desnudos extraerá el archivo STL de entrada del escritorio. Seleccione Ejecutar, Ejecutar todo para cargar los datos en el programa. Se abrirá una nueva ventana que muestra instrucciones y una representación del modelo de entrada.

Gire el modelo y coloque el cursor en cada ubicación de entrada. Presione la barra espaciadora para colocar una semilla en una entrada. Repita esto para todas las entradas. A continuación, pulse Q para continuar. Ahora repita la misma colocación de semillas para todos los puntos de venta. Presione Q de nuevo y deje que el programa se ejecute. El archivo de línea central se generará y guardará en el escritorio.

Ahora estamos listos para usar la herramienta de visualización de código abierto ParaView para separar los vóxeles que contienen datos de flujo del tejido estacionario. Busque los siguientes archivos: la malla de volumen específica del paciente, los archivos Deline y los archivos EnSight.case y haga clic en Aceptar para cargar los datos en la interfaz. Vaya a la tabla Propiedades y seleccione Aplicar para cargar y leer toda la información. A continuación, resalte la malla volumétrica en el explorador de canalizaciones.

En la tabla Propiedades, cambie el valor de opacidad a entre 0,2 y 0,5. Las líneas constructivas y el renderizado geométrico ahora deben ser visibles. A continuación, vaya al menú superior y seleccione Filtros, Alfabético, Remuestrear con conjunto de datos y establezca el origen como la malla de volumen y la entrada como el archivo EnSight.case. Haga clic en Aceptar para continuar y aplique el filtro en la tabla Propiedades. A continuación, resalte la nueva remuestrea con conjunto de datos y reduzca la opacidad.

En el menú superior, cambie las líneas constructivas de Superficie a Puntos. Para determinar las condiciones de contorno, vaya al lado derecho de la interfaz y seleccione la herramienta Dividir vista horizontal. Elija la opción Vista De spreadSheet. En el cuadro desplegable Mostrar, seleccione el archivo de línea central y repase los archivos, seleccionando varios puntos para identificar una ubicación dentro de cada entrada y salida. Ahora utilice la vista SpreadSheet para calcular el vector normal entre dos puntos.

Después de encontrar el vector, active ResampleWithDataset y seleccione Filtros, Alfabético, Sector. Asegúrese de que aparece el filtro Sector, luego vaya a la tabla Propiedades y establezca el origen del plano como la misma ubicación de punto X, Y, Z para uno de los dos puntos utilizados para calcular el vector normal. Utilice esta opción para rellenar los valores normales y, a continuación, seleccione Aplicar. Active el filtro de sectores recién creado y seleccione Filtros, Alfabético, Flujo de superficie. Haga clic en Aplicar y, a continuación, active el nuevo elemento Flujo de superficie, seguido de Filtros, Alfabético, Pasos de tiempo de grupo, Aplicar.

En la vista SpreadSheet, abra los datos de GroupTimeSteps y use Exportar hoja de cálculo o copiar y pegar para exportar estos datos a Microsoft Excel. En ParaView, determine los pasos de tiempo y el tamaño del paso de tiempo recorriendo Tiempo. Para la simulación, queremos que el ciclo cardíaco comience en el tiempo es igual a cero. Por lo tanto, genere la escala de tiempo adecuada. A continuación, active el filtro Sector y seleccione Filtros, Alfabético, Integrar variables.

En la ventana emergente, cambie Atributo para mostrar Datos de celda. Esto le proporciona el área de sección transversal del segmento de entrada. Para que los datos de flujo sean compatibles con ANSYS Fluent, determine la escala de tiempo con unidades de segundos y la velocidad de entrada con unidades de metros por segundo.

La primera línea debe contener un nombre de datos, un número de columnas, un número de filas y un desencadenador binario para la repetibilidad. La siguiente línea contiene los nombres de cada una de las columnas de datos. Las velocidades de flujo, no las velocidades, se establecen debajo de la cabecera de columna respectiva. Con el fin de simular múltiples ciclos cardíacos sin problemas, los valores de velocidad inicial y final deben ser equivalentes.

Elija Archivo, Leer, Caso y abra el archivo .cas de malla de volumen que se utilizó anteriormente. Marque la casilla De Mostrar malla después de leer para mostrar la malla una vez importada. Seleccione Escala y aplique la conversión de unidad necesaria para garantizar el tamaño físico correcto del modelo. Seleccione Crear/Editar materiales y introduzca las propiedades del material para la sangre.

Ahora, seleccione la ventana de comandos de la consola y el archivo de entrada/. Utilice la tabla de lectura transitoria para importar las formas de onda de flujo transitorio ubicadas en la misma ubicación que el archivo .cas de malla de volumen. Utilice las formas de onda obtenidas de las mediciones de RMN de flujo 4D para establecer las condiciones de límite de entrada. A continuación, utilice una relación ponderada de entrada a salida para establecer las condiciones de contorno de salida.

Establezca los esquemas numéricos utilizados para el acoplamiento de velocidad de presión y la discretización de las ecuaciones Navier-Stokes. A continuación, en Inicialización de solución, establezca todos los valores iniciales en cero. En Actividades de cálculo, designe una carpeta de solución para guardar los resultados y especifique la frecuencia con Guardar automáticamente, Cada vez pasos. En Ejecutar cálculo, configure el Tamaño del paso de tiempo a partir de los datos de condiciones de límite de Excel. A menudo es preferible seleccionar un paso de tiempo más pequeño y permitir que Fluent interpolar. Repita durante al menos tres ciclos cardíacos.

Por último, establezca las iteraciones máximas entre 300 y 500. El software detendrá automáticamente las iteraciones en cada paso de tiempo una vez que se produce la convergencia. Después de que la simulación se haya configurado completamente, vuelva a Inicialización, Inicializar. Vuelva a Ejecutar cálculo y seleccione Calcular para ejecutar el solucionador. Los datos de la solución ahora se pueden visualizar en el software ANSYS CFD-Post o ParaView.

Ahora examinaremos algunos datos representativos. Este es un ejemplo de un aneurisma cerebral. A partir de los datos de RMN de flujo 4D, se detectaron patrones de flujo de recirculación complejos dentro de la región aneurisma. Sin embargo, la resolución es limitada en las regiones de flujo estancado observadas en la sección superior e inferior de la lesión. Después de ejecutar simulaciones CFD, se obtuvo una mayor resolución del campo de velocidad, particularmente cerca de las paredes del buque.

CFD también se puede utilizar para comparar diferentes condiciones de flujo en el mismo recipiente. Por ejemplo, las simulaciones de un recorte quirúrgico de la arteria cerebral anterior derecha e izquierda ayudan a visualizar los efectos del procedimiento en la dinámica de flujo.

Las simulaciones dinámicas de fluidos computacionales del flujo sanguíneo son herramientas útiles utilizadas en diversas aplicaciones biomédicas.

Por ejemplo, las afecciones hemodinámicas dentro de la vasculatura afectan el desarrollo y la progresión de enfermedades arteriales, incluyendo aterosclerosis y aneurismas. Dado que las mediciones directas son difíciles de adquirir in vivo, CFD es una herramienta de investigación estándar que se utiliza para modelar la dinámica del flujo sanguíneo. Puede proporcionar a los médicos orientación para el diagnóstico, así como diferentes escenarios de tratamiento.

Además del modelado vascular, las simulaciones CFD sirven para simular el flujo de aire basado en modelos nasales de las vías respiratorias. Es particularmente útil diseñar protocolos para entregar, de manera adecuada y controlada, aerosoles farmacéuticos a regiones olfativas dirigidas que interactúan directamente con el cerebro.

Acabas de ver la introducción de JoVE a la dinámica computacional de fluidos para simular el flujo sanguíneo. Ahora debe entender cómo se puede modelar la dinámica de flujo sanguíneo de alta resolución basándose en geometrías tridimensionales de los vasos. ¡Gracias por mirar!

Results

En esta demostración, se generó un modelo específico de un aneurisma cerebral y se utilizó el CFD para simular el campo de flujo. Al proporcionar características de flujo detalladas y cuantificar las fuerzas de hemodinámica que no se pueden obtener de los datos de imagen, CFD se puede utilizar para aumentar los datos de RMN de flujo 4D de menor resolución.  La Figura 1 muestra cómo CFD proporciona una descripción más completa del flujo en las regiones de recirculación cercanas a la pared.

Figure 1
Figura 1: A) Visualización de datos de RMN de flujo 4D dentro dela geometría del recipiente. B) Visualización de los resultados de la simulación CFD. En general, las aerodinámicas de CFD proporcionan una comprensión más completa de los patrones de flujo sanguíneo dentro de este aneurisma cerebral.

La Figura 1 muestra que los resultados de CFD están de acuerdo con la RMN de flujo 4D in vivo. La Figura 1 (A) muestra los patrones de flujo complejos y recirculantes dentro de la región aneurisma, la dilatación similar a un globo de la arteria, que se detectaron con rmn de flujo 4D. Sin embargo, las regiones de flujo estancado en las secciones superior e inferior de la lesión no están llenas de aerodinámicas. Esto se debe a que la relación señal-ruido en estas regiones es baja. El flujo simulado por CFD, que se muestra en la Figura 1 (B), proporciona un campo de velocidad de resolución más alta, particularmente cerca de las paredes del recipiente. Por lo tanto, los modelos CFD son capaces de proporcionar estimaciones de mayor precisión de métricas clínicamente relevantes y derivadas del flujo, como presión, WSS y PRT, que se pueden utilizar para predecir la progresión de la enfermedad aneurisma.

Además, las simulaciones CFD se pueden utilizar para modelar las condiciones de flujo postoperatorio que resultarían de opciones de tratamiento alternativas. Por ejemplo, la Figura 2 (A) y (B) compara el flujo a través del mismo buque con diferentes velocidades de entrada. Mediante la prescripción de condiciones límite variadas, como la simulación de la oclusión del vaso sin flujo, se muestra el flujo después de una variedad de tratamientos quirúrgicos.

Figure 2
Figura 2: A) Simulación para el recorte quirúrgico de la arteria cerebral anterior derecha (ACA). B) Simulación para el recorte quirúrgico de la ACA izquierda. Para simplificar, esta figura mantiene la velocidad de entrada preoperatoria en la entrada no modificada; en realidad, el caudal aumentaría en el buque abierto para compensar. C) Los caudales sanguíneos normales prescriben las condiciones de entrada para este modelo. Los datos de pacientes de la RMN de flujo 4D proporcionan condiciones de entrada para una visualización realista de los patrones de flujo.

La capacidad de simular campos de flujo postoperatorios resultantes de diversos tratamientos quirúrgicos es una ventaja importante de los modelos CFD. Mediante la aplicación de geometrías y datos de entrada realistas y específicos del paciente, se pueden demostrar diferentes escenarios de tratamiento para proporcionar a los médicos información sobre el efecto de un procedimiento planificado en los patrones de flujo. Por ejemplo, la Figura 2 (A) y (B) muestra flujos de recirculación que se producirían si se recorta una u otra arteria proximal. Se pueden simular tratamientos como el recorte de vasos o el despliegue de un desviador de flujo, lo que permite a los médicos y pacientes decidir qué funcionará mejor en cada caso específico.

Applications and Summary

El marco descrito aquí se puede utilizar para realizar simulaciones CFD específicas del paciente. Una malla de alta resolución se utiliza para interpolar datos de RMN de flujo 4D de baja resolución; esto aísla los datos de flujo y minimiza el error asociado con el ruido externo a la pared del recipiente. Mediante el uso de condiciones límite basadas en el paciente para los flujos de entrada y salida, la simulación es capaz de igualar las condiciones hemodinámicas de la imagen con la RMN.

Los métodos novedosos para PC-MRI son capaces de mostrar rangos más grandes y dinámicos de velocidades. Sin embargo, esto está severamente limitado por el tiempo de exploración del paciente. A menudo, los datos de los pacientes se adquieren a resoluciones más bajas para reducir el tiempo empleado dentro del escáner. Desafortunadamente, esto puede resultar en datos con alias o caída de señal, un problema exacerbado cuando el gradiente de codificación de velocidad (VENC) se establece demasiado alto. Esto puede pasar por alto los datos de flujo lentos y recirculantes. El emparejamiento de flujo y geometría específicos del paciente con CFD proporciona un método eficaz para capturar dinámicas de flujo sanguíneo de alta resolución.

Lo que hace que el modelado basado en pacientes sea inherentemente útil es su capacidad para proporcionar información detallada sin la necesidad de generalizar entre pacientes, enfermedades o tratamientos que típicamente poseen características muy diferentes. Las simulaciones permiten a los médicos e ingenieros modelar escenarios de tratamiento alternativos antes de realizar un procedimiento real. La simulación de la dinámica del flujo sanguíneo se puede utilizar para modelar stents desvíos de flujo, injertodeo de derivación de arterias e inyección de contraste basada en catéter, entre otras aplicaciones. Mientras que los médicos y los pacientes desean el mejor resultado, CFD proporciona un método para mirar el flujo postoperatorio, que proporciona una mejor previsión. Además de representar el flujo después de introducir un dispositivo o tratamiento, CFD permite la estimación de tensiones de cizallamiento en la pared. Esto, junto con el conocimiento de que el WSS bajo a menudo se correlaciona con la progresión de la enfermedad arterial, permite la predicción o el modelado de probabilidad. El uso de herramientas computacionales para identificar precursores del crecimiento del aneurisma, la formación de coágulos o la hemorragia abre la posibilidad de identificar a los pacientes en riesgo antes. En resumen, la combinación de datos de imágenes específicos del paciente con simulaciones CFD es una poderosa herramienta para la evaluación de enfermedades y la predicción quirúrgica.

Agradecimientos

Los autores quieren agradecer a la Dra. Susanne Schnell y Michael Markl de la Universidad Northwestern por proporcionarnos los datos de pacientes 4D utilizados en nuestras cifras.

Un precursor del tutorial es la creación de un modelo de vasculatura específica del paciente. En esta demostración, las herramientas Materialise Mimics, 3D Systems Geomagic Design X y Altair HyperMesh se utilizaron para generar una malla de volumen tetraédrica a partir de datos MRA.

1. Generar líneas centrales de la embarcación para el modelo

  1. Abra la GUI de python vmtk-launcher. En el PypePad, escriba: vmtkcenterlines -ifile [archivo STL guardado en desktop].stl -ofile [Nombre STL]centerlines.vtp
  2. Seleccione Ejecutar, Ejecutar todo para cargar los datos en el programa. Se abrirá una nueva ventana que muestra instrucciones y una representación del modelo de entrada. Gire el modelo y coloque el curser en cada ubicación de entrada. Presione la barra espaciadora para colocar una semilla.
  3. Después de colocar las semillas en todas las entradas, pulse 'Q' para continuar. Repita la misma colocación de las semillas para todas las tomas de corriente. Después de colocar las semillas de salida, pulse 'Q' de nuevo y deje que el programa funcione. Esto guardará el archivo de línea central en el escritorio.

2. Configuración de datos en el software de visualización

  1. Inicie la herramienta de visualización de código abierto, ParaView (versión 5.4.1 utilizada en este procedimiento).
  2. Seleccione Archivo, Abrir...y localice los archivos creados anteriormente: la malla de volumen específica del paciente, los archivos de línea central y los archivos EnSight.case. Después de hacer clic en Aceptar, todos los datos deben cargarse en la interfaz.
  3. En la tabla Propiedades de la parte inferior izquierda, seleccione Aplicar. Este comando cargará y leerá toda la información que un usuario ha cargado o cambiado en ParaView. Resalte la malla de volumen haciendo clic en su nombre en el Navegador de canalizaciones para activar esta selección.
  4. Una vez más, en la tabla Propiedades, desplácese y cambie el valor de Opacidad a algún lugar entre 0,2 - 0,5. Ahora, las líneas constructivas y las representaciones geométricas deben estar visibles.

3. Remape los datos de RMN de flujo 4D con la malla volumétrica y elimine el ruido

  1. En el menú superior, seleccione Filtros, Alfabético, RemuestreWithDataset. Se abrirá una nueva ventana. Establezca Source como la malla de volumen y Input como el archivo EnSight.case. Seleccione Aceptar una vez que se establezcan.
  2. En la tabla Propiedades, seleccione Aplicar para aplicar el filtro.
  3. Como antes, resalte el nuevo nombre ResampleWithDatasetpara activarlo. Reduzca la opacidad de esta nueva representación como se mencionó anteriormente. Además, cambia los ejes de Superficie a Puntos en el menú superior.

4. Determinar las condiciones de límite del flujo de entrada y salida

  1. En el lado derecho de la interfaz, junto a maximizar y minimizar las opciones de renderizado, seleccione la herramienta Crear vista (cuadrado con línea vertical). Seleccione la opción Vista SpreadSheet.
  2. En el cuadro desplegable Mostrar, seleccione los archivos de línea central. Solo se puede seleccionar un tipo de archivo a la vez. Repase los datos, seleccionando varios puntos para identificar una ubicación dentro de cada entrada y salida.
  3. Ahora, utilice la vista SpreadSheet debajo de Puntos para calcular el vector normal entre dos puntos cerca de las mismas ubicaciones encontradas en (4.2).
  4. Después de encontrar el vector normal para cada ubicación de entrada y salida, seleccione Filtros, Alfabético, Sector. Asegúrese de activar el ResampleWithDataset de antemano.
  5. El filtro Sector debe aparecer debajo de una nueva rama procedente de ResampleWithDataset. En la tabla Propiedades, establezca el plano Origen como la misma ubicación de punto XYZ para uno de los dos puntos utilizados para calcular el vector normal. Utilice el vector normal de (4.3) para rellenar los valores Normales. Seleccione Aplicar.
  6. Resalte/active el filtro Slice y seleccione Filtros, Alfabético, Flujo de superficiey, a continuación, Aplicar . Active el nuevo elemento SurfaceFlow en el Explorador de canalizacionesy aplique los filtros, Alfabético, Pasosde tiempo de grupo , Aplicar.
  7. En la vista SpreadSheet, abra los datos de GroupTimeSteps. Exporte estos datos a Microsoft Excel mediante copiar y pegar o usar Exportar hoja de cálculo.
  8. En Excel, calcule los valores ponderados correspondientes a la relación del caudal en cada salida con respecto al caudal de entrada total. Debido al ruido inherente y el error de los datos de RMN de flujo 4D, identifique el recipiente más pequeño (generalmente con datos menos fiables) para dejar "abierto" para garantizar la conservación de la masa.
  9. En el software de simulación CFD, las formas de onda de flujo transitorio se importan mediante el comando read-transient-tables; por lo tanto, guarde los datos del flujo de entrada en un formato .txt compatible descrito en los tutoriales en línea.

5. Configurar simulaciones CFD

  1. Abra el software de simulación CFD. Aquí usamos ANSYS Fluent (versión 18.1 descrita en este procedimiento como predeterminado). Elija Archivo, Leery Caso...y abra el archivo .cas de malla de volumen utilizado anteriormente en ParaView. Visualice la malla (este procedimiento utiliza un archivo .cas generado con Altair HyperMesh) seleccionando Visualizar..., Visualizar.
  2. Es importante escalar la geometría para garantizar el tamaño físico correcto del modelo. Seleccione Escalar... y aplique cualquier conversión de unidad que sea necesaria para el caso específico y, a continuación, Cerrar.
  3. Seleccione Materiales, Crear/Editar para introducir las propiedades de material para la sangre. Este tutorial utiliza valores fisiológicamente relevantes de 1060 kg/s y 0,0035 kg/ms para densidad y viscosidad, respectivamente.
  4. Establezca las condiciones límite de flujo transitorio prescribiendo el flujo de masa o los caudales de velocidad en función del tiempo para cada entrada. Utilice las formas de onda obtenidas de la medición de RMN de flujo 4D para prescribir las condiciones de límite de entrada. Las salidas reciben valores ponderados que se encuentran en (4.8).
  5. En Solución, Métodos, establezca los esquemas numéricos utilizados para la discretización espacial y temporal de las ecuaciones Navier-Stokes. Para este procedimiento, utilice Acoplado, que permite el acoplamiento de velocidad de presión completa, Basado en celdas de mínimos cuadrados (gradiente), Esquema de segundo orden para la presión, esquema MUSCL de tercer orden para ecuaciones de impulso y esquema implícito de segunda orden para la discretización en el tiempo. Asegúrese de que el parámetro Time en la parte superior izquierda se ha establecido en Transient.
  6. En Solución, Inicialización, seleccione Inicialización estándar. Con todos los valores iniciales establecidos en 0, seleccione Inicializar. Ahora el programa está configurado para ejecutarse. Designe una carpeta de solución para guardar los resultados cada guardado automático cada (pasos de tiempo) debajo de Actividades de cálculo.
  7. En los pasos finales, configure el Tamaño de paso de tiempo(s) en Ejecutar cálculo. Utilice los datos de condición de límite de Excel en (4.7) para determinar este valor. La reducción del paso de tiempo facilita la convergencia y mejora la precisión de la solución numérica, al tiempo que aumenta el tiempo de la solución. Es una buena práctica ejecutar la simulación durante al menos tres ciclos cardíacos completos para eliminar el efecto de los transitorios iniciales.
  8. Por último, establezca Iteraciones máximas para cada paso de tiempo entre 300 - 500. El software detendrá automáticamente las iteraciones en cada paso de tiempo una vez que se alcanza la convergencia y procederá al siguiente paso de tiempo. La convergencia se puede mejorar ejecutando una simulación de flujo constante con valores de velocidad promediados y luego utilizando los resultados como condiciones iniciales para la simulación de flujo pulsante. Seleccione Calcular cuando esté listo para ejecutar el solucionador.
  9. El software ejecutará cada iteración hasta que se logre la convergencia o max Iterations hace que la iteración continúe. Los archivos se guardarán automáticamente en la ubicación desde (5.5), y los datos de la solución se pueden visualizar en el software ANSYS CFD-Post o ParaView.

Las simulaciones dinámicas de fluidos computacionales se utilizan para analizar el flujo sanguíneo en la vasculatura del paciente para guiar el diagnóstico y el tratamiento. La dinámica de fluidos computacional, o CFD, utiliza métodos de análisis numérico para modelar el flujo de fluidos y simular condiciones realistas para muchos escenarios de flujo diferentes, como el flujo de fluidos alrededor de un avión de alta velocidad, a través de redes de tuberías complejas y dentro de nuestras sistema cardiovascular.

En la aplicación médica, se utilizan varias técnicas de diagnóstico por imágenes para obtener geometrías de los vasos sanguíneos. A continuación, se realizan simulaciones CFD, que se utilizan para predecir la progresión de la enfermedad y modelar escenarios de tratamiento para las disfunciones de la vasculatura, incluyendo enfermedades coronarias, malformaciones arteriovenosas y aneurismas.

Este video ilustrará los principios de CFD, demostrará cómo se utilizan las geometrías de los vasos sanguíneos para modelar la hemodinámica de alta resolución y discutir algunas aplicaciones de CFD.

En primer lugar, vamos a entender la dinámica cardiovascular y los principios de CFD.

La hemodinámica cardiovascular describe la dinámica del flujo sanguíneo en el corazón, incluso a través de los ventrículos izquierdo y derecho y las aurículas, y el flujo sanguíneo en los vasos desde el corazón hasta el resto del cuerpo. Las redes vasculares complejas se pueden visualizar mediante angiografía por resonancia magnética y velocimetría o fluoroscopia de rayos X. Estos métodos describen la geometría de los vasos sanguíneos del paciente y definen las condiciones límite de flujo.

Una vez adquirido, los datos de velocidad de la sangre se segmentan en vóxeles, que son unidades de información gráfica que definen un espacio 3D, y el cambio de fase se obtiene en cada voxel. Estos dependen de la relación giromagnética, el campo magnético principal, el campo de gradiente aplicado y la posición del giro. Esto a su vez depende de la posición inicial del giro, la velocidad de giro y la aceleración de giro. Tau es el tiempo que define la cuarta dimensión.

Estos parámetros se definen mediante la RMN y la entrada en simulaciones CFD. La velocidad de flujo 3D se determina resolviendo numéricamente las ecuaciones Navier-Stokes o NS. Las ecuaciones NS son las ecuaciones de gobierno del movimiento del fluido resueltos para determinar las distribuciones de velocidad y presión. Tienen en cuenta la densidad, velocidad, presión y viscosidad dinámica del flujo.

Ahora veremos cómo estos principios de la dinámica de fluidos se aplican a las geometrías reales de los vasos sanguíneos para producir simulaciones CFD de alta resolución.

Antes de empezar, cree un modelo de vasculatura específico del paciente a partir de los datos de MRA. Esto se puede hacer usando software de código abierto para la segmentación de imágenes.

Para esta demostración, se generó una malla de volumen tetraédricos. Ahora abra la GUI de Python del lanzador vmtk. En el PypePad, introduzca el nombre de archivo necesario. Este comando de huesos desnudos extraerá el archivo STL de entrada del escritorio. Seleccione Ejecutar, Ejecutar todo para cargar los datos en el programa. Se abrirá una nueva ventana que muestra instrucciones y una representación del modelo de entrada.

Gire el modelo y coloque el cursor en cada ubicación de entrada. Presione la barra espaciadora para colocar una semilla en una entrada. Repita esto para todas las entradas. A continuación, pulse Q para continuar. Ahora repita la misma colocación de semillas para todos los puntos de venta. Presione Q de nuevo y deje que el programa se ejecute. El archivo de línea central se generará y guardará en el escritorio.

Ahora estamos listos para usar la herramienta de visualización de código abierto ParaView para separar los vóxeles que contienen datos de flujo del tejido estacionario. Busque los siguientes archivos: la malla de volumen específica del paciente, los archivos Deline y los archivos EnSight.case y haga clic en Aceptar para cargar los datos en la interfaz. Vaya a la tabla Propiedades y seleccione Aplicar para cargar y leer toda la información. A continuación, resalte la malla volumétrica en el explorador de canalizaciones.

En la tabla Propiedades, cambie el valor de opacidad a entre 0,2 y 0,5. Las líneas constructivas y el renderizado geométrico ahora deben ser visibles. A continuación, vaya al menú superior y seleccione Filtros, Alfabético, Remuestrear con conjunto de datos y establezca el origen como la malla de volumen y la entrada como el archivo EnSight.case. Haga clic en Aceptar para continuar y aplique el filtro en la tabla Propiedades. A continuación, resalte la nueva remuestrea con conjunto de datos y reduzca la opacidad.

En el menú superior, cambie las líneas constructivas de Superficie a Puntos. Para determinar las condiciones de contorno, vaya al lado derecho de la interfaz y seleccione la herramienta Dividir vista horizontal. Elija la opción Vista De spreadSheet. En el cuadro desplegable Mostrar, seleccione el archivo de línea central y repase los archivos, seleccionando varios puntos para identificar una ubicación dentro de cada entrada y salida. Ahora utilice la vista SpreadSheet para calcular el vector normal entre dos puntos.

Después de encontrar el vector, active ResampleWithDataset y seleccione Filtros, Alfabético, Sector. Asegúrese de que aparece el filtro Sector, luego vaya a la tabla Propiedades y establezca el origen del plano como la misma ubicación de punto X, Y, Z para uno de los dos puntos utilizados para calcular el vector normal. Utilice esta opción para rellenar los valores normales y, a continuación, seleccione Aplicar. Active el filtro de sectores recién creado y seleccione Filtros, Alfabético, Flujo de superficie. Haga clic en Aplicar y, a continuación, active el nuevo elemento Flujo de superficie, seguido de Filtros, Alfabético, Pasos de tiempo de grupo, Aplicar.

En la vista SpreadSheet, abra los datos de GroupTimeSteps y use Exportar hoja de cálculo o copiar y pegar para exportar estos datos a Microsoft Excel. En ParaView, determine los pasos de tiempo y el tamaño del paso de tiempo recorriendo Tiempo. Para la simulación, queremos que el ciclo cardíaco comience en el tiempo es igual a cero. Por lo tanto, genere la escala de tiempo adecuada. A continuación, active el filtro Sector y seleccione Filtros, Alfabético, Integrar variables.

En la ventana emergente, cambie Atributo para mostrar Datos de celda. Esto le proporciona el área de sección transversal del segmento de entrada. Para que los datos de flujo sean compatibles con ANSYS Fluent, determine la escala de tiempo con unidades de segundos y la velocidad de entrada con unidades de metros por segundo.

La primera línea debe contener un nombre de datos, un número de columnas, un número de filas y un desencadenador binario para la repetibilidad. La siguiente línea contiene los nombres de cada una de las columnas de datos. Las velocidades de flujo, no las velocidades, se establecen debajo de la cabecera de columna respectiva. Con el fin de simular múltiples ciclos cardíacos sin problemas, los valores de velocidad inicial y final deben ser equivalentes.

Elija Archivo, Leer, Caso y abra el archivo .cas de malla de volumen que se utilizó anteriormente. Marque la casilla De Mostrar malla después de leer para mostrar la malla una vez importada. Seleccione Escala y aplique la conversión de unidad necesaria para garantizar el tamaño físico correcto del modelo. Seleccione Crear/Editar materiales y introduzca las propiedades del material para la sangre.

Ahora, seleccione la ventana de comandos de la consola y el archivo de entrada/. Utilice la tabla de lectura transitoria para importar las formas de onda de flujo transitorio ubicadas en la misma ubicación que el archivo .cas de malla de volumen. Utilice las formas de onda obtenidas de las mediciones de RMN de flujo 4D para establecer las condiciones de límite de entrada. A continuación, utilice una relación ponderada de entrada a salida para establecer las condiciones de contorno de salida.

Establezca los esquemas numéricos utilizados para el acoplamiento de velocidad de presión y la discretización de las ecuaciones Navier-Stokes. A continuación, en Inicialización de solución, establezca todos los valores iniciales en cero. En Actividades de cálculo, designe una carpeta de solución para guardar los resultados y especifique la frecuencia con Guardar automáticamente, Cada vez pasos. En Ejecutar cálculo, configure el Tamaño del paso de tiempo a partir de los datos de condiciones de límite de Excel. A menudo es preferible seleccionar un paso de tiempo más pequeño y permitir que Fluent interpolar. Repita durante al menos tres ciclos cardíacos.

Por último, establezca las iteraciones máximas entre 300 y 500. El software detendrá automáticamente las iteraciones en cada paso de tiempo una vez que se produce la convergencia. Después de que la simulación se haya configurado completamente, vuelva a Inicialización, Inicializar. Vuelva a Ejecutar cálculo y seleccione Calcular para ejecutar el solucionador. Los datos de la solución ahora se pueden visualizar en el software ANSYS CFD-Post o ParaView.

Ahora examinaremos algunos datos representativos. Este es un ejemplo de un aneurisma cerebral. A partir de los datos de RMN de flujo 4D, se detectaron patrones de flujo de recirculación complejos dentro de la región aneurisma. Sin embargo, la resolución es limitada en las regiones de flujo estancado observadas en la sección superior e inferior de la lesión. Después de ejecutar simulaciones CFD, se obtuvo una mayor resolución del campo de velocidad, particularmente cerca de las paredes del buque.

CFD también se puede utilizar para comparar diferentes condiciones de flujo en el mismo recipiente. Por ejemplo, las simulaciones de un recorte quirúrgico de la arteria cerebral anterior derecha e izquierda ayudan a visualizar los efectos del procedimiento en la dinámica de flujo.

Las simulaciones dinámicas de fluidos computacionales del flujo sanguíneo son herramientas útiles utilizadas en diversas aplicaciones biomédicas.

Por ejemplo, las afecciones hemodinámicas dentro de la vasculatura afectan el desarrollo y la progresión de enfermedades arteriales, incluyendo aterosclerosis y aneurismas. Dado que las mediciones directas son difíciles de adquirir in vivo, CFD es una herramienta de investigación estándar que se utiliza para modelar la dinámica del flujo sanguíneo. Puede proporcionar a los médicos orientación para el diagnóstico, así como diferentes escenarios de tratamiento.

Además del modelado vascular, las simulaciones CFD sirven para simular el flujo de aire basado en modelos nasales de las vías respiratorias. Es particularmente útil diseñar protocolos para entregar, de manera adecuada y controlada, aerosoles farmacéuticos a regiones olfativas dirigidas que interactúan directamente con el cerebro.

Acabas de ver la introducción de JoVE a la dinámica computacional de fluidos para simular el flujo sanguíneo. Ahora debe entender cómo se puede modelar la dinámica de flujo sanguíneo de alta resolución basándose en geometrías tridimensionales de los vasos. ¡Gracias por mirar!

JoVE Science Education is free through June 15th 2020.

RECOMMEND JoVE