x
1

Método de 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 y física.

El MEF está pensado para ser usado en computadoras y permite resolver 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.

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,[1]​ nanotubos de carbono,[2]​ puntos cuánticos,[3]​ pozos cuánticos,[4]​ moléculas artificiales,[5]​ y monocapas de calcogenuros con metales de transición.[6]

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.

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.[7]​ 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:

(*)

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 ) y de la rigidez de las barras (matriz de rigidez ). Conocidos dichos desplazamientos es posible determinar los esfuerzos en las barras. La solución obtenida es exacta.

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.

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.

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 exactos para todo tipo de parámetros.

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:

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.

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)

Donde la solución es una cierta función definida sobre un dominio d-dimensional , 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)

Donde V' es el espacio dual de V, la forma variacional débil se obtiene buscando la única solución tal que:

(2b)

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.

Dado un dominio con una frontera continua en el sentido de Lipschitz una partición en n "elementos finitos", es una colección de n subdominios que satisface:

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 y una colección de funciones biyectivas:

Este dominio de referencia se suele llamar frecuentemente también dominio isoparamétrico. En los análisis 2D (d = 2) el dominio de referencia 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 , es decir:

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 del espacio vectorial original . 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)

Donde:

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)

Es decir, el error dependerá ante todo de lo bien que el subespacio vectorial asociado a la discretización en elementos fintios aproxime el espacio vectorial original .

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 de dimensión finita definido sobre el dominio de referencia formado por todos los polinomios de grado igual o inferior a cierto grado:

Entonces mediante las aplicaciones que aplican el dominio de referencia a cada elemento finito se define el espacio vectorial que servirá para aproximar la solución como:

(3)

Cuando es una función lineal y el espacio está formado por polinomios entonces la restricción de es también un polinomio. El espacio vectorial es un espacio polinómico en que la base de dicho espacio está formada por funciones de forma , que dado el conjunto de nodos del dominio de referencia se definen como:

Esto permite definir de manera unívoca unas funciones de forma sobre el dominio real sobre el que se define el problema:

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:

Las funciones de forma permiten proyectar sobre el espacio de elementos finitos cualquier función definida sobre el dominio original mediante el proyector :

(4)

Fijada una base asociada a una determinada discretización del dominio, como por ejemplo la dada por las funciones la forma débil del problema (, cuando la función es bilineal) puede escribirse como una ecuación matricial simple:

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)

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:

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:

Donde:

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 . 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 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)

Donde:

siendo un multiíndice y la derivada parcial de u asociada al mismo. La norma del espacio L2(Ω).

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:

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.[cita requerida] 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:

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.

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.

Un amplio rango de funciones objetivo (variables con el sistema) están disponibles para la minimización o la maximización:

Hay múltiples condiciones de carga que se pueden aplicar al sistema. Algunos ejemplos son:

Cada programa MEF puede venir con una biblioteca de elementos, o una que es construida con el tiempo. Algunos ejemplos de elementos son:

Muchos programas MEF también están equipados con la capacidad de usar múltiples materiales en la estructura, como:

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:

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.

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:

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.[cita requerida]

En general el MEF tal como se usa actualmente tiene algunas limitaciones:

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:

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.[cita requerida]

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:

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.



Escribe un comentario o lo que quieras sobre Método de elementos finitos (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!