FEATool Multiphysics ("Caja de herramientas de análisis de elementos finitos para multifísica ") 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 totalmente acoplada , dinámica de fluidos , ingeniería química , mecánica estructural , interacción fluido-estructura (FSI) , electromagnetismo , así como problemas PDE personalizados y definidos por el usuario en 1D, 2D ( axisimetría ). ), 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 contextos de investigación académica, [4] [5] enseñanza, [6] [7] y simulación de ingeniería industrial. [8]
FEATool Multiphysics es un entorno de simulación de física y PDE totalmente integrado donde el proceso de modelado se subdivide en seis pasos; preprocesamiento ( CAD y modelado geométrico ), generación de mallas y cuadrículas , especificación 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 contar con conocimientos previos mínimos. [10] Específicamente, debido a la integración total de CAD y herramientas de 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, hasta la evaluación y visualización de soluciones. De esta manera, FEATool puede compensar cualquier sobrecarga de rendimiento ahorrando 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 solucionadores académicos populares y de código abierto. Esta característica permite que estos solucionadores se utilicen desde la GUI y la CLI de FEATool sin un conocimiento detallado de la sintaxis o las peculiaridades de cada solucionador.
Las interfaces del solucionador 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 modelos incompresibles de Navier-Stokes FEATool en archivos de diccionario de control, límites y malla OpenFOAM/SU2 compatibles, ejecuta simulaciones y luego importa e interpola las soluciones resultantes nuevamente en FEATool. De esta manera, se pueden simular modelos CFD más avanzados, más grandes y paralelos, que incluyen, por ejemplo, turbulencias, sin salir de la interfaz FEATool.
De manera similar a las interfaces de resolución OpenFOAM y SU2, FEATool también presenta una interfaz totalmente integrada para el solucionador multifísico y FEM general FEniCS . [13] Utilizando la interfaz FEATool-FEniCS, como ambos códigos cuentan con lenguajes de definición PDE, los problemas multifísicos se pueden traducir y convertir automáticamente a archivos de definición FEniCS Python , después de lo cual se realizan llamadas al 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 editables y totalmente programables. [14] El breve script de MATLAB que aparece a continuación ilustra cómo se puede definir y resolver un problema de referencia de dinámica de fluidos computacional (CFD) de flujo completo alrededor de un cilindro con las funciones FEATool m-script (que incluyen geometría, generación de cuadrículas, definición de problemas, resolución y posprocesamiento). todo en unas pocas líneas de código). [15] [16] [17] Específicamente, las ecuaciones diferenciales parciales (PDE) y las expresiones personalizadas pueden simplemente ingresarse y evaluarse como expresiones de cadena tal como están, sin necesidad de compilar más ni escribir funciones personalizadas. [18]
% Geometría y generación de malla. fea . sdim = { 'x' 'y' }; fea . geom . objetos = { 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 . cuadrícula = gridgen ( fea , 'hmax' , 0,02 ); % Definición del problema (modo multifísico de ecuaciones incompresibles de Navier-Stokes). fea = addphys ( fea , @ navierstokes ); % Prescribe la viscosidad del fluido (la densidad es 1 por defecto). fea . fis . ns . ecuación . coef { 2 , fin } = { 0,001 }; % Condiciones de límite (los límites no especificados son % por paredes de velocidad cero antideslizantes prescritas por defecto).% de flujo de entrada (bc tipo 2) en el límite 4. fea . fis . ns . hab . selección ( 4 ) = 2 ; % Flujo de salida (bc tipo 3, presión cero) en el límite 2. fea . fis . ns . hab . selección ( 2 ) = 3 ; % Expresión de velocidad x del perfil de flujo parabólico. fea . fis . ns . hab . coef { 2 , fin }{ 1 , 4 } = '4*0.3*y*(0.41-y)/0.41^2' ; % Verificar, analizar y resolver problemas. fea = parsephys ( fea ); fea = parseprob ( fea ); fea . soles . u = solvestat ( fea ); % Alternativamente resolver con OpenFOAM o SU2 % fea.sol.u = openfoam( fea ); % fea.sol.u = su2( fea );% Postprocesamiento y visualización. postplot ( fea , 'surfexpr' , 'sqrt(u^2+v^2)' , ... 'arrowexpr' , { 'u' 'v' } ) p_cyl_front = evalexpr ( 'p' , [ 0,15 ; 0,2 ], fea ); p_cyl_back = evalexpr ( 'p' , [ 0,25 ; 0,2 ], fea ); delta_p_calculado = p_cyl_front - p_cyl_back delta_p_reference = 0,117520
De manera similar a las interfaces de resolución externa, FEATool presenta soporte integrado para los generadores de malla Gmsh [19] y Triangle [20] . Si se solicita en lugar del algoritmo de generación de malla incorporado, [21] FEATool convertirá y exportará archivos de datos de entrada Gridgen2D, Gmsh o Triangle apropiados, llamará a los generadores de malla a través de llamadas al sistema externo y volverá a importar las grillas resultantes a FEATool.