# Método de los elementos finitos

El método de los elementos finitos (MEF en castellano o FEM en inglés) es un método numérico general para la aproximación de soluciones de ecuaciones diferenciales parciales muy complejas utilizado en diversos problemas de ingeniería física.
El MEF está pensado para ser usado en computadoras y permite resolver, de forma aproximada, ecuaciones diferenciales asociadas a un problema físico o ingenieril sobre geometrías complicadas. El MEF se usa en el diseño y mejora de productos y aplicaciones industriales, así como en la simulación de sistemas físicos y biológicos complejos. La variedad de problemas a los que puede aplicarse ha crecido enormemente, siendo el requisito básico que las ecuaciones constitutivas y ecuaciones de evolución temporal del problema sean conocidas de antemano.

## Introducción

El MEF permite obtener una solución numérica aproximada sobre un cuerpo, estructura o dominio (medio continuo) —sobre el que están definidas ciertas ecuaciones diferenciales en forma débil o integral que caracterizan el comportamiento físico del problema— dividiéndolo en un número elevado de subdominios no-intersectantes entre sí denominados «elementos finitos». El conjunto de elementos finitos forma una partición del dominio también denominada discretización. Dentro de cada elemento se distinguen una serie de puntos representativos llamados «nodos». Dos nodos son adyacentes si pertenecen al mismo elemento finito; además, un nodo sobre la frontera de un elemento finito puede pertenecer a varios elementos. El conjunto de nodos considerando sus relaciones de adyacencia se llama «malla».
Los cálculos se realizan sobre una malla de puntos (llamados nodos), que sirven a su vez de base para discretización del dominio en elementos finitos. La generación de la malla se realiza usualmente con programas especiales llamados generadores de mallas, en una etapa previa a los cálculos que se denomina preproceso. De acuerdo con estas relaciones de adyacencia o conectividad se relaciona el valor de un conjunto de variables incógnitas definidas en cada nodo y denominadas grados de libertad. El conjunto de relaciones entre el valor de una determinada variable entre los nodos se puede escribir en forma de sistema de ecuaciones lineales (o linealizadas). La matriz de dicho sistema de ecuaciones se llama matriz de rigidez del sistema. El número de ecuaciones de dicho sistema es proporcional al número de nodos.
Típicamente el análisis de los elementos finitos se programa computacionalmente para calcular el campo de desplazamientos y, posteriormente, a través de relaciones cinemáticas y constitutivas las deformaciones y tensiones respectivamente, cuando se trata de un problema de mecánica de sólidos deformables o más generalmente un problema de mecánica de medios continuos. El método de los elementos finitos es muy usado debido a su generalidad y a la facilidad de introducir dominios de cálculo complejos (en dos o tres dimensiones). Además el método es fácilmente adaptable a problemas de transmisión de calor, de mecánica de fluidos para calcular campos de velocidades y presiones (mecánica de fluidos computacional, CFD) o de campo electromagnético. Dada la imposibilidad práctica de encontrar la solución analítica de estos problemas, con frecuencia en la práctica ingenieril los métodos numéricos y, en particular, los elementos finitos, se convierten en la única alternativa práctica de cálculo.
Además del amplio rango de problemas clásicos que pueden ser eficientemente trabajados con este método, recientemente también se ha utilizado para resolver EDPs tipo Schrödinger, y ha permitido simular exitosamente efectos cuánticos en sistemas de baja dimensionalidad tales como nanopartículas metálicas, nanotubos de carbono, puntos cuánticos, pozos cuánticos, moléculas artificiales, y monocapas de calcogenuros con metales de transición.
Una importante propiedad del método es la convergencia; si se consideran particiones de elementos finitos sucesivamente más finas, la solución numérica calculada converge rápidamente hacia la solución exacta del sistema de ecuaciones.

## Historia

El MEF fue al principio desarrollado en 1943 por Richard Courant, quien utilizó el método de Ritz de análisis numérico y minimización de las variables de cálculo para obtener soluciones aproximadas a un sistema de vibración. Poco después, un documento publicado en 1956 por M. J. Turner, R. W. Clough, H. C. Martin, y L. J. Topp estableció una definición más amplia del análisis numérico. El documento se centró en «la rigidez y deformación de estructuras complejas». Con la llegada de los primeros ordenadores instaura el cálculo matricial de estructuras. Éste parte de la discretización de la estructura en elementos lineales tipo barra de los que se conoce su rigidez frente a los desplazamientos de sus nodos. Se plantea entonces un sistema de ecuaciones resultado de aplicar las ecuaciones de equilibrio a los nodos de la estructura. Este sistema de ecuaciones se esquematiza de la siguiente manera:
   (*)$\mathbf {f} =\mathbf {K} \cdot \mathbf {u}$
Donde las incógnitas son los desplazamientos en los nodos (vector u) que se hallan a partir de las "fuerzas" o "solicitaciones" en los nodos (vector $\mathbf {f}$) y de la rigidez de las barras (matriz de rigidez $\mathbf {K}$). Conocidos dichos desplazamientos es posible determinar los esfuerzos en las barras. La solución obtenida es bastante precisa si se cumplen las hipótesis implícitas en la formulación.

