REQUISITOS HARDWARE NX NASTRAN (II)

Logo de NX NASTRANHace más de dos años (allá por Enero 2014, cómo pasa el tiempo!!) publicamos la 1ª parte del artículo sobre los REQUISITOS HARDWARE de NX NASTRAN (I) donde explicábamos los aspectos básicos de la configuración hardware de NX NASTRAN en general, así como los detalles específicos para utilizar el solver con el pre&postprocesador FEMAP. Pues bien, en este artículo vamos a avanzar un poco más y aprender cómo configurar tanto a nivel de hardware como de software del Sistema Operativo (SO) Windows con el objetivo de mejorar el rendimiento y las prestaciones del solver de Análisis por Elementos Finitos NX NASTRAN para dar respuesta al reto de incremento continuado del tamaño del modelo de Elementos Finitos (EF) que año tras año sigue aumentando de forma irremediable:

  • En 2004 un tamaño de 1.2 millones de GDL se consideraba un modelo grande.
  • En 2011 un tamaño de modelo de 10 a 20 millones de GDL era un tamaño típico en muchos modelos de EF.
  • En 2016 se estima manejar tamaños de modelos de EF entre 30 a 50 millones de GDL de forma habitual.

Para solucionar el reto del tamaño del modelo de EF tendremos que:ENGINE

  • Seleccionar el hardware y SO (Sistema Operativo) correcto.
  • Utilizar el hardware de forma eficiente, incluyendo el ajuste de parámetros del SO.
  • Usar de forma apropiada los “NX Nastran Keywords & Parameters“.
  • Aprovechar la capacidad de procesado en paralelo de NX NASTRAN.
  • Seleccionar métodos de solución adecuados para reducir el tiempo de cálculo.

Selección de Hardware y SO

square Procesador:

  • Cuanto más rápido mejor, por supuesto.
  • Pero además la clave está en la cantidad de memoria caché del procesador, cuanta más mejor, y esto la gente no lo valora en general. Aquí tienes algunos ejemplos de procesadores del mercado:
    • Intel Core i7 de 6ª generación (Skylake) varía entre 4 y 8 MB de caché y 2 canales de memoria.
    • Intel Core i7 Extreme Edition varía entre 10 y 20 MB de caché y 4 canales de memoria.
    • Intel Xeon E5 v3 varía entre 10 y 35 MB de caché, y de 3 a 4 canales de memoria.
    • Intel Xeon E7 v3 varía entre 20 y 45 MB de caché, con 4 canales de memoria.
  • Preferible usar procesadores con múltiples núcleos, cuantos más mejor.
  • Se rumorea que en Octubre de 2016 AMD va a sacar una nueva generación de procesadores fabricados en 14 nm con una arquitectura completamente nueva llamada Zen y con 8 núcleos físicos que supondrá un cambio radical con los actuales procesadores Intel. Tendrá un TDP de 95W, lo cual no está nada mal (su competidor directo, el Intel Core i7-5960X con CPU de 8 núcleos, arroja un TDP de 140W, además de estar fabricado en una litografía de 22nm). Se especula que su socket sea el fm3 con soporte DDR4.

amd-zen-processor

square Memoria RAM:

  • La memoria RAM en procesos de cálculo es clave, recomiendo instalar toda la memoria RAM que admita el ordenador: si no hay RAM suficiente de nada vale la potencia del procesador. La memoria que no use el solver NX NASTRAN será utilizada por el SO para caché de I/O, reduciendo así el tiempo de cálculo
  • Hace varios años un ordenador con 32 GB de RAM era una máquina realmente potente, pero en la actualidad es muy poco, recomiendo al menos instalar 64 GB de RAM, es lo mínimo!!.
  • Ya tenemos en el mercado disponible la nueva generación de portátiles Skylake que admiten hasta 64 GB de RAM DDR4, impresionante (ya queda menos para comprar el mío!!). Y en WorkStations instalar 128 GB de RAM ya es de lo más habitual.
  • La nueva generación de procesadores Intel con tecnologías HASWELL y SKYLAKE soportan memoria RAM DDR4 cuya ventaja más representativa (frente a la vieja DDR3) es el incremento de la frecuencia del reloj unido a un menor voltaje de funcionamiento (por tanto menor generación de calor), lo cual proporciona un mayor rendimiento, cuantificado (según algunos fabricantes) en un 50% de mejora.

square Disco:

  • El uso de discos “profesionales” SSD (Solid State Drive) supone una ganancia brutal en prestaciones ya que no tiene partes mecánicas, son sólidos, y se caracterizan por una alta velocidad de transferencia de datos (¡¡10 veces!! más rápido que un disco duro mecánico convencional) y unos tiempos mínimos de acceso a la información (además desprenden menos calor al alcanzar menos temperatura y no hacen absolutamente ningún ruido). A mayor I/O, menor tiempo de cálculo.
  • La velocidad de transferencia de un disco duro mecánico de 7200 rpm suele ser de 100 a 150 MB/s, mientras que un SSD “doméstico” con interfaz SATA3 llega fácilmente a los 550 MB/s.
  • El nuevo formato M.2 con conexión PCI-Express 3.0 x4 NVMe (por ejemplo, el Samsung SSD 950 PRO 512GB M.2) alcanza velocidades de transferencia de 2500 MB/s, es decir, casi 5 veces más rápido que un SSD normal!!. El factor de forma M.2 es de reciente creación ya que ha llegado al mercado con el chipset Z97 de Intel, pero su uso irá en aumento en los próximos meses ya que substituirá por completo al formato mSATA.
  • Es preferible montar una WorkStation con múltiples discos (1 + 4): un disco SSD para el sistema operativo (que arrancará en menos de 10 segundos) y cuatro discos SSD en configuración RAID-0 (Disk Stripping) para el espacio de SCRATCH de NX Nastran.
  • Por ejemplo, ahora que los precios de los discos SSD han bajado bastante recomiendo montar un RAID-0 con 4 discos SSD de 256 GB para tener una unidad [D:] con 1 TB donde establecer el directorio D:\SCRATCH.
  • Es importante establecer siempre el directorio SCRATCH de NX NASTRAN en un disco físico separado de la unidad del SO [C:]. No sólo una partición distinta, sino un disco físico distinto. Se recomienda hacer lo mismo con el directorio temporal D:\TEMP.
  • Una segunda buena alternativa es montar un RAID-0 con discos SAS de 15K RPM que son más rápidos y más fiables que los discos SATA, y además consumen menos energía que los discos SATA. Pero para mí la opción SSD es la más eficiente, no hay color!!.

