FEATool Multiphysics ("Finite Element Analysis Toolbox for Multiphysics ") es una caja de herramientas de simulación de física, análisis de elementos finitos (FEA) y ecuaciones diferenciales parciales (PDE). [2] FEATool Multiphysics presenta la capacidad de modelar transferencia de calor completamente acoplada , dinámica de fluidos , ingeniería química , mecánica estructural , interacción fluido-estructura (FSI) , electromagnetismo , así como problemas de PDE personalizados y definidos por el usuario en 1D, 2D ( axisymmetry ) o 3D, todo dentro de una interfaz gráfica de usuario ( GUI ) u opcionalmente como archivos de script. [3] FEATool se ha empleado y utilizado en investigación académica, [4] [5] enseñanza, [6] [7] y contextos de simulación de ingeniería industrial. [8]
FEATool Multiphysics es un entorno de simulación de PDE y física totalmente integrado donde el proceso de modelado se subdivide en seis pasos: preprocesamiento ( modelado CAD y geométrico ), generación de mallas y cuadrículas , especificación de física y PDE, especificación de condiciones de contorno, solución y posprocesamiento y visualización. [9]
La interfaz gráfica de usuario (GUI) de FEATool que se muestra arriba fue diseñada para facilitar su uso y requerir un conocimiento previo mínimo. [10] Específicamente, debido a la integración completa de herramientas de CAD y simulación, los usuarios pueden cambiar entre los modos de preprocesamiento, análisis y posprocesamiento para cambiar los parámetros de simulación, modificar la geometría y las mallas, y evaluar y visualizar la solución. De esta manera, FEATool puede compensar cualquier sobrecarga de rendimiento al ahorrar tiempo a los usuarios en la configuración y el análisis de problemas. [11]
FEATool ha introducido una función de simulación múltiple mediante la cual se desarrollan interfaces para los solucionadores académicos y de código abierto más populares. Esta función permite utilizar estos solucionadores desde la interfaz gráfica de usuario y la interfaz de línea de comandos de FEATool sin necesidad de conocer en detalle la sintaxis o las peculiaridades de cada solucionador.
Las interfaces de los solucionadores CFD permiten resolver problemas de dinámica de fluidos con los solucionadores CFD de volumen finito OpenFOAM [12] y SU2 . El uso de las interfaces convierte automáticamente los modelos incompresibles de Navier-Stokes FEATool en archivos de diccionario de control, límites y malla compatibles con OpenFOAM/SU2, ejecuta simulaciones y, posteriormente, importa e interpola las soluciones resultantes en FEATool. De esta manera, se pueden simular modelos CFD más avanzados, más grandes y paralelos, por ejemplo, que incluyan turbulencia, sin salir de la interfaz de FEATool.
Similar a las interfaces de solucionador OpenFOAM y SU2, FEATool también cuenta con una interfaz completamente integrada con el solucionador general FEM y multifísica FEniCS . [13] Al utilizar la interfaz FEATool-FEniCS, ya que ambos códigos cuentan con lenguajes de definición de PDE, los problemas multifísicos se pueden traducir y convertir automáticamente en archivos de definición Python de FEniCS , después de lo cual se realizan llamadas del sistema al solucionador FEniCS y se vuelve a importar la solución resultante.
La operación de la GUI se registra como llamadas de función equivalentes y, por lo tanto, además de los formatos binarios, los modelos de simulación de FEATool también se pueden guardar y exportar como archivos m-script compatibles con MATLAB totalmente editables y con capacidad de script. [14] El breve script de MATLAB que se muestra a continuación ilustra cómo se puede definir y resolver un flujo completo alrededor de un problema de referencia de dinámica de fluidos computacional (CFD) de cilindros con las funciones m-script de FEATool (incluida la geometría, la generación de cuadrículas, la definición del problema, la resolución y el posprocesamiento, todo en unas pocas líneas de código). [15] [16] [17] Específicamente, las ecuaciones diferenciales parciales (PDE) y expresiones personalizadas se pueden ingresar y evaluar simplemente como expresiones de cadena tal como están, sin necesidad de una mayor compilación o escritura de funciones personalizadas. [18]
% Generación de geometría y malla. fea . sdim = { 'x' 'y' }; fea . geom . objects = { gobj_rectangle ( 0 , 2.2 , 0 , 0.41 , 'R1' ), ... gobj_circle ( [ 0.2 0.2 ], 0.05 , 'C1' ) }; fea = geom_apply_formula ( fea , 'R1-C1' ); fea . grid = gridgen ( fea , 'hmax' , 0.02 ); % Definición del problema (modo multifísico de ecuaciones de Navier-Stokes incompresibles). fea = addphys ( fea , @ navierstokes ); % Prescribe la viscosidad del fluido (la densidad predeterminada es 1). fea . phys . ns . eqn . coef { 2 , end } = { 0.001 }; % Condiciones de contorno (los límites no especificados son % por paredes antideslizantes de velocidad cero prescritas de forma predeterminada).% Entrada (bc tipo 2) en el límite 4. fea . phys . ns . bdr . sel ( 4 ) = 2 ; % Flujo de salida (bc tipo 3, presión cero) en el límite 2. fea . phys . ns . bdr . sel ( 2 ) = 3 ; % Expresión de velocidad x del perfil de entrada parabólico. fea . phys . ns . bdr . coef { 2 , end }{ 1 , 4 } = '4*0.3*y*(0.41-y)/0.41^2' ; % Verificar, analizar y resolver el problema. fea = parsephys ( fea ); fea = parseprob ( fea ); fea . sol . u = solvestat ( fea ); % Alternativamente, resuelva con OpenFOAM o SU2 % fea.sol.u = openfoam( fea ); % fea.sol.u = su2( fea );% Posprocesamiento y visualización. postplot ( fea , 'surfexpr' , 'sqrt(u^2+v^2)' , ... 'arrowexpr' , { 'u' 'v' } ) p_cil_delantero = evalexpr ( 'p' , [ 0,15 ; 0,2 ], fea ); p_cil_trasero = evalexpr ( 'p' , [ 0,25 ; 0,2 ], fea ); delta_p_computado = p_cil_delantero - p_cil_trasero delta_p_referencia = 0,117520
De manera similar a las interfaces de resolución externas, FEATool cuenta con soporte integrado para los generadores de malla Gmsh [19] y Triangle [20] . Si se solicita en lugar del algoritmo de generación de malla integrado, [21] FEATool convertirá y exportará los archivos de datos de entrada Gridgen2D, Gmsh o Triangle adecuados, llamará a los generadores de malla a través de llamadas externas del sistema y volverá a importar las cuadrículas resultantes en FEATool.