### Uso práctico del método hacia 1950

Cuando se produce la llegada de los primeros equipos de cómputo en la década de 1950, el cálculo de estructuras se encontraba en un punto en el que los métodos de cálculo predominantes consistían en método iterativos (métodos de Cross y Kani) que se realizaban de manera manual y, por tanto, resultaban bastante tediosos. El cálculo de una estructura de edificación de varios pisos, por ejemplo, podía llevar varias semanas, lo cual suponía un coste sustancial de tiempo en detrimento de la posibilidad de invertir este en la optimización de la estructura.
La llegada de la computadora permitió el resurgimiento del método de los desplazamientos ya conocidos en siglos anteriores (Navier, Lagrange, Cauchy), pero que eran difíciles de aplicar dado que al final conducían a la resolución de enormes sistemas de ecuaciones inabordables desde el punto de vista manual.

### De 1960 a 1970

Cuando las aplicaciones prácticas de elementos finitos crecieron en tamaño, los requerimientos de tiempo de cálculo y memoria de los ordenadores creció. En ese punto el desarrollo de algoritmos más eficientes se volvió importante. Para la resolución de los sistemas de ecuaciones se potencia el estudio de la adaptabilidad de los algoritmos ya conocidos (Gauss, Cholesky, Crout, Gradiente conjugado, etc.). El ahorro de tiempo es impensable y con ello el uso del método matricial se extiende. Este desarrollo se hace especialmente notable en estructuras de edificación donde la discretización de los pórticos en barras, es prácticamente inmediata a partir de las vigas y los pilares.
Sin embargo, y a pesar de desarrollarse modelizaciones de elementos superficiales mediante barras (losas con emparrillados, elementos curvos mediante aproximaciones de elementos rectos, etc.), se plantean grandes dificultades ante estructuras continuas (superficies y volúmenes) y con geometrías complejas. De ahí que sea precisamente dentro del campo aeroespacial donde comiencen a desarrollarse las nuevas técnicas del MEF. Dada su generalidad el método se amplió a otros campos no estructurales como la conducción de calor, la mecánica de fluidos, etc., donde compitió con otros métodos numéricos como el de método de las diferencias finitas que aun siendo más intuitivos, tenían de nuevo dificultades de planteamiento para geometrías complejas.
Con la llegada de los centros de cálculo y los primeros programas comerciales en los años 60, el MEF a la vez que se populariza en la industria refuerza sus bases teóricas en los centros universitarios.
En los años 70 se produce un gran crecimiento de la bibliografía así como la extensión del método a otros problemas como los no lineales. En esta década, el MEF estaba limitado a caros ordenadores centrales generalmente poseído por las industrias aeronáuticas, de automoción, de defensa y nucleares. Se estudian nuevos tipos de elementos y se sientan las bases matemáticas rigurosas del método, que había aparecido antes más como técnica de la ingeniería que como método numérico de la matemática.

### A partir de 1980

Por último, a partir de la década de los 80, con la generalización de los ordenadores personales, se extiende el uso de los programas comerciales que se especializan en los diversos campos, instaurándose el uso de pre y postprocesadores gráficos que realizan el mallado y la representación gráfica de los resultados. Se continúa en el estudio de la aplicación del método a nuevos modelos de comportamiento (plasticidad, fractura, daño continuo, etc.) y en el análisis de los errores.
En la actualidad, dentro del campo estructural, el MEF comparte protagonismo con el método matricial, siendo muchos los programas que mezclan el análisis por ambos métodos, debido sobre todo a la mayor necesidad de memoria que requiere el análisis por elementos finitos. Así se ha dejado la aplicación del MEF para el análisis de elementos continuos tipo losa o pantalla, mientras que los pórticos siguen todavía discretizándose en barras y utilizando el método matricial. Y desde el rápido declive en el coste de los ordenadores y el fenomenal incremento en la potencia de cálculo, el MEF ha desarrollado una increíble precisión. A día de hoy, los superordenadores son capaces de dar resultados bastante precisos para todo tipo de parámetros.

## Descripción matemática del método

El desarrollo de un algoritmo de elementos finitos para resolver un problema definido mediante ecuaciones diferenciales y condiciones de contorno requiere en general cuatro etapas:
* El problema debe reformularse en forma variacional.
* El dominio de variables independientes (usualmente un dominio espacial) debe dividirse mediante una partición en subdominios, llamados elementos finitos. Asociada a la partición anterior se construye un espacio vectorial de dimensión finita, llamado espacio de elementos finitos. Siendo la solución numérica aproximada obtenida por elementos finitos una combinación lineal en dicho espacio vectorial.
* Se obtiene la proyección del problema variacional original sobre el espacio de elementos finitos obtenido de la partición. Esto da lugar a un sistema con un número de ecuaciones finito, aunque en general con un número elevado de ecuaciones incógnitas. El número de incógnitas será igual a la dimensión del espacio vectorial de elementos finitos obtenido y, en general, cuanto mayor sea dicha dimensión tanto mejor será la aproximación numérica obtenida.
* El último paso es el cálculo numérico de la solución del sistema de ecuaciones.
Los pasos anteriores permiten construir un problema de cálculo diferencial en un problema de álgebra lineal. Dicho problema en general se plantea sobre un espacio vectorial de dimensión no-finita, pero que puede resolverse aproximadamente encontrando una proyección sobre un subespacio de dimensión finita, y por tanto con un número finito de ecuaciones (aunque en general el número de ecuaciones será elevado típicamente de miles o incluso centenares de miles). La discretización en elementos finitos ayuda a construir un algoritmo de proyección sencillo, logrando además que la solución por el método de elementos finitos sea generalmente exacta en un conjunto finito de puntos. Estos puntos coinciden usualmente con los vértices de los elementos finitos o puntos destacados de los mismos. Para la resolución concreta del enorme sistema de ecuaciones algebraicas en general pueden usarse los métodos convencionales del álgebra lineal en espacios de dimensión finita.
En lo que sigue d es la dimensión del dominio, n el número de elementos finitos y N el número de nodos total.