square GPU e Intel MIC

  • El GPU COMPUTING o cálculo acelerado en la GPU puede definirse como el uso de una unidad de procesamiento gráfico (GPU) en combinación con una CPU para acelerar aplicaciones de cálculo científico. Ofrece un rendimiento elevado ya que traslada las partes de la aplicación con mayor carga computacional a la GPU y deja el resto del código ejecutándose en la CPU. Requiere el uso de tarjetas gráficas profesionales de coste bastante elevado, tales como la AMD FirePro W9100, la nVIDIA QUADRO M6000 o la Intel Xeon Phi 7120D.

gpu

comparativa-quadro-amd

  • La GPU debe tener suficiente memoria para cargar por completo (“in core”) los módulos de NX NASTRAN.
  • Aclarar que de momento la GPU Computing no es algo que se pueda utilizar de forma masiva y general en cualquier tipo de cálculo por Elementos Finitos con NX Nastran, es una ayuda que puede reducir el tiempo de cálculo en la resolución de problemas muy específicos, por ejemplo, en el Análisis Dinámico de Respuesta en Frecuencias (SOL111). El impacto en la reducción del tiempo de cálculo es realmente importante en grandes modelos donde sea necesario extraer una gran cantidad de modos de vibración (+5000 modos).
  • Hasta ahora la implementación del GPU COMPUTING con NX NASTRAN se ha centrado en dos módulos: DCMP (descomposición de la matriz) y FRRD1 (respuesta en frecuencia).
  • En pruebas realizados por Joe Bracking (miembro del equipo de desarrollo de FEMAP en EE.UU.) sobre un ordenador Dell T3600 con procesador Xenon dual, quad core, 64 GB de RAM, 1TB hybrid drive, 512GB SSD drive, 256GB PCIe SSD drive y una tarjeta gráfica AMD Firepro W9100 con 16 GB demuestran que la implementación del módulo DCMP en Windows parece que no funciona muy bien (en Linux hace bien el trabajo), emplea más tiempo de cálculo en vez de reducirlo.
  • En cambio la implementación del módulo FRRD1 trabaja muy bien cuando se usa con una tarjeta gráfica potente. La buena noticia es que en el nuevo interface de usuario de FEMAP V11.3 podremos activar de forma selectiva únicamente el módulo FRRD1 en vez de dejar que NX NASTRAN utilice ambos módulos con la GPU. De todas formas la tecnología cambia rápidamente y en muy en pocos meses, y todo aquello que antes era imposible de pronto se puede hacer realidad, así que estaremos atentos a la evolución del mercado.

gpu-computing

square Priorizar para obtener máximas prestaciones al menor precio

  • Maximizar el nº de cores cuanto más rápidos mejor y con la mayor cantidad de memoria caché.
  • Añadir toda la memoria RAM posible.
  • Maximizar el rendimiento I/O y la velocidad del disco.
  • Añadir aceleración de cálculo por GPU en cálculos dinámicos de grandes modelos.

Sistema Operativo (SO): I/O Cache

square Problema

  • La lectura y escritura de información en el disco duro es lenta en discos mecánicos.
  • Algunos sectores del disco se leen varias veces de forma repetida.
  • La información que se escribe en el disco probablemente se vaya a leer de nuevo muy pronto.

square Solución

  • Mantener la información en memoria reducirá los tiempos de búsqueda en el disco.
  • Hacer uso de la memoria RAM libre como memoria caché.
  • Cuando una aplicación necesita memoria, el gestor de memoria caché pagina memoria al disco (Paginar la apllicación vs. Paginar el I/O Cache).

OS-settings-IO-cache-horizontal

SO: Habilitar “I/O Cache” en el Disco

  • La caché de lectura está siempre habilitada por defecto tanto en Linux como en Windows (superfetch feature).
  • En Linux la caché de escritura se habilita usando la orden “hdparm” o equivalente.
  • En Windows ir a “Panel de Control > Sistema > Configuración Avanzada del Sistema > Hardware > Administración de Dispositivos > Unidades de Disco > Directivas” para habilitar la caché de escritura en los diferentes dispositivos de almacenamiento.

activar-io-cache-disco

I/O Cache & Paginación en Windows

square Problema

  • A medida que un fichero se hace más y más grande, el SO se queda sin memoria.
  • El gestor de memoria caché del SO paginará a disco la última memoria no utilizada.
  • Las páginas de NX NASTRAN se pueden paginar a disco para acomodar la caché de I/O.

square Solución

  • Limitar el caché de I/O de Windows al 25% – 50% de la memoria física.
  • Deshabilitar el caché usando “sysfield=buffio=yes,raw=yes” en el fichero *.rcf.

page-out

NX Nastran: Memoria RAM

square Fichero *.rcf

Lo primero constatar que en base a las pruebas realizadas puedo asegurar que la última versión de NX Nastran V10.2 es un 10% más rápido que NX Nastrran V10.0 resolviendo exactamente el mismo modelo, lo cual es una excelente noticia. También estoy muy contento con el nuevo fichero de configuración (*.rcf) implantado a partir de la versión de NX Nastran V10.0. Por si no lo hebeis notado el nuevo fichero de configuración nast10.rcf incluye detalles muy interesantes que ayudan al usuario a sacar más provecho fácilmente de las máquinas con mucha memoria RAM. Los nuevos parámetros también ayudan a evitar que un usuario asigne recursos excesivos que ocasionen una pérdida de prestaciones. Aquí tienes copia del fichero nast10.rcf:

buffsize=32769
memory=.45*physical
smem=20.0X
buffpool=20.0X

Se recomienda consultar el fichero *.F04 para ver si hemos definido los parámetros de cálculo óptimos para el modelo.

  • Asignar al cálculo suficiente memoria RAM para evitar que el solver pagine a disco (avoid disk spillover).
    • Al menos asignar 1.2 a 1.3 veces el valor que aparece en “memory required to avoid spill
  • No asignar a NX Nastran más del 50% de la memoria total del sistema. De esta forma el SO tendrá más memoria RAM libre para convertirla en I/O Cache y acelerar el proceso de cálculo.
  • Cuando no hay memoria RAM suficiente esto puede afectar al método de re-ordenación usado en NX Nastran provocando una descomposición muy lenta de la matriz de rigidez. Asegúrate de seleccionar bien el método BEND o el método METIS.

