(2 intermediate revisions by the same user not shown) | |||
Line 836: | Line 836: | ||
|} | |} | ||
− | donde <math display="inline">{\tilde{\boldsymbol{V}}}_j</math> corresponde a la matriz antisimétrica asociada al vector <math display="inline">\boldsymbol{v}_j</math> . Luego puede demostrarse que <math display="inline">\Delta \parallel \boldsymbol{n}_j\parallel =</math><math>\boldsymbol{n}_j/\parallel \boldsymbol{n}_j\parallel \Delta \boldsymbol{n}_j=</math><math>{\ | + | donde <math display="inline">{\tilde{\boldsymbol{V}}}_j</math> corresponde a la matriz antisimétrica asociada al vector <math display="inline">\boldsymbol{v}_j</math> . Luego puede demostrarse que <math display="inline">\Delta \parallel \boldsymbol{n}_j\parallel =</math><math>\boldsymbol{n}_j/\parallel \boldsymbol{n}_j\parallel \Delta \boldsymbol{n}_j=</math><math>{\check{\boldsymbol{n}}}_jS\overset{\mbox{ˆ}}{W}</math> , con lo cual la variación del vector normal promedio es expresado de la siguiente manera |
{| class="formulaSCP" style="width: 100%; text-align: center;" | {| class="formulaSCP" style="width: 100%; text-align: center;" | ||
Line 1,180: | Line 1,180: | ||
|- | |- | ||
| <math>\boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c} | | <math>\boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c} | ||
− | {\ | + | {\check{\boldsymbol{e}}}_1\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)\\ |
− | {\ | + | {\check{\boldsymbol{e}}}_2\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)\\ |
\end{array}\right],</math> | \end{array}\right],</math> | ||
Line 1,188: | Line 1,188: | ||
|} | |} | ||
− | donde <math display="inline">\boldsymbol{x}_0^1</math> es un punto que pertenece a un elemento no-mortar ''k '' , por ejemplo, uno de sus vértices. De esta manera, las coordenadas nodales <math display="inline">\boldsymbol{y}_A^{\alpha }</math> quedan definidas con dos componentes. Los versores <math display="inline">{\ | + | donde <math display="inline">\boldsymbol{x}_0^1</math> es un punto que pertenece a un elemento no-mortar ''k '' , por ejemplo, uno de sus vértices. De esta manera, las coordenadas nodales <math display="inline">\boldsymbol{y}_A^{\alpha }</math> quedan definidas con dos componentes. Los versores <math display="inline">{\check{\boldsymbol{e}}}_1</math> y <math display="inline">{\check{\boldsymbol{e}}}_2</math> son calculados por medio de las diagonales para cada elemento no-mortar de la siguiente manera, |
<span id='eq0260'></span> | <span id='eq0260'></span> | ||
Line 1,196: | Line 1,196: | ||
{| style="text-align: center; margin:auto;" | {| style="text-align: center; margin:auto;" | ||
|- | |- | ||
− | | <math>{\ | + | | <math>{\check{\boldsymbol{e}}}_1=\frac{\boldsymbol{x}_3^1-\boldsymbol{x}_1^1}{\left\|\boldsymbol{x}_3^1-\boldsymbol{x}_1^1\right\|},</math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 52) | | style="width: 5px;text-align: right;white-space: nowrap;" | ( 52) | ||
Line 1,209: | Line 1,209: | ||
{| style="text-align: center; margin:auto;" | {| style="text-align: center; margin:auto;" | ||
|- | |- | ||
− | | <math>{\ | + | | <math>{\check{\boldsymbol{e}}}_2={\check{\boldsymbol{e}}}_3\times {\check{\boldsymbol{e}}}_1,</math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 53) | | style="width: 5px;text-align: right;white-space: nowrap;" | ( 53) | ||
Line 1,222: | Line 1,222: | ||
{| style="text-align: center; margin:auto;" | {| style="text-align: center; margin:auto;" | ||
|- | |- | ||
− | | <math>{\ | + | | <math>{\check{\boldsymbol{e}}}_3=\frac{\left(\boldsymbol{x}_3^1-\boldsymbol{x}_1^1)\times (\boldsymbol{x}_4^1-\boldsymbol{x}_2^1\right)}{\left\|\left(\boldsymbol{x}_3^1-\boldsymbol{x}_1^1)\times (\boldsymbol{x}_4^1-\boldsymbol{x}_2^1\right)\right\|},</math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 54) | | style="width: 5px;text-align: right;white-space: nowrap;" | ( 54) | ||
Line 1,236: | Line 1,236: | ||
|- | |- | ||
| <math>\Delta \boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c} | | <math>\Delta \boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c} | ||
− | \Delta {\ | + | \Delta {\check{\boldsymbol{e}}}_1\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)+{\check{\boldsymbol{e}}}_1\cdot \Delta \boldsymbol{x}_A^{\alpha }+{\check{\boldsymbol{e}}}_1\cdot \Delta \boldsymbol{x}_0^1\\ |
− | \Delta {\ | + | \Delta {\check{\boldsymbol{e}}}_2\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)+{\check{\boldsymbol{e}}}_2\cdot \Delta \boldsymbol{x}_A^{\alpha }+{\check{\boldsymbol{e}}}_2\cdot \Delta \boldsymbol{x}_0^1\\ |
\end{array}\right]</math> | \end{array}\right]</math> | ||
Line 1,270: | Line 1,270: | ||
==A.2. Variación de la normal== | ==A.2. Variación de la normal== | ||
− | La linealización de <math display="inline">{\ | + | La linealización de <math display="inline">{\check{\boldsymbol{e}}}_1</math> puede ser obtenida a partir de la ecuación [[#eq0260|(52)]] como se muestra a continuación, |
<span id='eq0280'></span> | <span id='eq0280'></span> | ||
Line 1,278: | Line 1,278: | ||
{| style="text-align: center; margin:auto;" | {| style="text-align: center; margin:auto;" | ||
|- | |- | ||
− | | <math>\Delta {\ | + | | <math>\Delta {\check{\boldsymbol{e}}}_1=</math><math>\boldsymbol{\mbox{F}}(\Delta \boldsymbol{x}_3^1-\Delta \boldsymbol{x}_1^1),</math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 56) | | style="width: 5px;text-align: right;white-space: nowrap;" | ( 56) | ||
Line 1,290: | Line 1,290: | ||
{| style="text-align: center; margin:auto;" | {| style="text-align: center; margin:auto;" | ||
|- | |- | ||
− | | <math>\boldsymbol{F}=\frac{\left(\boldsymbol{I}-{\ | + | | <math>\boldsymbol{F}=\frac{\left(\boldsymbol{I}-{\check{\boldsymbol{e}}}_1\otimes {\check{\boldsymbol{e}}}_1\right)}{\parallel \boldsymbol{x}_3^1-\boldsymbol{x}_1^1\parallel }.</math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 57) | | style="width: 5px;text-align: right;white-space: nowrap;" | ( 57) | ||
Line 1,316: | Line 1,316: | ||
{| style="text-align: center; margin:auto;" | {| style="text-align: center; margin:auto;" | ||
|- | |- | ||
− | | <math>\boldsymbol{A}=\frac{\left(\boldsymbol{I}-{\ | + | | <math>\boldsymbol{A}=\frac{\left(\boldsymbol{I}-{\check{\boldsymbol{e}}}_3\otimes {\check{\boldsymbol{e}}}_3\right)}{\left[\left(\boldsymbol{x}_3^1-\boldsymbol{x}_1^1)\times (\boldsymbol{x}_4^1-\boldsymbol{x}_2^1\right)\right]}\tilde{\left(\boldsymbol{x}_4^1-\boldsymbol{x}_2^1\right)}\quad \vert \quad </math> |
|- | |- | ||
|<math>\tilde{\left(\boldsymbol{x}_1^1-\boldsymbol{x}_3^1\right)}\quad \vert \quad \tilde{\left(\boldsymbol{x}_2^1-\boldsymbol{x}_4^1\right)}\quad \vert \quad \tilde{\left(\boldsymbol{x}_3^1-\boldsymbol{x}_1^1\right)},</math> | |<math>\tilde{\left(\boldsymbol{x}_1^1-\boldsymbol{x}_3^1\right)}\quad \vert \quad \tilde{\left(\boldsymbol{x}_2^1-\boldsymbol{x}_4^1\right)}\quad \vert \quad \tilde{\left(\boldsymbol{x}_3^1-\boldsymbol{x}_1^1\right)},</math> | ||
Line 1,323: | Line 1,323: | ||
|} | |} | ||
− | el operador <math display="inline">\tilde{\left(\bullet \right)}</math> aplicado a un vector '''''u''''' retorna la matriz antisimétrica <math display="inline">\tilde{\boldsymbol{u}}</math> tal que <math display="inline">\boldsymbol{u}\times \boldsymbol{v}=</math><math>\tilde{\boldsymbol{u}}\boldsymbol{v}</math> , para cualquier vector arbitrario <math display="inline">\boldsymbol{v}</math> . Por último, resta calcular la variación del versor <math display="inline">{\ | + | el operador <math display="inline">\tilde{\left(\bullet \right)}</math> aplicado a un vector '''''u''''' retorna la matriz antisimétrica <math display="inline">\tilde{\boldsymbol{u}}</math> tal que <math display="inline">\boldsymbol{u}\times \boldsymbol{v}=</math><math>\tilde{\boldsymbol{u}}\boldsymbol{v}</math> , para cualquier vector arbitrario <math display="inline">\boldsymbol{v}</math> . Por último, resta calcular la variación del versor <math display="inline">{\check{\boldsymbol{e}}}_2</math> , obtenido a partir de la ecuación [[#eq0265|(53)]] , |
<span id='eq0300'></span> | <span id='eq0300'></span> | ||
Line 1,336: | Line 1,336: | ||
|} | |} | ||
− | donde <math display="inline">\tilde{\boldsymbol{n}}</math> y <math display="inline">{\tilde{\boldsymbol{e}}}_1</math> son los operadores rotacionales antisimétricos asociados al vector normal '''''n''''' y a <math display="inline">{\ | + | donde <math display="inline">\tilde{\boldsymbol{n}}</math> y <math display="inline">{\tilde{\boldsymbol{e}}}_1</math> son los operadores rotacionales antisimétricos asociados al vector normal '''''n''''' y a <math display="inline">{\check{\boldsymbol{e}}}_1</math> , respectivamente. Reemplazando por las ecuaciones ([[#eq0280|56]] ,[[#eq0290|58]] ,[[#eq0300|60]] ) en la ecuación [[#eq0275|(55)]] , obtenemos la matriz <math display="inline">\boldsymbol{H}_A^{\alpha }</math> definida como |
{| class="formulaSCP" style="width: 100%; text-align: center;" | {| class="formulaSCP" style="width: 100%; text-align: center;" | ||
Line 1,358: | Line 1,358: | ||
{| style="text-align: center; margin:auto;" | {| style="text-align: center; margin:auto;" | ||
|- | |- | ||
− | | <math>\boldsymbol{H}_I^{\alpha }=-(\boldsymbol{x}_A^{\alpha }-</math><math>\boldsymbol{x}_0)^T\boldsymbol{F}+{\ | + | | <math>\boldsymbol{H}_I^{\alpha }=-(\boldsymbol{x}_A^{\alpha }-</math><math>\boldsymbol{x}_0)^T\boldsymbol{F}+{\check{\boldsymbol{e}}}_1^T({\delta }_{A1}-</math><math>1/n)\quad \quad \vert \quad \quad </math> |
|- | |- | ||
− | |<math>{\ | + | |<math>{\check{\boldsymbol{e}}}_1^T({\delta }_{A2}-</math><math>1/n)(\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0)^T\boldsymbol{F}+</math><math></math> |
|- | |- | ||
− | |<math>{\ | + | |<math>{\check{\boldsymbol{e}}}_1^T({\delta }_{A3}-</math><math>1/n)\quad \quad \vert \quad \quad {\check{\boldsymbol{e}}}_1^T({\delta }_{A4}-</math><math>1/n),</math> |
|- | |- | ||
|<math>\boldsymbol{H}_{II}^{\alpha }=-(\boldsymbol{x}_A^{\alpha }-</math><math>\boldsymbol{x}_0)^T({\tilde{\boldsymbol{e}}}_1+\boldsymbol{A}^I+</math><math>\tilde{\boldsymbol{n}}\boldsymbol{F})+</math> | |<math>\boldsymbol{H}_{II}^{\alpha }=-(\boldsymbol{x}_A^{\alpha }-</math><math>\boldsymbol{x}_0)^T({\tilde{\boldsymbol{e}}}_1+\boldsymbol{A}^I+</math><math>\tilde{\boldsymbol{n}}\boldsymbol{F})+</math> | ||
|- | |- | ||
− | |<math>{\ | + | |<math>{\check{\boldsymbol{e}}}_2^T({\delta }_{A1}-</math><math>1/n)\quad \quad \vert \quad \quad -(\boldsymbol{x}_A^{\alpha }-</math><math>\boldsymbol{x}_0)^T{\tilde{\boldsymbol{e}}}_1\boldsymbol{A}^{II}+</math><math></math> |
|- | |- | ||
− | |<math>{\ | + | |<math>{\check{\boldsymbol{e}}}_2^T({\delta }_{A2}-</math><math>1/n)\quad \quad \vert \quad \quad -(\boldsymbol{x}_A^{\alpha }-</math><math>\boldsymbol{x}_0)^T({\tilde{\boldsymbol{e}}}_1\boldsymbol{A}^{III}</math> |
|- | |- | ||
− | |<math>-\tilde{\boldsymbol{n}}\boldsymbol{F})+{\ | + | |<math>-\tilde{\boldsymbol{n}}\boldsymbol{F})+{\check{\boldsymbol{e}}}_2^T({\delta }_{A3}-</math><math>1/n)\quad \quad \vert \quad \quad </math> |
|- | |- | ||
− | |<math>-(\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0)^T{\tilde{\boldsymbol{e}}}_1\boldsymbol{A}^{IV}+</math><math>{\ | + | |<math>-(\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0)^T{\tilde{\boldsymbol{e}}}_1\boldsymbol{A}^{IV}+</math><math>{\check{\boldsymbol{e}}}_2^T.</math> |
|} | |} | ||
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 62) | | style="width: 5px;text-align: right;white-space: nowrap;" | ( 62) |
En este trabajo se propone un algoritmo mortar para el estudio del contacto mecánico en problemas de elasticidad tridimensional. La superficie de proyección utilizada para la integración de las ecuaciones se define a través de una base local cartesiana en cada elemento de contacto, de esta forma se facilita la implementación del algoritmo y la linealización de las ecuaciones. Se proponen ejemplos donde se demuestra que el algoritmo satisface los test de la parcela. Finalmente se utiliza el algoritmo en un caso de interés industrial, el contacto de una válvula de motor de combustión interna con su asiento.
In this paper we propose a mortar algorithm for the study of contact mechanics in three dimensional elasticity problems. The projection surface used for integrating the equations is selected through a local cartesiana base defined in each contact element. In this way, some difficulties in the algorithm implementation as well as in the linearization of the equations are avoided. The proposed examples show that the algorithm satisfies the patch tests. Finally, we use the algorithm in an industrial application, the contact of an internal combustion engine valve with its seat.
Contacto ; Lagrangiano aumentado ; Algoritmo mortar ; Elementos finitos
Contact ; Augmented Lagrangian ; Mortar ; Finite elements
La simulación de componentes mecánicos y procesos que involucran el contacto entre cuerpos tiene gran aplicación en diferentes áreas de la ingeniería, pudiendo citarse el diseño de engranajes [1] , procesos de embutición [2] , fatiga por contacto [3] , entre otras. Para la descripción del desplazamiento relativo entre 2 cuerpos en contacto mediante el Método de los Elementos Finitos (MEF), una técnica ampliamente difundida es la del nodo-segmento, en la cual a un nodo de un cuerpo, denominado esclavo , se asocia una zona de un segmento o superficie del otro cuerpo denominado master[4] . El principal inconveniente de la estrategia nodo-segmento es que no garantiza que una superficie transmita una presión de contacto uniforme a la otra superficie; en otras palabras, esta estrategia no supera los denominados tests de la parcela de contacto [5] . Las aproximaciones del tipo nodo-segmento con doble pasada verifican los tests de la parcela, pero pueden bloquearse debido a las sobre restricciones introducidas en la formulación; adicionalmente, con superficies de contacto no suaves, generan saltos de la presión cuando los nodos esclavos se deslizan entre segmentos adyacentes [6] y no cumplen con la condición de Babuska-Brezzi [7] causando un mal condicionamiento de las matrices y pobre tasa de convergencia, típicas manifestaciones de la sobre-restricción. A pesar de ello, estos métodos son a menudo elegidos en problemas bidimensionales y en ciertas configuraciones de mallas tridimensionales con elementos de bajo orden, para analizar problemas de contacto entre cuerpos flexibles por su capacidad de verificar el test de la parcela. Sin embargo, no pueden superar los tests de la parcela para elementos de orden superior [6] and [8] .
Otra aproximación es la de los métodos segmento-segmento que relacionan el segmento de un cuerpo (segmento master ) con algún segmento del otro cuerpo (segmento esclavo ). La mayoría de los métodos segmento-segmento utilizan algún tipo de superficie de contacto intermedia, o proyección de superficies e integran el trabajo virtual de contacto usando una cuadratura numérica con alguna interpolación en la presión. Estos métodos fueron aplicados inicialmente a interfases de contacto planas para ejemplos 2D y luego ampliados a mallas 3D [9] , [10] and [11] . En el trabajo de Park y Felippa [12] se propone una formulación con una superficie de contacto intermedia entre los cuerpos de contacto determinada por un conjunto de ecuaciones auxiliares tal que se satisfaga el equilibrio en dicha superficie. La ventaja de este método es que evita la integración de los campos de multiplicadores de Lagrange, pero tiene como inconveniente la complejidad para ser extendido a problemas 3D. Chen y Hisada [13] desarrollaron una modificación a un esquema del tipo nodo segmento el cual es capaz de superar los test de la parcela de contacto. En este caso, la contribución del contacto al trabajo virtual se integra en las superficies de contacto a través de la presión de contacto nodal. Como desventaja, la matriz de rigidez tangente no es simétrica. Kim et al. desarrollaron una nueva estrategia para problemas de contacto bidimensionales dentro del rango de las deformaciones infinitesimales [14] . Este algoritmo utiliza elementos finitos de variables nodales. La idea es transformar los problemas de contacto nodo-superficie en problemas de contacto nodo-nodo. Para el caso de realizar una extensión a problemas tridimensionales, es necesario proponer un algoritmo robusto de búsqueda de segmentos como así también desarrollar elementos poligonales de variables nodales para que pueda ser tratado en cualquier superficie arbitraria. La formulación es capaz de superar los test de la parcela, sin embargo, no se han reportado hasta el momento extensiones a geometrías tridimensionales y en el rango de grandes deformaciones. Más recientemente, Zavarise y Lorenzis [15] , propusieron un algoritmo nodo segmento con una regularización del tipo penalidad capaz de superar los test de la parcela. Sin embargo, al igual que en el caso anterior, no se reportaron casos de problemas tridimensionales.
Las diferentes aproximaciones propuestas de métodos segmento-segmento difieren generalmente en la forma de interpolar la presión de contacto y en la manera en que se efectúa la proyección entre los elementos. Los primeros trabajos desarrollados utilizaron el método de penalidad como regularización del problema variacional y con aplicaciones solo a problemas bidimensionales [16] , [17] and [5] . El método superficie-superficie tipo mortar fue originalmente propuesto como un método de descomposición de dominios y utilizado para resolver problemas de elementos finitos con discretizaciones no conformes [9] and [18] . Específicamente, el primer trabajo que ha utilizado el método mortar fue el propuesto por Bernardi et al. [19] , donde se muestra la estabilidad del método en relación a las condiciones de Babuska-Brezzi. En el trabajo de Puso y Laursen [20] , se presenta una versión del método mortar aplicado al contacto mecánico y utilizado en problemas 3D con grandes deformaciones. La proyección de las superficies de los elementos en contacto se realiza sobre una superficie plana; en cambio, en la propuesta de Puso [21] , la proyección se lleva a cabo sobre una malla intermedia suave definida por un parche con funciones de forma de Hermite que garantiza continuidad C1 solo cuando la malla es regular. El método mortar ha continuado su desarrollo extendiéndolo a aplicaciones con fricción o en problemas de auto-contacto [22] , [23] and [24] .
En este trabajo, siguiendo algunas de las ideas presentadas por Puso y Laursen [20] , se propone un algoritmo de contacto tipo mortar con un esquema de penalidad aplicable a problemas tridimensionales en donde, a diferencia de la propuesta de Puso y Laursen [20] , la superficie topológica de proyección de los elementos se caracteriza mediante una base local cartesiana definida para cada elemento no-mortar en contacto. Esta característica simplifica el tratamiento algebraico de las ecuaciones y la implementación computacional. El algoritmo fue implementado en el código de elementos finitos Oofelie [25] . Los ejemplos numéricos propuestos muestran que el algoritmo supera los tests de la parcela con resultados de tensiones muy regulares para mallas arbitrarias. En todos los casos las simulaciones fueron llevadas a cabo asumiendo un modelo mecánico elástico lineal, sin consideración de efectos dinámicos ni procesos de fricción entre los cuerpos en contacto.
El movimiento de los cuerpos α , con α = 1, 2 se expresa por el mapeo , y la posición actual de las partículas materiales se calcula por xα = χα (Xα , t ). A diferencia de los métodos nodo-segmento, en el contacto tipo mortar la porción de frontera en contacto Γc está dada por una intersección de las superficies , esto es , ver figura 1 . La convención adoptada en este trabajo para la definición de las superficies mortar y no mortar es la siguiente: denota la superficie no-mortar o esclava, en tanto que es la superficie mortar o master . La estrategia utilizada para discretizar el dominio es por medio del MEF, de esta forma, la malla de la superficie de contacto puede ser parametrizada como
|
( 1) |
donde: , , nα es el número de nodos de la malla en y son las clásicas funciones de forma, bilineales en caso de utilizar mallas con hexaedros, o lineales para el caso de mallas formadas por tetraedros.
|
Figura 1. Notación utilizada en el método mortar para los cuerpos en contacto. |
El vector de coordenadas nodales en para las superficies de contacto se define de la siguiente manera
|
( 2) |
Notar que Φ se ordena de forma tal que en las primeras componentes se encuentran las coordenadas de los nodos referidos a la frontera (no mortar) y luego las correspondientes a (mortar).
Cuando los cuerpos 1 y 2 interactúan mecánicamente sobre la superficie de contacto, el trabajo virtual asociado al contacto queda definido por
|
( 3) |
donde tα denota el vector tracción de Cauchy. Asumiendo que existe conservación de la cantidad de movimiento lineal en la interfase de contacto, ; y que x1 − x2 ≈ 0, la ecuación (3) puede ser escrita como
|
( 4) |
Utilizando las siguientes parametrizaciones para las superficies de contacto y el vector tracción
|
( 5) |
junto con la ecuación (4) , el principio de los trabajos virtuales asociado al contacto se aproxima de la siguiente manera
|
( 6) |
Luego, la ecuación (6) puede ser escrita en forma más compacta
|
( 7) |
donde
|
( 8) |
denota la primera variación del huelgo o gap del nodo esclavo A , y
|
( 9) |
son denominados factores de peso.
Desarrollando las sumatorias y teniendo en cuenta la notación definida para el vector de coordenadas nodales Φ dada por la ecuación (2) , la variación de la energía potencial elástica debida al contacto en el caso de que los elementos de la malla sean hexaedros lineales tiene la siguiente expresión matricial
|
( 10) |
pudiendo extenderse de manera similar a otras topologías de elementos. De la ecuación (10) se desprende que el vector de fuerzas internas del contacto para el caso de mallas formadas por elementos hexaedros es:
|
( 11) |
con
|
( 12) |
Los desarrollos que se presentaron hasta aquí no tienen en cuenta efectos dinámicos, tales como el impacto. Para su consideración es necesario realizar los cálculos detallados a cada paso de tiempo. Se requiere utilizar un algoritmo de integración temporal apropiado, resultando aconsejable el empleo de un algoritmo de integración que garantice la conservación o disipación de energía [26] , [27] , [28] and [29] . La formulación de contacto mostrada puede adaptarse fácilmente a un esquema de este tipo.
El requerimiento físico de impenetrabilidad e interacción de compresión entre los cuerpos es impuesto por medio de una restricción de contacto normal. El vector tracción de Cauchy t puede ser divido en una componente normal tN y en otra tangencial tT . Luego, con las expresiones discretas del trabajo virtual, la restricción del contacto normal puede establecerse con las condiciones de Karush-Kuhn-Tucker (KKT) como
|
( 13) |
expresadas aquí en forma discreta para cada nodo A no-mortar. Las ecuaciones (13) representan un proceso de contacto sin fricción, ya que no se ha tenido en cuenta la componente tangencial tT . La extensión del algoritmo mortar que aquí se presenta a problemas con fricción mediante un return mapping no resulta dificultosa [23] , ya que solo se debe incluir la matriz de fricción que surge de considerar a tT como función del desplazamiento tangencial. De esta forma, no hay necesidad de incluir variables adicionales.
El huelgo gA de un nodo A no-mortar es: gA = gA · νA , donde νA es el vector normal promedio en un nodo no-mortar A tal como se muestra en la figura 2 . El promediado de las normales concurrentes a un nodo es una operación relativamente sencilla de implementar y aporta resultados satisfactorios como lo demuestran a continuación los ejemplos numéricos propuestos. Para asegurar el cumplimiento de las condiciones de KKT dadas en la ecuación (13) , se ha seleccionado una regularización por medio del método de penalidad. De esta forma, la tracción normal en el nodo A tiene la siguiente expresión
|
( 14) |
donde
|
( 15) |
y κA es un factor definido como
|
( 16) |
siendo ɛ un coeficiente de penalidad propuesto por el usuario. En la ecuación (16) , el coeficiente de penalidad ɛ se debe ajustar a valores típicos de rigidez de los cuerpos en contacto (un valor apropiado está en el orden de 10Eh , siendo E el módulo de elasticidad y h el tamaño de malla). Esta característica es fundamental para lograr una buena tasa de convergencia. Luego, con las expresiones de las ecuaciones ( 12 ,14 ), el vector de fuerzas internas resulta en
|
( 17) |
|
Figura 2. Vector normal promedio νA definido por los elementos: (J − 1), (J ) y (J + 1) en el nodo A . |
Para llevar a cabo las integraciones en la interface Γc , es necesario definir una superficie topológica sobre la cual realizar las aproximaciones. En este trabajo se aproxima la cara de un elemento k no mortar, ver figura 1 , con un elemento que pertenece a un plano p definido por un vector normal e3 , ver figura 3 -a. Dicho vector normal se obtiene por el producto vectorial de las diagonales de la cara del elemento k . La suma de todas las superficies representa la superficie de integración Γc de la ecuación (3) . Una alternativa para la proyección de los nodos no-mortar y mortar en el plano p es a través de una base global definida en . De esta manera, es posible utilizar el algoritmo de intersección lineal paramétrico Cyrus-Beck descrito en la referencia [30] . En este trabajo se propone otra alternativa que facilita el desarrollo de las ecuaciones y que consiste en la definición de una base local para cada elemento no mortar que define un plano o superficie de proyección p , tal como lo representa la figura 3 -a. De esta forma, es posible utilizar un algoritmo de intersección de polígonos basado en reglas de avance y en la definición paramétrica de rectas en , ver por ejemplo [31] . Tomando una base , donde los versores y son calculados por medio de las diagonales para cada elemento no-mortar y el vector , como , ver figura 3 -a, las proyecciones de las coordenadas de los nodos de un elemento mortar o no-mortar en p pueden calcularse como
|
( 18) |
donde es un punto que pertenece a un elemento no-mortar k , por ejemplo, uno de sus vértices. Así, las coordenadas de los nodos no-mortar y mortar quedan definidas con solo 2 componentes.
|
Figura 3. (a) Elemento no-mortar k , elemento mortar l , plano de proyección p , base ; (b) proyección de los elementos k y l en el plano p , (c); polígono formado con el algoritmo de intersección; (d) división de en triángulos. |
En esta sección se describe el algoritmo utilizado para el cómputo de los factores de peso .
|
( 19) |
donde NIson las funciones de forma clásicas para un triángulo.
|
( 20) |
El sistema de ecuaciones algebraicas es resuelto por medio de un esquema de Newton-Raphson si los elementos k o l son cuadrangulares, o en forma directa si son triangulares. (En este último caso el sistema es lineal).
|
( 21) |
donde APes el área de cada triángulo P.
|
( 22) |
La matriz tangente se obtiene a partir de la linealización del vector de fuerzas internas presentado en la ecuación (17) ,
|
( 23) |
La linealización del huelgo gA de la ecuación (23) se obtiene utilizando las ecuaciones (9 ,15 ) y resulta en
|
( 24) |
Luego, para la derivación de , se requiere derivar los factores de peso de cada triángulo P ( ), y ensamblar cada contribución en . Utilizando la ecuación (9) , la linealización de los factores de peso puede ser escrita de la siguiente manera
|
( 25) |
donde son los factores de peso. Para completar el desarrollo de la ecuación (25) , es necesario definir las linealizaciones de las funciones de forma y la correspondiente al área de cada triángulo AP del polígono .
La coordenada local de los puntos de Gauss de un triángulo P y un elemento no mortar o mortar son establecidas por la siguiente relación
|
( 26) |
Tomando la derivada parcial de las funciones de forma en la dirección , con β = 1, 2,
|
( 27) |
y junto con la ecuación (26) , la variación de las coordenadas ξα para la superficie no-mortar o mortar en la dirección β se obtiene como
|
( 28) |
donde
|
( 29) |
Notar que para la obtención de los coeficientes , simplemente hay que invertir un sistema de 2 × 2. Con la elección de una base local como aquí se propone, se evita una definición de una base covariante que complica el desarrollo de las ecuaciones. Por lo tanto, con las ecuaciones (27 ,28 ) la variación de la función de forma evaluada en los puntos de Gauss puede ser escrita como
|
( 30) |
La ecuación (30) depende de las variaciones de las coordenadas de los nodos de cada triángulo P , ( ), y también de las variaciones de las coordenadas nodales proyectadas de los elementos no-mortar y mortar, ( ). Sin embargo, para derivar la matriz tangente es necesario transformar las ecuaciones para que sean expresadas solo en términos de las coordenadas de los nodos de los elementos no-mortar y mortar, , y ordenados según el vector Φ descrito en la ecuación (2) .
Se define al vector de coordenadas nodales de 2 componentes de los elementos y referido a la base ,
|
( 31) |
en forma similar se procede para otras topologías de elementos.
La matriz que relaciona las variaciones de las coordenadas de los nodos de cada triángulo del polígono con el vector de coordenadas nodales es denominada . Lo expresado anteriormente resulta en la siguiente expresión genérica,
|
( 32) |
donde la obtención de se detalla en el apéndice. Los vectores y denotan las coordenadas nodales de los elementos no-mortar y mortar, respectivamente, y son particiones de la matriz correspondientes a los lados no-mortar y mortar, respectivamente. Con la ecuación (32) , la linealización de las funciones de forma de la ecuación (27) referida a las coordenadas de los nodos de los elementos no-mortar y mortar puede escribirse como
|
( 33) |
donde
|
( 34) |
La variación del área de cada triángulo P que pertenece al polígono , es también requerida para completar el desarrollo de la ecuación (25) . El área de un triángulo P puede ser calculada con el producto vectorial de sus lados, es decir,
|
( 35) |
Luego, teniendo en cuenta que cada triángulo pertenece al plano de proyección p , definido por la base , la linealización de AP puede ser calculada de la siguiente manera
|
( 36) |
donde es la componente en la dirección del vector que pertenece a la base , es la segunda componente del mismo vector pero en la dirección . En forma análoga se obtienen: , , y .
Teniendo en cuenta la ecuación (32) que relaciona los coordenadas de los nodos del triángulo P con las coordenadas del elemento no-mortar y mortar ( ), la linealización del área resulta en la siguiente ecuación
|
( 37) |
con .
La linealización de los factores de peso evaluados en puede ser calculada con las ecuaciones (25 ,34 ,37 ) como sigue
|
( 38) |
con
|
( 39) |
La variación de la función huelgo gA se linealiza en cada triángulo y luego se suman todas las contribuciones en forma completamente análoga a lo descrito para los factores de peso. Por medio de la ecuación (24) y las ecuaciones (38 ,39 ), la linealización de gA para un triángulo P puede ser expresada como
|
( 40) |
con
|
( 41) |
La linealización del vector normal promedio para cada nodo de un vértice A de un determinado grupo de elementos no mortar, al que se denominará νA es calculado de la siguiente manera
|
( 42) |
(ver fig. 2 ), donde
|
( 43) |
Aquí nj es el vector normal del elemento no-mortar j , y los vectores y denotan la diferencia de las coordenadas nodales referidas al nodo A , esto es,
|
( 44) |
Véase en la figura 2 para una mejor interpretación.
La linealización de la ecuación (42) resulta en
|
( 45) |
Luego, la linealización del vector normal nj se obtiene a través de la ecuación (43) como
|
( 46) |
con ΦA el vector de coordenadas x1 de los primeros nodos «vecinos» del nodo A y las matrices,
|
( 47) |
|
( 48) |
donde corresponde a la matriz antisimétrica asociada al vector . Luego puede demostrarse que , con lo cual la variación del vector normal promedio es expresado de la siguiente manera
|
( 49) |
Hasta el momento, las ecuaciones han sido desarrollas teniendo en cuenta una base ortogonal local definida por las diagonales de un elemento no-mortar. Esto permitió desarrollar las expresiones con vectores cuyas coordenadas nodales son de 2 componentes. Sin embargo, para que el desarrollo esté completo, el vector de coordenadas nodales debe referirse a otro vector ΔΦ donde cada componente sea la coordenada de un nodo no-mortar o mortar en . Para ello es necesario realizar algunas operaciones adicionales. Partiendo de la ecuación (18) , su linealización se calcula como
|
( 50) |
donde es una matriz que transforma las coordenadas nodales de la base a la base global definida en . El trabajo final consiste en multiplicar cada componente del vector por la matriz para obtener las coordenadas nodales en . En el Apéndice se presenta el desarrollo para la obtención de la matriz .
Las soluciones obtenidas con el método mortar en los ejemplos presentados en este trabajo se comparan con soluciones analíticas, de referencia y con las del programa de elementos finitos SAMCEF [32] . El algoritmo implementado en este software es del tipo nodo-segmento con multiplicadores de Lagrange [33] .
Para comprobar la validez del algoritmo desarrollado, se evalúa su capacidad de superar el test de la parcela con un caso propuesto por Chen y Hisada [13] . Este consiste en 2 bloques en contacto bajo la aplicación de una presión uniforme P = 5 MPa, ver figura 4 . Las propiedades mecánicas se incluyen en la figura 4 junto con las condiciones de borde, las cuales garantizan un estado plano de deformación. La geometría se discretiza con hexaedros lineales de 8 nodos.
|
Figura 4. Test de la parcela. Condiciones de borde y propiedades mecánicas. |
La presión obtenida en ambos lados de la interfase de contacto será igual a la carga exterior aplicada P , si esta se transmite correctamente. Asimismo, el campo de desplazamientos debe mostrar una distribución uniforme. En la figura 5 se compara el campo de desplazamiento obtenido con un esquema del tipo nodo-segmento y con el algoritmo mortar desarrollado en este trabajo. Como puede observarse en la figura 5 -a, la distribución de desplazamientos del esquema nodo-segmento no mantiene una distribución uniforme en todo el dominio. En cambio, el método mortar genera una distribución continua, ver figura 5 -b. Asimismo, la figura 6 muestra una distribución de tensiones uniforme en la interfase de contacto e igual a la presión exterior aplicada cuando se utiliza el método mortar, mientras que con el esquema nodo-segmento se aprecian oscilaciones en la tensión.
|
Figura 5. Test de la parcela. Comparación del campo de desplazamientos en la dirección Z entre el método nodo-segmento y el método mortar propuesto en este trabajo. |
|
Figura 6. Distribución de presión en la interfase de contacto. |
El objetivo final del ejemplo que aquí se propone es análogo al del caso anterior, esto es, evaluar la capacidad del algoritmo en superar el test de la parcela. La diferencia radica en que las mallas tienen elementos de diferentes topologías, ver figura 7 . El cubo superior está formado por elementos hexaedros en tanto que el cubo inferior por elementos tetraedros, cuyas dimensiones son: 10 mm y 15 mm, respectivamente. El cubo superior tiene aplicada una presión de 100 MPa y está en contacto con el otro cubo. Este último tiene aplicada una presión de 100 MPa en su cara superior, fuera de la región de contacto con el cubo superior, tal como lo muestra la figura 7 . Las dimensiones de los cubos como sus propiedades mecánicas se muestran en la misma figura. La figura 8 muestra el campo de desplazamiento en la dirección Z y la figura 9 el campo de tensiones. En esta figura se puede apreciar que el valor de la tensión en ambos cubos es exactamente igual a la presión aplicada, con lo cual, el algoritmo propuesto supera este test de la parcela.
|
Figura 7. Distribución de presión en la interfase de contacto. |
|
Figura 8. Distribución de desplazamiento en la dirección Z. |
|
Figura 9. Campo de tensiones en la dirección Z. |
Se propone un ejemplo de Hertz para validar el método mortar con una solución analítica de 2 cilindros en contacto. Para este caso, ambas interfaces de contacto son curvas. La figura 10 muestra la geometría de la mitad de 2 cilindros elásticos, cada uno de ellos de radio 8. La figura 10 muestra la malla utilizada junto con las condiciones de borde propuestas y las propiedades mecánicas del material. La figura 11 muestra el campo de desplazamientos obtenido con el método mortar, donde además es posible apreciar la superficie que se encuentra en contacto. La figura 12 muestra el campo de tensiones en la dirección Z con continuidad y homogeneidad en la interfase de contacto. La figura 13 muestra la comparación de los resultados obtenidos por medio del método mortar y la solución analítica de Hertz provista en [35] , destacándose buena correlación entre ambos resultados.
|
Figura 10. Contacto de Hertz. Condiciones de borde y propiedades mecánicas. |
|
Figura 11. Contacto entre dos cilindros elásticos. Campo de desplazamientos. |
|
Figura 12. Contacto entre dos cilindros elásticos. Distribución de tensiones por nodo en la dirección Y . |
|
Figura 13. Contacto entre dos cilindros elásticos. Distribución de tensiones por elemento. Comparación con solución analítica de Hertz. |
El siguiente ejemplo corresponde al estudio del contacto entre una válvula de motor de combustión interna con su asiento. Este es un caso de interés industrial el cual presenta dificultades por tener superficies en contacto pequeñas y con doble curvatura.
En la figura 14 se detalla la geometría, condiciones de borde y propiedades mecánicas utilizadas para el modelo de válvula propuesto. La malla empleada está formada por elementos hexaédricos trilineales. La figura 15 -a muestra una comparación entre los resultados de tensiones obtenidos con el método mortar y con el esquema nodo-segmento. Los resultados que se muestran en la figura 15 -a, obtenida con un esquema nodo-segmento, evidencia una concentración de tensiones en la zona de contacto con el asiento, en tanto que con el método mortar existe una distribución mucho más regular, acorde a lo esperado, ver figura 15 -b. Para una comparación cuantitativa más precisa, en la figura 16 se ha graficado la distribución de tensiones en los elementos de contacto de la válvula. En ella se puede apreciar una variación cíclica de la tensión cuando se utiliza el esquema nodo-segmento, mientras que con el mortar existe una oscilación de amplitud mucho menor.
|
Figura 14. Válvula de motor de combustión interna. Condiciones de borde y propiedades mecánicas. |
|
Figura 15. Distribución de tensiones en la dirección Z en una válvula de motor de combustión interna con una malla de hexahedros. |
|
Figura 16. Distribución de tensiones por elemento en la zona de contacto para el ejemplo de la válvula de motor de combustión interna. |
En este trabajo se desarrolló un algoritmo de contacto tipo mortar. Los ejemplos presentados fueron contrastados con soluciones de referencia, especialmente el del test de la parcela y el de los cilindros de Hertz, mostrando en ambos casos buena correlación con las soluciones referenciadas. Como se pudo observar en los ejemplos propuestos, el esquema del tipo nodo segmento es incapaz de calcular con precisión el campo de tensiones en la zona de contacto; sin embargo, con el método mortar propuesto aquí, los resultados han sido notablemente mejores. Las principales contribuciones del trabajo se detallan a continuación:
Este trabajo ha recibido financiamiento de la Agencia Nacional de Promoción Científica y Tecnológica (ANPCyT) y el Consejo Nacional de Investigaciones Científicas y Técnicas(CONICET) de la República Argentina.
Las coordenadas nodales xα definidas en una base global en , pueden ser referidas a una base local en para cada elemento no mortar de la siguiente manera
|
( 51) |
donde es un punto que pertenece a un elemento no-mortar k , por ejemplo, uno de sus vértices. De esta manera, las coordenadas nodales quedan definidas con dos componentes. Los versores y son calculados por medio de las diagonales para cada elemento no-mortar de la siguiente manera,
|
( 52) |
y
|
( 53) |
con
|
( 54) |
ver figura 17 . Derivando la ecuación (51) se obtiene,
|
( 55) |
donde Δ''Φ es el vector variación de coordenadas generalizadas y una matriz que permite referir las componentes de (definidas en la base local ), al vector Δ''Φ referido a la base global en .
|
Figura 17. Definición del plano de proyección. |
La linealización de puede ser obtenida a partir de la ecuación (52) como se muestra a continuación,
|
( 56) |
donde
|
( 57) |
La primera variación del vector normal al plano de proyección p se obtiene por medio de la linealización de la ecuación (54) como
|
( 58) |
con A definido de la siguiente manera,
|
( 59) |
el operador aplicado a un vector u retorna la matriz antisimétrica tal que , para cualquier vector arbitrario . Por último, resta calcular la variación del versor , obtenido a partir de la ecuación (53) ,
|
( 60) |
donde y son los operadores rotacionales antisimétricos asociados al vector normal n y a , respectivamente. Reemplazando por las ecuaciones (56 ,58 ,60 ) en la ecuación (55) , obtenemos la matriz definida como
|
( 61) |
donde
|
( 62) |
Las matrices AI , AII , AIII y AIV corresponden a submatrices de A de la ecuación (59)
|
( 63) |
Para la utilización del algoritmo de intersección de superficies en el plano, se utilizará la ecuación de la recta definida en y en forma paramétrica. Los segmentos y quedan definidos por la resta de los puntos los puntos: a − b y c − d , respectivamente, ver figura 18 .
|
Figura 18. Intersección entre dos segmentos en el plano. |
El punto de intersección entre y queda expresado por,
|
( 64) |
o bien por,
|
( 65) |
donde s y t son escalares que varían entre cero y uno y son denominados parámetros de la recta paramétrica. Un punto de intersección entre los segmentos y , queda definido por los valores de s y t que hacen que Qint (s ) = Pint (t ). La solución de este sistema de ecuaciones permite obtener los parámetros buscados,
|
( 66) |
Un tratamiento especial se requiere para el caso en que el denominador D sea igual a cero, ver por ejemplo [32] .
La linealización de la ecuación (64) no presenta mayores dificultades, aunque es algo laboriosa. En forma genérica,
|
( 67) |
donde la matriz es función de la coordenadas de los puntos a , b , c y d .
La definición de la matriz , que relaciona la variación de las coordenadas de los nodos de cada triángulo del polígono con la variación del vector de coordenadas nodales , puede ser escrita de la siguiente manera,
|
( 68) |
El centro geométrico del polígono queda definido por el punto,
|
( 69) |
donde son las variaciones de los vértices de cada triángulo P , ver figura 19 .
|
Figura 19. Notación utilizada para los cuerpos en contacto. |
La matriz se define en función de cómo se produce la intersección entre los elementos no-mortar y mortar . El caso más sencillo es cuando un nodo del triángulo P coincide con el vértice de un elemento o , entonces
|
( 70) |
y la matriz , estará formada por unos y ceros en las filas y columnas correspondientes al grado de libertad del vértice . Este caso se detalla en la figura 19 , donde el nodo del triángulo P , coincide con el nodo del elemento mortar . Una situación más compleja se presenta cuando existe intersección entro dos lados de los segmentos k y l que definen un nodo del triángulo P . Tal es el caso de la intersección entre los segmentos y en el punto de la figura 19 . Utilizando la ecuación (67) para intersección de segmentos; ver sección A.3 ; la matriz se llenará con los valores correspondientes a la matriz en las filas y columnas definidas por los grados de libertad de los nodos, , , y , de l y k respectivamente.
Published on 01/06/12
Accepted on 03/06/11
Submitted on 19/02/11
Volume 28, Issue 2, 2012
DOI: 10.1016/j.rimni.2012.03.001
Licence: Other
Are you one of the authors of this document?