### Formulación débil

La formulación débil de una ecuación diferencial permite convertir un problema de cálculo diferencial formulado en término de ecuaciones diferenciales en términos de un problema de álgebra lineal planteado sobre un espacio de Banach, generalmente de dimensión no finita, pero que puede ser aproximado por un sistema finito de ecuaciones algebraicas.
Dada una ecuación diferencial lineal de la forma:
   (1)${\mathcal {L}}(u)=f$
Donde la solución es una cierta función definida sobre un dominio d-dimensional $\Omega \subset \mathbb {R} ^{d}$, y se han especificado un conjunto de condiciones de contorno adecuadas, puede suponerse que la función buscada es un elemento de un espacio de funciones o espacio de Banach V y que la ecuación (2) es equivalente a:
   (2a)$\mathbf {A} (u)=f,\qquad {\begin{cases}u\in V&f\in V'\\\mathbf {A} :V\to V'&\mathbf {A} \in {\mathcal {L}}(V,V')\end{cases}}$
Donde V' es el espacio dual de V, la forma variacional débil se obtiene buscando la única solución $u\in V$ tal que:
   (2b)$a(u,v)=\langle f,v\rangle ,\quad \forall v\in V\qquad {\mbox{donde}}{\begin{cases}a(u,v)=\langle \mathbf {A} u,v\rangle \\\langle f,v\rangle =\int _{\Omega }fv\ d\Omega \end{cases}}$
Cuando el operador lineal es un operador elíptico, el problema se puede plantear como un problema de minimización sobre el espacio de Banach.

### Discretización del dominio

Dado un dominio $\Omega \subset \mathbb {R} ^{d}$ con una frontera continua en el sentido de Lipschitz una partición en n "elementos finitos", es una colección de n subdominios $\scriptstyle \{\Omega ^{(e)}\}_{e=1}^{n}\,$ que satisface:
* $\Omega =\cup _{e=1}^{n}\Omega ^{(e)}$
* Cada $\Omega ^{(e)}$ es un conjunto compacto con una frontera Lipschitz-continua.
* ${\mbox{int}}(\Omega ^{(i)})\cap {\mbox{int}}(\Omega ^{(j)})=\emptyset ,\quad i\neq j$
Usualmente por conveniencia práctica y sencillez de análisis, todos los "elementos finitos" tienen la misma "forma", es decir, existe un dominio de referencia $\scriptstyle {\hat {\Omega }}\subset \mathbb {R} ^{d}$ y una colección de funciones biyectivas:
   $\{F^{(e)}|F^{(e)}:{\hat {\Omega }}\to \Omega ^{(e)}\}$
Este dominio de referencia se suele llamar frecuentemente también dominio isoparamétrico. En los análisis 2D (d = 2) el dominio de referencia ${\hat {\Omega }}$ se suele tomar como un triángulo equilátero o un cuadrado, mientras que en los análisis 3D (d = 3), el dominio de referencia típicamente es un tetraedro o un hexaedro. Además sobre cada elemento se considerarán algunos puntos especiales, llamados nodos y que generalmente incluirán los vértices del elemento finito y se requerirá la condición adicional de que dos elementos adyacentes compartan los nodos sobre el subconjunto $\scriptstyle \Omega ^{(i)}\cap \Omega ^{(j)}$, es decir:
   $\mathbf {x} \in \Omega ^{(i)}\cap \Omega ^{(j)}\land (\mathbf {x} \in {\mbox{nod}}(\Omega ^{(i)}))\Rightarrow (\mathbf {x} \in {\mbox{nod}}(\Omega ^{(j)}))$
Una vez definida la partición en elementos finitos, se define sobre cada elemento un espacio funcional de dimensión finita, usualmente formado por polinomios. Este espacio funcional servirá para aproximar localmente la solución del problema variacional. El problema variacional en su forma débil se plantea sobre un espacio de dimensión no-finita, y por tanto la función buscada será una función de dicho espacio. El problema en esa forma exacta es computacionalmente inabordable, así que en la práctica se considerará un subespacio de dimensión finita $\scriptstyle V^{h}$ del espacio vectorial original $\scriptstyle V$. Y en lugar de la solución exacta de (2b) se calcula la proyección de la solución original sobre dicho subespacio vectorial de dimensión finita, es decir, se resolverá numéricamente el siguiente problema:
   (2c)$a(u^{h},v^{h})=\langle f,v^{h}\rangle ,\quad \forall v^{h}\in V^{h}$
Donde:
    $u^{h}=\Pi _{e}(u)\in V^{h}\,$, es la solución aproximada.
    $\Pi _{e}:V\to V^{h}\,\quad V^{h}\subset V$ es el proyector ortogonal del espacio original sobre el subespacio vectorial asociado a la discretiación.
Si la discretización es suficientemente fina y el espacio funcional finito sobre cada elemento está bien escogido, la solución numérica obtenida aproximará razonablemente bien la solución original. Eso implicará en general considerar un número muy elevado de elementos finitos y por tanto un subespacio de proyección de dimensión elevada. El error entre la solución exacta y la solución aproximada puede acotarse gracias al lema de Ceá, que en esencia afirma que la solución exacta y la solución aproximada satisfacen:
   (LC)$\|u-u^{h}\|_{V}\leq c\inf _{v^{h}\in V^{h}}\|u-v^{h}\|_{V}$
Es decir, el error dependerá ante todo de lo bien que el subespacio vectorial asociado a la discretización en elementos fintios $\scriptstyle V^{h}$ aproxime el espacio vectorial original $\scriptstyle V$.

### Funciones de forma y espacio de la solución

Existen muchas formas de elegir un conjunto de funciones que formen una base vectorial sobre la que aproximar la solución exacta del problema. Desde un punto de vista práctico resulta útil definir un espacio vectorial $\scriptstyle {\hat {X}}$ de dimensión finita definido sobre el dominio de referencia $\scriptstyle {\hat {\Omega }}$ formado por todos los polinomios de grado igual o inferior a cierto grado:
   $P_{n}(\Omega )\subset {\hat {X}}$
Entonces mediante las aplicaciones que aplican el dominio de referencia a cada elemento finito se define el espacio vectorial $\scriptstyle V^{h}\subset V$ que servirá para aproximar la solución como:
   (3)$V^{h}=\{v^{h}\in V|\ \forall e:v^{h}\circ F^{(e)}\in {\hat {X}}\}$
Cuando $\scriptstyle F^{(e)}\,$ es una función lineal y el espacio $\scriptstyle {\hat {X}}$ está formado por polinomios entonces la restricción de $\scriptstyle v^{h}\in V^{h}$ es también un polinomio. El espacio vectorial $\scriptstyle {\hat {X}}$ es un espacio polinómico en que la base de dicho espacio está formada por funciones de forma $\scriptstyle {\hat {N}}_{i}$, que dado el conjunto de nodos del dominio de referencia se definen como:
   ${\hat {N}}_{i}(\xi _{j})={\begin{cases}1&i=j\\0&i\neq j\end{cases}}$
Esto permite definir de manera unívoca unas funciones de forma sobre el dominio real sobre el que se define el problema:
   $\forall \xi \in {\hat {\Omega }}:{\hat {N}}_{i}(\xi )=(N_{i}^{(e)}\circ F^{(e)})(\xi )$
Estas funciones se pueden extender a todo el dominio, gracias a que el conjunto de subdominios o elementos finitos constituye una partición de todo el dominio:
   $N_{i}:\Omega \to \mathbb {R} ^{d},\qquad \forall x\in \Omega ^{(e)}\subset \Omega :N_{i}(x)=N_{i}^{e}(x)$
Las funciones de forma permiten proyectar sobre el espacio de elementos finitos cualquier función definida sobre el dominio original mediante el proyector $\scriptstyle \Pi ^{h}$:
   (4)$(\Pi ^{h}v)(\cdot )=\sum _{i=1}^{n}v(x_{i})N_{i}(\cdot )\in V^{h}$

### Resolución de las ecuaciones

Fijada una base asociada a una determinada discretización del dominio, como por ejemplo la dada por las funciones $\scriptstyle N_{i}(x)$ la forma débil del problema (, cuando la función $a(\cdot ,\cdot )$ es bilineal) puede escribirse como una ecuación matricial simple:
   $a(u^{h},v^{h})=\langle f,v^{h}\rangle ,\quad \forall v^{h}\in V^{h},\quad \Rightarrow \sum _{i=1}^{N}\sum _{j=1}^{N}a_{ij}(u^{h})_{i}(v^{h})_{j}=\sum _{j=1}^{N}(f)_{j}(v^{h})_{j}$
Donde N es el número de nodos. Agrupando los términos y teniendo en cuenta que v^h es arbitario y que por tanto la ecuación anterior debe cumplirse para cualquier valor de dicho vector arbitrario se tiene que:
   (5)$\sum _{j=1}^{N}\left(\sum _{i=1}^{N}a_{ij}(u^{h})_{i}-(f)_{j}\right)(v^{h})_{j}=0\quad \Rightarrow \quad \sum _{i=1}^{N}a_{ij}(u^{h})_{i}-(f)_{j}=0\quad \Rightarrow \mathbf {K} \mathbf {u} -\mathbf {f} =0$
Este es la forma común del sistema de ecuaciones de un problema de elementos asociado a una ecuación diferencial lineal, no dependiente del tiempo. Esta última forma es precisamente la forma (*) de la reseña histórica. Para resolver numéricamente el sistema de ecuaciones (*), que usualmente consta de miles o incluso centenares de miles de ecuaciones se requieren algoritmos eficientes que optimicen el número de operaciones que debe realizarse y ahorren memoria.
En general las complicaciones computacionales que deben resolverse en la resolución numérica son:
* El cálculo de la matriz de coeficientes $\mathbf {K} =a_{ij}$, esto generalmente requiere integración numérica aproximada lo cual es una nueva fuente de errores en el cálculo por el MEF.
* El uso de un método eficiente para resolver el sistema de ecuaciones obtenido. Por ejemplo el método de Cramer es totalmente impracticable para $N\geq 27!$, un ordenador de unos 10 GFlops tardaría más de 2 años en resolver el sistema por dicho método, mientras que si se usa el método de eliminación gaussiana tardaría menos de una diez milésima de segundo.
Para entender la necesidad de la integración numérica necesitamos ver qué forma tiene típicamente la forma débil del problema, expresada en términos de los subdominios o elementos finitos. Esa forma débil involucra integrales de la forma:
   $\int _{\Omega }f\ d\Omega =\sum _{e=1}^{n}\ \int _{\Omega ^{(e)}}f\ d\Omega =\sum _{e=1}^{n}\ \int _{\hat {\Omega }}(f\circ F^{(e)})J_{F^{(e)}}\ d{\hat {\Omega }}\approx \sum _{m=1}^{N_{PI}}w_{m}{\hat {f}}(\xi _{m})J_{F^{(e)}}(\xi _{m})$
Donde:
    $\Omega \subset \mathbb {R} ^{d}$ son el dominio sobre el que se plantea el problema.
    $\Omega ^{(e)},{\hat {\Omega }}$, representan a cada uno de los elementos finitos y al dominio isoparamétrico que da la forma de los elementos finitos.
    $f:\mathbb {R} ^{d}\to \mathbb {R} ,{\hat {f}}:=f\circ F^{(e)}$, representan la función que debe integrarse y su expresión sobre el dominio isoparamétrico.
    $F^{(e)}:{\hat {\Omega }}\to \Omega ^{(e)}$, la aplicación que relaciona el dominio isoparamétrico con cada elemento finito.
    $w_{m},\xi _{m}$, son los pesos y los puntos de integración usados para integración gaussiana.
    $n,n_{PI}$, son el número total de elementos y el número de puntos de integración por elemento.

### Aproximación del error

De acuerdo con el lema de Ceá (LC) el error cometido en la aproximación de una solución exacta mediante elementos finitos viene acotada por el error de aproximación, es decir, la solución obtenida mediante el MEF es, tanto más buena cuanto mejor sea la aproximación $\scriptstyle V^{h}\subset V$. Dado que el error de aproximación depende crucialmente del tamaño de los elementos, cuanto mayor sea su número a igualdad de otros factores tanto menor será el error de aproximación. A continuación acotamos este error de aproximación que acotará el error de la solución de elementos finitos.
Para ello necesitamos definir el diámetro de cada subdominio o elemento finito:
   $h_{e}={\mbox{diam}}(\Omega ^{(e)})=\max\{\|x-y\|:x,y\in \Omega ^{(e)}\},\qquad h:=\max _{e}|h_{e}|$
h es una medida de la finura de la discretización es el máximo de los anteriores valores. Puede comprobarse que el error de aproximación (y por tanto el error de la solución mediante elementos finitos) viene acotada por:
   (AE)$\|u-u^{h}\|_{V}=\|u-\Pi ^{h}u\|_{V}\leq C_{1}h^{k+1-m}|u|_{k+1,\Omega },\qquad u\in V\subset H^{k+1}(\Omega )$
Donde:
    $u,\ u^{h}\,$, son respectivamente la solución exacta y la solución obtenida mediante elementos finitos.
    $C_{1}\,$, es un número real que depende de la forma del dominio, entre otros factores.
    $H^{k+1}(\Omega )\,$, es el k+1-ésimo espacio de Sobolev de funciones sobre el dominio $\Omega$.
    $|u|_{k+1,\Omega }\,$, es la seminorma dada por:
    $|u|_{k+1,\Omega }=\sum _{|\alpha |=k+1}\|D^{\alpha }u\|_{L^{2}(\Omega )}$
siendo $\scriptstyle \alpha$ un multiíndice y $\scriptstyle D^{\alpha }u$ la derivada parcial de u asociada al mismo. La norma del espacio L$^2$(Ω).

## ¿Cómo trabaja el MEF en la práctica?

El MEF es un método numérico de resolución de ecuaciones diferenciales. La solución obtenida por MEF es solo aproximada, coincidiendo con la solución exacta solo en un número finito de puntos llamados nodos. En el resto de puntos que no son nodos, la solución aproximada se obtiene interpolando a partir de los resultados obtenidos para los nodos, lo cual hace que la solución sea solo aproximada debido a ese último paso.
El MEF convierte un problema definido en términos de ecuaciones diferenciales en un problema en forma matricial que proporciona el resultado correcto para un número finito de puntos e interpola posteriormente la solución al resto del dominio, resultando finalmente solo una solución aproximada. El conjunto de puntos donde la solución es exacta se denomina conjunto nodos. Dicho conjunto de nodos forma una red, denominada malla formada por retículos. Cada uno de los retículos contenidos en dicha malla es un «elemento finito». El conjunto de nodos se obtiene dividiendo o discretizando la estructura en elementos de forma variada (pueden ser superficies, volúmenes y barras).
Desde el punto de vista de la programación algorítmica modular las tareas necesarias para llevar a cabo un cálculo mediante un programa MEF se dividen en:
* Preproceso, que consiste en la definición de geometría, generación de la malla, las condiciones de contorno y asignación de propiedades a los materiales y otras propiedades. En ocasiones existen operaciones cosméticas de regularización de la malla y precondicionamiento para garantizar una mejor aproximación o una mejor convergencia del cálculo.
* Cálculo, el resultado del preproceso, en un problema simple no-dependiente del tiempo, permite generar un conjunto de N ecuaciones y N incógnitas, que puede ser resuelto con cualquier algoritmo para la resolución de sistemas de ecuaciones lineales. Cuando el problema a tratar es un problema no lineal o un problema dependiente del tiempo a veces el cálculo consiste en una sucesión finita de sistemas de N ecuaciones y N incógnitas que deben resolverse uno a continuación de otro, y cuya entrada depende del resultado del paso anterior.
* Postproceso, el cálculo proporciona valores de cierto conjunto de funciones en los nodos de la malla que define la discretización, en el postproceso se calculan magnitudes derivadas de los valores obtenidos para los nodos, y en ocasiones se aplican operaciones de suavizado, interpolación e incluso determinación de errores de aproximación.

### Preproceso y generación de la malla

La malla se genera y ésta en general consta de miles (e incluso centenares de miles) de puntos. La información sobre las propiedades del material y otras características del problema se almacena junto con la información que describe la malla. Por otro lado las fuerzas, los flujos térmicos o las temperaturas se reasignan a los puntos de la malla. A los nodos de la malla se les asigna una densidad por todo el material dependiendo del nivel de la tensión mecánica u otra propiedad. Las regiones que recibirán gran cantidad de tensión tienen normalmente una mayor densidad de nodos (densidad de malla) que aquellos que experimentan poco o ninguno. Puntos de interés consisten en: puntos de fractura previamente probados del material, entrantes, esquinas, detalles complejos, y áreas de elevada tensión. La malla actúa como la red de una araña en la que desde cada nodo se extiende un elemento de malla a cada nodo adyacente. Este tipo de red vectorial es la que lleva las propiedades del material al objeto, creando varios elementos.
Las tareas asignadas al preproceso son:
* El continuo se divide, mediante líneas o superficies imaginarias en un número de elementos finitos. Esta parte del proceso se desarrolla habitualmente mediante algoritmos incorporados a programas informáticos de mallado durante la etapa de preproceso.
* Se supone que los elementos están conectados entre sí mediante un número discreto de puntos o «nodos», situados en sus contornos. Los desplazamientos de estos nodos serán las incógnitas fundamentales del problema, tal y como ocurre en el análisis simple de estructuras por el método matricial.
* Se toma un conjunto de funciones que definan de manera única el campo de desplazamientos dentro de cada elemento finito en función de los desplazamientos nodales de dicho elemento. Por ejemplo el campo de desplazamientos dentro de un elemento lineal de dos nodos podría venir definido por: u = N$_1$u$_1$ + N$_2$u$_2$, siendo N$_1$ y N$_2$ las funciones comentadas (funciones de forma) y u1 y u2 los desplazamientos en el nodo 1 y en el nodo 2.
* Estas funciones de desplazamientos definirán entonces de manera única el estado de deformación del elemento en función de los desplazamientos nodales. Estas deformaciones, junto con las propiedades constitutivas del material, definirán a su vez el estado de tensiones en todo el elemento, y por consiguiente en sus contornos.
* Se determina un sistema de fuerzas concentradas en los nodos, tal que equilibre las tensiones en el contorno y cualesquiera cargas repartidas, resultando así una relación entre fuerzas y desplazamientos de la forma F = K·u, que como vemos es similar a la del cálculo matricial.

### Cálculo y resolución de sistemas de ecuaciones

En un problema mecánico lineal no-dependientes del tiempo, como un problema de análisis estructural estático o un problema elástico, el cálculo generalmente se reduce a obtener los desplazamientos en los nodos y con ellos definir de manera aproximada el campo de desplazamientos en el elemento finito.
Cuando el problema es no lineal en general la aplicación de las fuerzas requiere la aplicación incremental de las fuerzas y considerar incrementos numéricos, y calcular en cada incremento algunas magnitudes referidas a los nodos. Algo similar sucede con los problemas dependientes del tiempo, para los que se considera una sucesión de instantes, en general bastante cercanos en el tiempo, y se considera el equilibrio instantáneo en cada instante. En general estos dos últimos tipos de problemas requieren un tiempo de cálculo sustancialmente más elevado que en un problema estacionario y lineal.

### Postproceso

Actualmente, el MEF es usado para calcular problemas tan complejos, que los ficheros que se generan como resultado del MEF tienen tal cantidad de datos que resulta conveniente procesarlos de alguna manera adicional para hacerlos más comprensible e ilustrar diferentes aspectos del problema. En la etapa de postproceso los resultados obtenidos de la resolución del sistema son tratados, para obtener representaciones gráficas y obtener magnitudes derivadas que permitan extraer conclusiones del problema.
El postproceso del MEF generalmente requiere software adicional para organizar los datos de salida, de tal manera que sea más fácilmente comprensible el resultado y permita decidir si ciertas consecuencias del problema son o no aceptables. En el cálculo de estructuras por ejemplo, el postproceso puede incluir comprobaciones adicionales de si una estructura cumple los requisitos de las normas pertinentes, calculando si se sobrepasan tensiones admisibles, o existe la posibilidad de pandeo en la estructura.

### Problemas termomecánicos

Un amplio rango de funciones objetivo (variables con el sistema) están disponibles para la minimización o la maximización:
* Masa, volumen, temperatura
* Energía tensional, esfuerzo tensional
* Fuerza, desplazamiento, velocidad, aceleración
* Sintética (definidas por el usuario)
Hay múltiples condiciones de carga que se pueden aplicar al sistema. Algunos ejemplos son:
* Puntuales, presión, térmicas, gravedad, y cargas centrífugas estáticas
* Cargas térmicas de soluciones del análisis de transmisión de calor
* Desplazamientos forzados
* Flujo de calor y convección
* Puntuales, de presión, y cargas de gravedad dinámicas
Cada programa MEF puede venir con una biblioteca de elementos, o una que es construida con el tiempo. Algunos ejemplos de elementos son:
* Elementos tipo barra
* Elementos tipo viga
* Placa/Cáscara/Elementos compuestos
* Panel de sándwich
* Elementos sólidos
* Elementos tipo muelle
* Elementos de masa
* Elementos rígidos
* Elementos amortiguadores viscosos
Muchos programas MEF también están equipados con la capacidad de usar múltiples materiales en la estructura, como:
* Modelos elásticos isotrópicos / ortotrópicos / anisótropicos generales
* Materiales homogéneos / heterogéneos
* Modelos de plasticidad
* Modelos viscosos

## Tipos de análisis ingenieriles

El programador puede insertar numerosos algoritmos o funciones que pueden hacer al sistema comportarse de manera lineal o no lineal. Los sistemas lineales son menos complejos y normalmente no tienen en cuenta deformaciones plásticas. Los sistemas no lineales toman en cuenta las deformaciones plásticas, y algunos incluso son capaces de verificar si se presentaría fractura en el material.
Algunos tipos de análisis ingenieriles comunes que usan el método de los elementos finitos son:
* Análisis estático se emplea cuando la estructura está sometida a acciones estáticas, es decir, no dependientes del tiempo.
* Análisis vibracional es usado para analizar la estructura sometido a vibraciones aleatorias, choques e impactos. Cada uno de estas acciones puede actuar en la frecuencia natural de la estructura y causar resonancia y el consecuente fallo.
* Análisis de fatiga ayuda a los diseñadores a predecir la vida del material o de la estructura, prediciendo el efecto de los ciclos de carga sobre el espécimen. Este análisis puede mostrar las áreas donde es más probable que se presente una grieta. El análisis por fatiga puede también predecir la tolerancia al fallo del material.
Los modelos de análisis de transferencia de calor por conductividad o por dinámicas térmicas de flujo del material o la estructura. El estado continuo de transferencia se refiere a las propiedades térmicas en el material que tiene una difusión lineal de calor.

### Resultados del MEF

El MEF se ha vuelto una solución para la tarea de predecir los fallos debidos a tensiones desconocidas enseñando los problemas de la distribución de tensiones en el material y permitiendo a los diseñadores ver todas las tensiones involucradas. Este método de diseño y prueba del producto es mejor al ensayo y error en donde hay que mantener costos de manufactura asociados a la construcción de cada ejemplar para las pruebas.
Las grandes ventajas del cálculo por ordenador se pueden resumir en:
* Hace posible el cálculo de estructuras que, bien por el gran número de operaciones que su resolución presenta (entramados de muchos pisos, por ejemplo) o por lo tedioso de las mismas (entramados espaciales, por ejemplo) las cuales eran, en la práctica, inabordables mediante el cálculo manual.
* En la mayoría de los casos reduce a límites despreciables el riesgo de errores operativos.

### MEF de Orden Superior

Los últimos avances en este campo indican que su futuro está en métodos de adaptación de orden superior, que responde satisfactoriamente a la creciente complejidad de las simulaciones de ingeniería y satisface la tendencia general la resolución simultánea de los fenómenos con múltiples escalas. Entre las diversas estrategias de adaptación para los elementos finitos, los mejores resultados se pueden lograr con la hp-adaptabilidad. La adaptatividad orientada a un objetivo está basada en la adaptación de la malla de elementos finitos, con el objetivo de mejorar la resolución en una cantidad específica de interés (en lugar de reducir al mínimo el error de la aproximación en alguna norma global), y la hp-adaptabilidad se basa en la combinación de refinamientos espaciales (h-adaptabilidad), con una variación simultánea del orden del polinomio de aproximación (p-adaptabilidad). Existen ejemplos donde la 'hp-adaptabilidad' resultó ser la única manera de resolver el problema en un nivel requerido de exactitud.

### Limitaciones

En general el MEF tal como se usa actualmente tiene algunas limitaciones:
* El MEF calcula soluciones numéricas concretas y adaptadas a unos datos particulares de entrada, no puede hacerse un análisis de sensibilidad sencillo que permita conocer cómo variará la solución si alguno de los parámetros se altera ligeramente. Es decir, proporciona solo respuestas numéricas cuantitativas concretas, no relaciones cualitativas generales.
* El MEF proporciona una solución aproximada cuyo margen de error en general es desconocido. Si bien algunos tipos de problemas permiten acotar el error de la solución, debido a los diversos tipos de aproximaciones que usa el método, los problemas no lineales o dependientes del tiempo en general no permiten conocer el error.
* En el MEF la mayoría de aplicaciones prácticas requiere mucho tiempo para ajustar detalles de la geometría, existiendo frecuentemente problemas de mal condicionamiento de las mallas, desigual grado de convergencia de la solución aproximada hacia la solución exacta en diferentes puntos, etc. En general, una simulación requiere el uso de numerosas pruebas y ensayos con geometrías simplificadas o casos menos generales que el que finalmente pretende simularse, antes de empezar a lograr resultados satisfactorios.

## Método implícito y método explícito

En problemas dinámicos, donde las magnitudes cambian a lo largo del tiempo, existen diversos métodos para integrar en el tiempo. En ambos métodos se discretiza el tiempo, por lo que se considera la solución solo para un cierto número de instantes (para el resto de valores del tiempo se puede interpolar la solución por intervalos). La diferencia entre un instante en el que se busca la solución y el siguiente se denomina, paso de tiempo. Las dos principales variantes del cálculo por FEM son:
* Método implícito, que requieren resolver a cada paso de tiempo un sistema de ecuaciones, aunque pueden usarse pasos de tiempo más largos.
* Método explícito, que no requieren resolver un sistema de ecuaciones a cada paso de tiempo, aunque debido a que la convergencia no siempre está asegurada el paso de tiempo debe escogerse convenientemente pequeño.

### El método implícito

Estos cálculos suelen usarse para el cálculo de rigidez (aunque a veces también se pueden calcular en dinámico). Entre los métodos implícitos algunos son incondicionalmente convergentes (no divergen exponencialmente de la solución exacta) solo para cierta elección fija de los parámetros del método.
Los cálculos por el método implícito (o semi-implícito a la parte más rígida del sistema) requieren mucho más tiempo de computación para dar un paso en el tiempo, ya que deben invertir una matriz de tamaño muy grande, por esto, se suelen emplear métodos iterativos, en vez de métodos directos, como los asociados a subespacio de Krylov. En compensación, se pueden usar pasos de tiempo mucho más grandes ya que son estables.

### El método explícito

Un método explícito es el que no requiere la resolución de un sistema de ecuaciones no trivial a cada paso de tiempo. En estos cálculos se realiza una simulación con modificación de la malla a lo largo del tiempo. En general los métodos explícitos requieren menor tiempo de computación que los métodos implícitos aunque frecuentemente presentan el problema de no ser incondicionalmente convergentes, y requieren evaluar primero el paso de tiempo máximo para que la computación sea numéricamente estable. Los métodos explícitos suelen ser condicionalmente convergentes pero no incondicionalmente convergentes, por lo que el paso de tiempo usado en el esquema de diferencias finitas debe ser menor que cierto valor:
   $\Delta t\leq \min _{k}{\frac {2}{\omega _{k}}}$
    Siendo $\omega _{k}\,$ las frecuencias propias del sistema.
    Se está realizando un cálculo explícito, se está realizando un análisis dinámico del mecanismo u estructura, en el que suele haber pasos de tiempo muy cortos para que sea estable, aunque se puede lograr una alta precisión para sistemas dinámicos.
En los elementos finitos explícitos es preferible el uso de elementos sencillos, como cuadriláteros con un punto de integración y estabilización frente a modos de energía nula, frente a elementos de orden superior.
Los métodos explícitos encuentran su campo de aplicación óptimo en problemas de dinámica rápida, en los que se producen fuertes no linealidades y el empleo de intervalos de tiempo pequeños pasa a ser una necesidad.
Una ventaja importante del método explícito es la resolución de las ecuaciones a nivel exclusivamente local, sin plantear en ningún momento sistemas de ecuaciones globales acopladas. Esto permite el uso de algoritmos elemento por elemento, que facilitan el cálculo en paralelo. Planteados como métodos de relajación dinámica o relajación viscosa, se enmarcan junto con métodos iterativos de resolución de ecuaciones no lineales, como los métodos de relajación de Gauss-Seidel, o gradiente conjugado precondicionado con técnicas de elemento por elemento. Siendo muy interesante para el cálculo en paralelo.