f04

La siguiente imagen muestra el tiempo de cálculo de diferentes modelos de EF resueltos con NX Nastran en función de la memoria RAM disponible:

memory-management

  • Incluso cuando la memoria RAM es suficiente para descomponer la matriz de rigidiez, otros módulos de NX Nastran como MPYAD pueden dar múltiples pases cuando la memoria es insuficiente, lo cual genera más I/O (revisar siempre el fichero *.F04).

memory-management2

NX Nastran: Directorio “Scratch”

scratch-iconEs crítico situar correctamente el directorio “Scratch” de NX Nastran: usar el “keywordSDIRECTORY (o abreviado SDIR) en el fichero <femar_dir>\nastran\conf\nast10.rcf, por ejemplo:

Sdir=C:\SCRATCH
program=FEMAP
scr=yes
buffsize=32769
memory=.45*physical
smem=20.0X
buffpool=20.0X

  • El directorio SCRATCH debe estar situado en un disco rápido (por ejemplo un disco SSD PCI-Express) o en una matriz de discos configurados en modo RAID-0 (lo ideal es un RAID-0 a base de discos SSD).
  • Siempre es preferible un disco local frente a una red (usando una conexión Infiniband o GigE dedicada).
  • Un directorio SCRATCH situado en una red local genérica con un sistema de archivos NFS tendrá una penalización significativa en prestaciones debido a su I/O lento que afectará a la red local general.

En FEMAP la orden FILE > PREFERENCIAS > DATABASE te permite controlar la dirección del directorio SCRATCH para FEMAP (recuerda, este valor corresponde a FEMAP, no a NX NASTRAN), pero yo utilizo el mismo directorio para ambos ya que las exigencias en cuanto a prestaciones son las mismas: una unidad de disco lo más rápida posible!!.

scratch-directory-femap

En FEMAP la orden FILE > PREFERENCES > INTERFACES nos permite especificar la dirección del directorio SCRATCH de NX Nastran: “0..Nastran Default” significa que usará la variable SDIR del fichero *.rcf.

scratch-directory-nxnastran

NX Nastran: Procesado en Paralelo

Actualmente con NX Nastran tenemos disponibles dos tipos de arquitecturas para cálculo en paralelo:SMP y DMP.

  • La arquitectura SMP (Shared Memory Parallel) permite asignar tantos CORES como tenga el ordenador para realizar el cálculo en paralelo con NX NASTRAN, pero no es escalable y tiene sus limitaciones a partir de un cierto nº de cores.
  • En cambio, la arquitectura DMP (Distributed Memory Parallel) permite utilizar un CLUSTER de múltiples máquinas con uno o más procesadores comunicadas a través de una red local, donde cada máquina tiene su propia memoria RAM y su disco duro, por tanto la solución es escalable, una bomba!!.

parallel

La siguiente imagen muestra las diferencias entre ambas arquitecturas de cálculo en paralelo: SMP vs. DMP.

parallel-smp-dmp

square NX Nastran SMP

  • Fácil de usar: simplemente en FEMAP especificamos el nº de CORES y listo!.
  • Disponible en todos los tipos de análisis de NX NASTRAN.
  • Módulos de NX Nastran paralelizados:
    • Matrix decomposition, DCMP
    • Multiply Add, MPYAD
    • Forward-Backward Substitution, FBS
    • (Frequency response, FRRD1
    • Driver module for Sol 401 (NLTRD3)
    • Resto de módulos que indirectamente hagan llamadas a DCMP, MPYAD, FBS.

smp-femap

square NX Nastran DMP

  • Disponible con los siguientes tipos de análisis SOL101, SOL103, SOL105, SOL108, SOL111, SOL112 y SOL200.
  • Partición de la malla, Frecuencias y Cargas.
  • Disponible tanto en plataformas Linux x86_64 como en Windows.
  • El módulo DMP estará disponible como add-on con FEMAP V11.3 y NX Nastran Desktop.

dmp-solutions

NX Nastran: Análisis Lineal de Contactos

square Importancia de la Máxima Distancia de Contacto
contact-search-distance

  • NX Nastran soporta contacto lineal en análisis estático lineal (SOL101), así como en análisis de frecuencias y modos de vibración (SOL103), pandeo lineal (SOL105), dinámico de frecuencias (SOL111) y dinámico transitorio (SOL112). También incluye la capacidad de contacto en análisis no lineal estático y dinámico con el nuevo solver “multi-step” SOL401.
  • Las opciones de contacto son:
    • superficie-a-superficie” entre caras de elementos Shell y Sólidos 3-D.
    • arista-con-arista” en problemas Sólidos 2-D de tensión plana, deformación plana y axisimétricos (sólidos de revolución).
  • Hay que poner mucha atención al valor de la máxima distancia de contacto (Maximum Contact Search Distance) ya que influye de manera importante en el nº de iteraciones de contacto y por tanto en el tiempo total de cálculo.
  • El rango entre el valor mínimo y máximo de la distancia de búsqueda de contacto lo usa el solver NX Nastran internamente para determinar qué caras (o aristas) de elementos están incluidos en dicho rango y generar los elementos de contacto entre ellos. Estos elementos de contacto se crean únicamente una vez, al inicio del análisis estático lineal SOL101, y se mantendrán los mismos durante todo el análisis, aunque el solver a cada iteración de contacto determinará el status de cada elemento de contacto: entre activo e inactivo.
  • Recuérdese que estamos hablando de cálculo estático lineal donde se producen pequeños desplazamientos (small displacements), por tanto las piezas en contacto deben estar tocándose físicamente, no puede existir una separación importante entre componentes, por tanto se debe definir un valor reducido de la distancia de contacto tal como 0.1 mm ó 0.5 mm, que a nadie se le ocurra definir una separación de digamos 5.0 mm entre cuerpos y realizar un análisis de contacto estático lineal porque el resultado obtenido en desplazamientos y tensiones será “useless“, es decir, servirá de bien poco, OK?.
  • Se recomienda utilizar el solver Iterativo (Element Iterative Solver) cuando el modelo esté mallado masivamente con elementos 3-D sólidos CTETRA y/o CHEXA. Con elementos 2-D Shell y 1-D Viga se recomienda usar siempre el Direct Sparse Solver (por defecto).
  • Ajustar los valores globales de los parámetros MAXF (Maximum Force Iterations = 10, por defecto) y CTOL (Contact Force Convergence Tolerance = 0.01, por defecto) de la tarjeta BCTPARM para reducir el nº de iteraciones de contacto.

contact-property

El siguiente gráfico muestra la relación entre el nº de iteraciones de contacto y el nº de elementos de contacto que están activos entre una iteración y la siguiente (NCHG) para diferentes valores de la máxima distancia de contacto: cuanto mayor es la distancia de contacto, mayor es el tiempo de cálculo.

iteraciones-de-contacto

square Reutilizar la Matriz de Contacto

NX Nastran permite escribir la matriz de contacto en formato DMIG incluyendo el parámetro KGGCPCH=1 en el BULK DATA SECTION (es decir, PARAM, KGGCPCH, 1) del fichero de entrada del análisis estático lineal (SOL101) de NX Nastran. El solver escribe la matriz de rigidez de contacto a partir de la última iteración de contacto en el fichero PUNCH en formato DMIG (Direct Matrix Input at Grids). Esta opción sólo está disponible con el DIRECT SPARSE solver (el solver iterativo no soporta esta opción).

La matriz DMIG se puede incluir en sucesivos análisis incluyendo la siguiente línea en el CASE CONTROL del fichero de entrada de NX Nastran: K2GG = KGGC

Los beneficios que obtenemos son los siguientes:

  • Incluir el efecto de contacto en sucesivos análisis tal como análisis de frecuencias (SOL103) o análisis de respuesta forzada (SOL111) sin tener que resolver de nuevo el problema de contacto.
  • Ahorro considerable de tiempo de cálculo.

contact-stiffness

square Tornillos Pretensados con Contacto

NX Nastran permite definir tornillos pretensados no sólo con elementos viga 1-D CBEAM sino también mallando con elementos sólidos 3-D CTETRA, CHEXA o CPENTA y definir el contacto local de “no penetración” entre la superficie exterior del tornillo (cabeza, tuerca y bástago) y las superficies de las piezas a unir.

bolt-preload-setupLa siguiente imagen muestra un ejemplo de aplicación del contacto entre la cabeza y bástago del tornillo pretensado con las piezas a unir de forma solidaria.

bolt-preload-contact

square Tornillos Pretensados en un Análisis Modal (SOL103) con Contactos

NX Nastran permite incluir una condición de contacto en un análisis de modos normales (SOL103) a través del comando STATSUB calculando la matriz de rigidez diferencial que incluye la matriz de contacto. Todo esto lo tenéis explicado paso-a-paso en la siguiente publicación (Noviembre 2011): ANÁLISIS DE FRECUENCIAS (SOL103) DE UN ENSAMBLAJE CON CONTACTOS “SURFACE-TO-SURFACE”

bolt-preload-modal

square Tornillos Pretensados en un Análisis Dinámico de Respuesta Forzada (SOL111) con Contactos

NX Nastran permite incluir también una condición de contacto en un análisis dinámico modal de respuesta en frecuencias (SOL111) o modal transitorio (SOL112) utilizando diferentes técnicas con el mismo resultado. La opción de reutilizar la matriz de rigidez de contacto en formato DMIG es 9 veces más rápida.

bolt-preload-forced-response

En Resumen …

  • La selección juiciosa del hardware puede mejorar las prestaciones de forma significativa.
  • Maximizar el uso de los recursos hardware eligiendo las opciones adecuadas tanto del SO como del solver NX Nastran:
    • Aceleración por la GPU.
    • Gestión de Memoria.
    • Procesado en Paralelo.
    • Parámetros de Contacto.
    • Métodos de Solución.

Saludos,
Blas.

Datos de Contacto de IBERISA (Spain)

ANÁLISIS DE FLUIDOS CFD con FEMAP TMG FLOW

TMG-THERMAL-FLOWFEMAP TMG FLOW es un software de Análisis de Fluidos (CFD) integrado en FEMAP desarrollado por MAYA HTT (Canadá) que utiliza un método eficiente y robusto basado en tecnología avanzada de volúmenes de control por diferencias finitas para resolver las ecuaciones no lineales de transferencia de calor y movimiento de fluidos de Reynolds Averaged Navier-Stokes (RANS) que gobiernan la conservación de la masa, momento y energía del fluido para obtener el campo de velocidades, presiones y temperaturas en problemas conjugados con acoplamiento fluido-térmico en régimen permanente y/o transitorio, incluyendo conducción, radiación terreste y orbital en satélites, convección libre, convección forzada y cambios de fase. En la WEB de IBERISA tienes completa información en la siguiente dirección: http://www.iberisa.com/products.htm

FEMAP TMG es modular y está disponible en las siguientes configuraciones:

  • FEMAP TMG Thermal: incluye capacidades básicas de conducción, convección y radiación.
  • FEMAP TMG Flow: incluye análisis de fluidos CFD.
  • FEMAP TMG Advanced Thermal: incluye capacidades adicionales de radiación y otras funcionalidades. Es un módulo add-on de FEMAP TMG Thermal, es decir, requiere tener licencia de FEMAP TMG Thermal.
Aplicación de FEMAP TMG/FLOW + TMG/THERMAL a la resolución de problemas CFD en componentes electrónicos

Aplicación de FEMAP TMG FLOW + TMG THERMAL a la resolución de problemas CFD conjugados con acoplamiento fluido-térmico en componentes electrónicos con transmisión de calor por conducción, convección y radiación.

La combinación de FEMAP TMG Flow con los módulos FEMAP TMG Thermal y FEMAP TMG Advanced Thermal permite modelizar un amplio rango de problemas multi-físicos.

bga4021 brake43 nanosat_007
aba_01 fv_blowerA04 eb_03
CT_ps11-1 CT_psa05 pcb05

La siguiente tabla muestra todas las capacidades de los módulos FEMAP TMG Flow, FEMAP TMG Thermal y FEMAP TMG Advanced Thermal, así como el tipo de licencia requerida.

Capacidades Generales de FEMAP TMG

Feature Flow Thermal Adv Thermal
Ambient Conditions
Export I-DEAS Universal File
Export Universal File for NX
FE Study
Import I-DEAS Universal File
Import Universal File for NX
Initial Conditions
Model Manager
Selected Results
Solution Data
Solver Control

Capacidades de FEMAP TMG FLOW

Feature Flow Thermal Adv Thermal
Blockage
Fan
Fan Curve
Flow Surface
Periodicity
Recirculation Fan
Rotating Frame of Reference
Screen
Supersonic Inlet
Surface Properties
Symmetry Plane
TMG Executive Menu
Vent

Capacidades de FEMAP TMG Thermal

Feature Flow Thermal Adv Thermal
Additional Conductance
Boundary Condition Mapping Settings
Electrical Coupling
Element Reporting
Interpolation Relationship
Non-Geometric Element
Radial Heat Flow
Radiation Control
Radiation Request
Radiation Switches
Referencing Entities
Reverse Side
Tabular Data
Temperature Mapping
Thermal Boundary Condition
Thermal Coupling
Thermostat

Capacidades de FEMAP TMG Advanced Thermal

Feature Flow Thermal Adv Thermal
Articulation
Diurnal Heating
Duct Fan/Pump
Duct Forced Convection
Duct Inlet/Outlet
Duct Properties
Element Deactivation Set
Elimination Set
Export Radiation Model
Free Convection
Import Radiation Model
Merge Set
Orbit Modeling
Orbit Visualizer
Parallel Processing
Peltier Cooler
Primitive
Radiative Heating
Results Reporter
TMG Executive Menu

 

Análisis CFD del Sistema de Escape

Para conocer mejor el funcionamiento de FEMAP TMG FLOW vamos a realizar un análisis CFD del sistema de escape de un motor de combustión interna que llevan los automóviles actuales. Los componentes típicos de un sistema de escape los tenemos en la siguiente figura:

SISTEMA-DE-ESCAPE

Partes de un Sistema de Escape:

  • Colectores de Escape o “headers”:
    Este es el primer punto de contacto de los gases de escape después de salir de la culata del motor de explosión.
  • Catalizador:
    Este elemento es el encargado de que todavía podamos respirar el aire en las ciudades con un tráfico muy denso. Recoge el NOx, los CO y los hidrocarburos no quemados que proceden de los gases de escape y los “convierte” en N2, O2, CO2 y H20, mucho menos perjudiciales para el medio ambiente.
  • Silencioso o “Muffler”:
    Hay muchos tipos de silenciadores, pero el objetivo principal es eliminar el ruido. Una de las formas más comunes de trabajar de los silenciadores es redirigiendo el flujo de aire. Por el camino, los gases de escape pasan a través de tuberías porosas que permiten que los gases de escape se expandan en el material de aislamiento acústico que lleva el silencioso en su interior, lo que minimiza el ruido que finalmente sale por el tubo de escape.
  • Resonador:
    Ayuda a eliminar parte del ruido. El resonador trabaja rechazando las ondas sonoras para que se anulen entre sí, y por lo general, están afinados en una frecuencia especifica donde el ruido del motor podría ser demasiado ruidoso o indeseable.

Preprocesado del Modelo CFD

Importar Modelo CAD 3-D Sólido

Importamos el modelo CAD 3-D sólido en FEMAP del dominio fluido donde podemos ver claramente los componentes más importantes del sistema de escape: catalizador (catalitic converter), silenciador (muffler) y tubería de conexión (connecting pipe) con las siguientes características:

  • Caudal de entrada de aire: 215 l/s.
  • Pérdida de carga en el convertidor catalítico (simula un medio poroso): 5000 Pa.
  • Ratio de Area Libre en el tubo perforado del Silencioso: 0.479.
  • Rugosidad de la pared de separación del Silencioso: 0.1 mm.

conjunto-escape

La geometría del catalizador (catalitic converter) está dividia en las siguientes partes:

La caja silenciadora, silenciador o silencioso (en inglés se conoce como Muffler) está dividido en las siguientes partes:

silenciador

Propiedades del Fluido

FEMAP TMG Flow incluye una librería de materiales con sus propiedades térmicas y de fluidos que se encuentra en el directorio <femap_install>\TMG\femap\bas\tmg_material_SI.esp. Aquí tenemos propiedades sobre diferentes fluidos (gases y líquidos) así como sólidos. En nuestro ejemplo del Sistema de Escape seleccionaremos AIRE como fluido. En primer lugar en la orden MODEL > MATERIAL seleccionamos el MATERIAL TYPE = FLUID y seguidamente AIRE de la librería de materiales. Las propiedades de todos los materiales de la librería están definidas en unidades del Sistema Internacional (SI), donde la Masa se expresa en Kg, la Densidad en kg/m^3, la Longitud en metros, la Fuerza en Newtons y la Presión en Pascales, es decir, N/m^2.
>>> Importante: el Sistema de Unidades Internacional (SI ) es el sistema de unidades que de debe utilizar siempre en la resolución de problemas CFD con FEMAP TMG FLOW:

material-type-fluid

air-material-properties

Mallado 3-D del Silencioso (Muffler)

El volumen fluido del silenciador (Muffler) se malla en FEMAP usando elementos sólidos HEX8 ya que la geometría es relativamente sencilla (en el vídeo de YouTUBE explico diferentes técnicas de mallado con elementos sólidos 3-D Hexaédricos, así como “trucos” de preparación de la geometría para el mallado hexaédrico). La siguiente imagen muestra la geometría del catalizador lista para mallar con elementos sólidos 3-D hexaédricos:

MUFFLER-geom

En FEMAP TMG Flow la geometría sólida que representa el dominio fluido se puede mallar bien con elementos sólidos 3-D tetraédricos lineales (TET4 de 4-nodos), o con elementos sólidos 3-D hexaédricos lineales (Bricks HEX8 de 8-nodos) o con elementos sólidos 3-D prismas triangulares lineales (WEDGE de 6-nodos), siempre en función de la complejidad geométrica del modelo 3-D. Personalmente siempre que la geometría lo permita mi tipo de elemento preferido es el elemento exaédrico lineal HEX8.

tmg-3d-solid-finite-element

Es posible mallar el dominio fluido con elementos sólidos 3-D parabólicos (TET10 de 10-nodos, Bricks HEX20 de 20-nodos o WEDGE de 12-nodos), pero no mejora la precisión de los resultados ya que el solver TMG FLOW los trata internamente como elementos lineales, así que siempre se debe mallar con elementos de bajo orden.

Tanto TMG FLOW como TMG Thermal son solvers de diferencias finitas, usan una formulación de volúmenes de control donde las variables se calculan en el centro del elemento, así que cambiar el orden de la malla de lineal a parabólico no afecta en la formulación del elemento. Los resultados se extrapolan a todos los nodos (incluyendo los midside nodes) por interpolación de las variables a partir de los puntos de integración del volumen finito.

muffler-hex8-mesh

Mallado 2-D del Tubo Perforado

Muchos silenciosos llevan en general en su interior unos tubos perforados de acero inoxidable eficaces para eliminar ruidos de frecuencias altas, tal como muestra la siguiente figura:

silencioso-tubo-perforado

La siguiente imagen muestra la malla 2-D a base de elementos QUAD4 Thin Shell lineales de 4-nodos utilizada para mallar las superficies del tubo perforado de Acero Inoxidable que va colocado en el interior del silencioso, así como la pared de separación de acero inoxidable también que divide físicamente ambos recintos.

malla-tubo-perforado

La siguiente imagen muestra una vista de conjunto del interior del silencioso con la malla 2-D del tubo perforado así como la malla 2-D de la placa de separación de acero Inoxidable entre ambos recintos. La malla 2-D es independiente de la malla 3-D del fluido, las mallas no tienen que ser coincidentes. Posteriormente en TMG FLOW definiremos el efecto en el fluido de los agujeros en el tubo perforado, así como el efecto de obstrucción en la placa de separación.

silencioso-malla-tubo-perforado

Mallado 3-D del Catalizador

El dominio fluido 3-D del tubo y el convertidor catalítico se mallan de forma automática con elementos sólidos 3-D tetraédricos lineales (TET4 de 4-nodos). La densidad de malla utilizada garantiza una buena precisión de resultados ya que se ha mallado con más de 6 elementos la entrada de aire del catalizador.

catalizador-malla

Densidad de Malla 3-D del Fluido

Es importante elegir una densidad de malla 3-D sólida apropiada para mallar el dominio fluido ya que afecta a la precisión de los resultados. La malla debe ser densa para capturar los detalles del flujo del fluido, pero es difícil crear una malla lo suficientemente refinada para capturar todos los detalles y a la vez obtener unos tiempos de cálculo reducidos. En la práctica las limitaciones en el nº de nodos y elementos está más en el hardware (memoria RAM y espacio en disco disponible) que en el software (máximo 10 millones): por ejemplo, un modelo por encima de los 300.000 elementos ya es muy grande. En general, TMG FLOW no requiere usar una malla excesivamente refinada, un modelo entre 10.000 y 100.000 elementos se considera de tamaño razonable y capaz de modelizar con precisión cualquier problema CFD complejo.

  • El fluido sólo puede pasar de un cuerpo a otro si las caras de los elementos 3-D de la malla de fluido son “co-planares“. Para obtener la máxima precisión en el cálculo lo mejor es hacer que los nodos de los elementos de la malla de fluido sean coincidentes y proceder a “mergear” nodos entre componentes.
  • En el caso de mallas 3-D de fluidos no coincidentes, el solver TMG FLOW todavía puede tratar los cuerpos como un único dominio de fluido, más adelante explicaremos cómo activar esta capacidad.
  • La siguiente imagen muestra el detalle de la malla “disjunta” existente entre el tubo de entrada del silencioso (elementos 3-D sólidos exaédricos HEX8 en violeta) y la salida del tubo proveniente del catalizador (elementos 3-D sólidos tetraédricos TET4 en verde).
  • En este caso los nodos de ambos cuerpos no están mergeados, se ha hecho “ex-profeso” para explicar el funcionamiento de este potente mecanismo que ofrece TMG Flow para unir mallas de fluidos “disjuntas” (es decir, no coincidentes) y reducir así el trabajo de mallado y el tamaño del modelo CFD: la clave está en que las mallas en contacto sean co-planares, y que la densidad de malla en ambos cuerpos sea similar, de lo contrario se producirá cierta pérdida tanto de precisión como de prestaciones.

malla-disjunta

Aprovecho para dejar constancia aquí de las recomendaciones generales de mallado 3-D que se deben seguir para el caso especial de análisis CFD de equipos electrónicos:

  • Usar entre 2 ó 3 elements entre placas. Un elemento es suficiente para un análisis rápido. Pero nunca usar más de 5 a 8 elementos entre placas para modelizar flujos turbulentos.
  • A menudo, con placas muy poco espaciadas, el flujo es unidimensional (es decir, laminar). Si se sospecha que pueda existir un patrón de flujo más complejo entonces mallar con más elementos.
  • Mallar con 8 a 12 elementos a lo largo de la longitud o anchura de una placa de circuito impreso (PCB) para un análisis a nivel de sistema. Si se desea estudiar el flujo del fluido alrededor de un componente en más detalle entonces se recomienda refinar la malla en esa zona. Un análisis de detalle de un PCB puede requerir una malla mucho más refinada.
  • Refinar la malla en áreas donde haya cambios rápidos en la dirección del flujo o en la presión del fluido, por ejemplo en la reducción súbita de la sección transversal del flujo. Esto es muy importante de cara a calcular con precisión las pérdidas de carga del circuito, en especial si se busca el punto de trabajo de la curva de ventilador.
  • En general se recomienda no incluir los mínimos detalles de los componentes más pequeños, salvo que se desee realizar un estudio muy detallado. En su lugar es mejor utilizar FLOW SURFACES que permiten representar características como la rugosidad y la convección general en placas PCB, este detalle lo veremos más adelante.
  • La densidad de malla en las tomas de entrada y salida del fluido debe ser bastante refinada, se recomienda mallar con al menos 5 elementos.

heat-transfer-bga

Modelo de Turbulencia en la Pared

  • En régimen turbulento (nótese que el flujo de aire en recintos con componentes electrónicos es casi siempre turbulento, incluso con valores del nº de Reynolds muy bajos) es esencial que la malla no sea muy refinada cerca de las FLOW SURFACES y de las paredes adiabáticas.
  • Es preferible tener el primer nodo de la malla fuera de la sub-capa laminar para que la función de pared realice una predicción correcta del comportamiento del fluido en función de la distancia a la pared. El valor de Y+ (calculado por TMG FLOW) indica la posición del primer nodo interno en relación con la capa límite. La región de la capa límite en régimen turbulento tiene un valor de Y+ por encima de 30. A pesar de que los resultados son mas exactos para valores de Y+ mayores de 30, los modelos de turbulencia “K-epsilon” y “Mixing Length” de TMG Flow tienen en cuenta valores pequeños de Y+ añadiendo una función de amortiguamiento a la turbulencia viscosa. El amortiguamiento reduce de forma efectiva la turbulencia viscosa cerca de la pared, forzando el valor cero a medida que Y+ tiende a cero. Debido al amortiguamiento en la turbulencia viscosa, los modelos “K-epsilon” y “Mixing Length” de TMG FLOW obtienen un comportamiento correcto del fluido incluso para valores de Y+ menores de 30.
  • En resumen, la función de pared describe la velocidad del fluido como una función de la distancia a la pared dentro de la región más cercana a la misma. Mediante el uso de la función de pared podemos generar mallas regularmente espaciadas en vez de complejas y costosas mallas muy refinadas a través de varias capas de espesor variable (Boundary Layer Mesh), y sin necesidad de resolver la sub-capa viscosa. La implementación de la función de pared tiene en cuenta cada capa interna y además incorpora los efectos de rugosidad en la pared.
  • Los modelos de turbulencia que usan siempre la función de pared son el “K-epsilon” y el “Mixing Length“, pero también se puede usar la función de pared en los modelos de turbulencia avanzados de TMG FLOW como “K-omega“, “SST – Shear Stress Transport” y “LES – Large Eddy Simulation” (más adelante explicaremos en detalle los modelos de turbulencia disponibles en TMG FLOW).

wall-function

Acceso al Panel de TMG

Seguidamente cargamos TMG FLOW haciendo clic en el icono TMG Panel tmg y en “Options > Preferences > Units” activamos el sistema de unidades internacional SI (N, m, W, ºC) que utilizaremos para definir las cargas y condiciones de contorno del modelo CFD.

TMG-PANEL-units

fan2 Fan

La condición de contorno FAN permite definir tanto un ventilador externo al dominio computacional (que puede ser de entrada o salida de fluido) así como un ventilador interno (Recirculation Fan) que mueva el fluido, pudiendo especificar la dirección del mismo. En el campo “Flow Parameter” se pueden definir los siguientes valores:

  • Velocity: velocidad (m/s, mm/s, ft/min, in/s, km/hr, miles/hr).
  • Mass Flow: caudal másico (kg/s, kg/min, kg/hr, lbm/s, lbm/min, lbm/hr).
  • Volume Flow: caudal volumétrico (m^3/s, m^3/min, m^3/hr, l/s, l/min, l/hr, cfm).
  • Pressure Rise: cambio de presión (N/m^2, Pa, psi, atm).
  • Fan Curve: Curva de Ventilador.

En nuesro caso usaremos la orden FAN para definir un caudal volumétrico constante Q=215 litros/s de entrada de AIRE en la dirección perpendicular a la superficie del tubo del catalizador.

inlet-flow-bc

vent2 Vent

La condición de contorno VENT permite definir una abertura externa que permita al fluido entrar o salir del dominio computacional. Téngase en cuenta que la condición de contorno Vent puede actuar como una entrada o usa salida, dependiendo de las condiciones de cálculo del fluido.

vent-bcs

 

screen2 Screen

La condición de contorno SCREEN sirve para caracterizar tabiques, placas perforadas o filtros que bloquean parcialmente el paso del fluido dentro de un recinto y tener en cuenta la pérdida de carga causada por los mismos. SCREEN se aplica sobre superficies malladas con elementos 2-D, las cuales deberán estar completamente rodeadas por ambas caras de elementos fluido 3-D sólidos. En nuestro caso, vamos a utilizar la orden SCREEN para caracterizar el tubo perforado que va colocado dentro del silencioso, cuya geometría original es la siguiente:

tubo-perforado

La orden SCREEN permite calcular la pérdida de carga del dispositivo utilizando el parámetro FREE AREA RATIO, que es la relación entre el área total de los agujeros dividido por el área total del tubo sin agujeros = 0.479

tubo-perforado-free-area-ratio

tubo-perforado-screen

flowsurface2 Flow Surface

El uso de la orden FLOW SURFACE es clave en TMG FLOW para redirigir el flujo del fluido y caracterizar el intercambio de calor por convección entre una superficie y el fluido que la rodea. La orden permite definir:

  • La rugosidad característica de una superficie.
  • Las propiedades de convección de una superficie.
  • La función de pared.
  • Convertir una superficie en una Obstrucción al flujo del fluido.
  • Prescribir velocidad de translación o rotación en superficies en movimiento en cortadura.

flow-surfaces-examples2

El siguiente ejemplo muestra una FLOW SURFACE mallada con elementos 2-D (en rojo) que representa una superficie definida internamente dentro del dominio fluido mallado con elementos 3-D sólidos:
(A) Los nodos de la FLOW SURFACE mallada con elementos 2-D son coincidentes con los nodos de la malla 3-D sólida que representa el fluido.
(B) Compartir nodos sólo es necesario en superficies curvadas (en superficies planas no es obligatorio), así de esta forma el solver reconoce la FLOW SURFACE y durante el proceso de análisis abre la malla de fluido y obstruye el paso del flujo de fluido a través de la superficie.

flow-surfaces-examples3

En nuestro caso utilizaremos la orden FLOW SURFACE a aplicar a la superficie de separación (tabique) entre recintos del silencioso, que mallaremos con elementos planos 2-D y le asignaremos una rugosidad a ambos lados de la superficie de valor 0.1 mm. Aquí la malla de elementos 2-D es coplanar con la malla de fluido 3-D sólido.

flow-surfaces

flowblockage2 Flow Blockage

La orden BLOCKAGE permite definir una obstrucción del dominio fluido (se aplica a mallas 3-D sólidas) y forzar el flujo alrededor de un objeto o que atraviese una porción del fluido con una pérdida de carga específica. Tenemos tres tipos:

  • Solid: permite crear una obstrucción con malla de fluido 3-D sólida que bloquea el flujo del fluido a través de ella pero que puede intercambiar calor con el fluido por convección.
  • Isotropic Porous: seleccionar elementos 3-D de fluido y definir una pérdida de carga por unidad de longitud.
  • Orthotropic Porous: seleccionar elementos 3-D de fluido y definir una pérdida de carga por unidad de longitud en cada unos de los ejes globales X, Y, Z.

En nuestro ejemplo vamos a usar la orden BLOCKAGE para reemplazar la estructura interior de “panal de abeja” del catalizador por una obstrucción porosa isotrópica con una pérdida de carga de 5000 Pa por unidad de longitud.

flow-blockage

manager2 Model Manager

Con Model Manager podemos crear, editar, borrar, copiar y ver toda la información y condiciones de contorno que hemos creado hasta al momento en TMG FLOW.

model-manager2

 ambient2 Ambient Condition

Definimos las condiciones ambientales de presión, aceleración de la gravedad y temperatura del entorno, así como el vector de dirección de aceleración de la gravedad.

ambient-conditions

solutiondata2 Solution Data

Con Solution Data controlamos la generación de resultados tanto del modelo térmico como del modelo de fluidos:

solution-data

solvercontrol2 Solver Control

Es el centro de control de los diferentes módulos de cálculo de TMG, aquí indicamos el tipo de cálculo a realizar. Activando el botón 3D FLOW SOLVER podemos seleccionar el modelo de turbulencia viscoso a utilizar en el análisis CFD: Fixed Turbulent Viscosity, K-epsilon Turbulent Viscosity, Laminar Flow y Mixing Length Model.

  • Laminar Flow: es adecuado para realizar análisis laminares, por ejemplo el flujo entre las aletas de un disipador de calor o para fluidos más viscosos. Antes de utilizar el modelo de flujo laminar hay que calcular el nº de Reynolds, cuyo valor debe ser menor de 2000 para conductos y canales. Las condiciones de turbulencia pueden existir incluso para valores más pequeños del nº de Reynolds.
  • Fixed Turbulent Viscosity: es un modelo de turbulencia robusto y rápido. Se usa para obtener una respuesta rápida preliminar. También puede ser útil para ver tendencias generales y detectar areas problemáticas en el modelo CFD. La mayor desventaja es que es un modelo muy sensible a las escalas de turbulencia especificadas. Una alternativa para mejorar la precisión es hacer un RESTART utilizando el modelo Mixing Length o K-epsilon.
  • Mixing Length (Algebraic Model): ofrece buenos resultados en muchas aplicaciones, aunque en general es menos exacto que el modelo K-epsilon, en cambio es más robusto y de menor coste computacional. Predice con precisión flujos con capas finas como jets, mixing layers, wakes & boundary layers. Pero puede fallar en flujos con separación de capa y recirculación (como los remolinos que se producen detrás de una obstrucción circular). En estos casos el uso del modelo K-epsilon es la mejor opción.
  • K-epsilon Turbulent Viscosity (Two-Equation Model): es el modelo de turbulencia más utilizado y validado de la historia, ofrece una excelente precisión de cálculo. Sin embargo, ofrece pobres prestaciones en flujos externos, flujos con rotación, flujos con fuertes gradientes de presión o flujos con valores bajos de Y+ (<11). El tiempo de cálculo puede ser el doble o el triple, además requiere refinar mucho la malla para observar mejoras en la simulación de turbulencia, así que se recomienda usar primero el modelo Fixed Turbulent Viscosity y pasar al K-epsilon en modelos finales.

solver-control

Análisis CFD

solve2 Solve

Una vez seleccionados los parámetros del modelo de turbulencia ejecutamos el análisis CFD con la orden SOLVE y se abre el TMG Solution Monitor donde podemos seguir el proceso de cálculo paso-a-paso.

solution-monitor

También podemos ver la convergencia de la solución CFD. En nuestro caso la solución converge en 25 iteraciones cumpliendo con los valores residuales RMS impuestos (momento y masa) con un tiempo de cálculo < 2 minutos.

solution-convergence

También podemos visualizar el progreso (tracking) de la convergencia de los resultados de temperatura, velocidad y presión del fluido:

track-results

Mientras calcula el solver TMG FLOW podemos ver SOLUTION INFORMATION que nos va dando información sobre la evolución de los valores max/min/average de presión, velocidad, temperatura así como %imbalance en momento, masa y energía.

solution-information

 

Postprocesado de Resultados

Tras finalizar el cálculo CFD pasamos a ejecutar la tarea de postprocesar en FEMAP los resultados de velocidad, presión, temperatura, etc.. utilizando vectores, contornos de color, isosurfaces, cortes por planos, animaciones y visualizar las líneas de flujo (streamlines).

Resultados de Velocidad

La siguiente imagen muestra a nivel global el resultado de vectores de velocidad (m/s) en el sistema de escape.

vectores-velocidad-global

La siguiente imagen muestra la animación de los vectores de velocidad en el catalizador: se observa la modificación en la trayectoria del flujo del aire al atravesar la obstrucción porosa aplicada en una de las partes del catalizador en forma de pérdida de carga de 5000 Pa. También se puede apreciar la formación de remolinos en los laterales de entrada del catalizador, el modelo de turbulencia K-epsilon ha capturado correctamente el comportamiento del fluido.

velocidad-catalizador-animated

En la siguiente imagen podemos ver una animación de los vectores de velocidad en el silencioso, donde se aprecia cómo el aire atraviesa el tubo perforado pero choca contra el tabique de separación de ambas cámaras, formándose los correspondientes remolinos. La clave: de nuevo el uso del modelo de turbulencia K-epsilon.

vectores-velocidad-muffler-animated

También podemos dar cortes por uno o varios planos sobre el campo de velocidades, es una información interesante:

velocidad-cutting-plot

Resultados de Presión

En la siguiente imagen vemos el reparto de la Presión Total (Pa) mediante iso-surfaces de igual valor:

presion-total-isosurfaces

Streamlines

Streamlines son curvas tangentes a la velocidad del fluido en cada punto del dominio fluido. Se definen para un instante de tiempo y no se entrecruzan nunca. Sirven para mostrar una foto fija de cómo se mueve el campo de fluido.

streamlineas-catalizador

Vídeo en YouTube

Aquí os dejo copia del vídeo en YOUTUBE donde explico paso-a-paso la creación del modelo CFD con FEMAP TMG FLOW, espero que os resulte interesante!:

Saludos,
Blas.

Datos de Contacto de IBERISA (Spain)