You do not have permission to edit this page, for the following reason:
You can view and copy the source of this page.
==Resumen==
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.
==Abstract==
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.
==Palabras clave==
Contacto ; Lagrangiano aumentado ; Algoritmo mortar ; Elementos finitos
==Keywords==
Contact ; Augmented Lagrangian ; Mortar ; Finite elements
==1. Introducción==
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 [[#bib0005|[1]]] , procesos de embutición [[#bib0010|[2]]] , fatiga por contacto [[#bib0015|[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''[[#bib0020|[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 [[#bib0025|[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 [[#bib0030|[6]]] y no cumplen con la condición de Babuska-Brezzi [[#bib0035|[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 [[#bib0030|[6]]] and [[#bib0040|[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 [[#bib0045|[9]]] , [[#bib0050|[10]]] and [[#bib0055|[11]]] . En el trabajo de Park y Felippa [[#bib0060|[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 [[#bib0065|[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 [[#bib0070|[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 [[#bib0075|[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 [[#bib0080|[16]]] , [[#bib0085|[17]]] and [[#bib0025|[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 [[#bib0045|[9]]] and [[#bib0090|[18]]] . Específicamente, el primer trabajo que ha utilizado el método mortar fue el propuesto por Bernardi et al. [[#bib0095|[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 [[#bib0100|[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 [[#bib0105|[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 ''C''<sup>1</sup> 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 [[#bib0110|[22]]] , [[#bib0115|[23]]] and [[#bib0120|[24]]] .
En este trabajo, siguiendo algunas de las ideas presentadas por Puso y Laursen [[#bib0100|[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 [[#bib0100|[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 [[#bib0125|[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.
==2. Descripción del problema==
El movimiento de los cuerpos <math display="inline">B</math><sup>''α''</sup> , con ''α'' = 1, 2 se expresa por el mapeo <math display="inline">{\chi }^{\alpha }:{\Omega }^{\alpha }\times [0,T]\longrightarrow {\mathbb{R}}^3</math> , y la posición actual de las partículas materiales se calcula por '''x'''<sup>''α''</sup> = ''χ''<sup>''α''</sup> (''X''<sup>''α''</sup> , ''t'' ). A diferencia de los métodos nodo-segmento, en el contacto tipo mortar la porción de frontera en contacto ''Γ''<sub>''c''</sub> está dada por una intersección de las superficies <math display="inline">{\Gamma }_c^{\alpha }</math> , esto es <math display="inline">{\Gamma }_c={\Gamma }_c^1\cap {\Gamma }_c^2</math> , ver [[#fig0005|figura 1]] . La convención adoptada en este trabajo para la definición de las superficies mortar y no mortar es la siguiente: <math display="inline">{\Gamma }_c^1</math> denota la superficie no-mortar o esclava, en tanto que <math display="inline">{\Gamma }_c^2</math> 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
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{x}^{\alpha }=\sum_{A=1}^{n^{\alpha }}N_A^{\alpha }({\boldsymbol{\xi }}^{\alpha })\boldsymbol{x}_A^{\alpha },</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 1)
|}
donde: <math display="inline">\boldsymbol{x}^{\alpha }\in {\Gamma }_c^{\alpha }\rightarrow {\mathbb{R}}^3</math> , <math display="inline">\boldsymbol{x}_A^{\alpha }\in {\Gamma }_c^{\alpha }\rightarrow {\mathbb{R}}^3</math> , ''n''<sup>''α''</sup> es el número de nodos de la malla en <math display="inline">{\Gamma }_c^{\alpha }</math> y <math display="inline">N_A^{\alpha }:{\Gamma }_c^{\alpha }\rightarrow \mathbb{R}</math> 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.
<span id='fig0005'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr1.jpg|center|488px|Notación utilizada en el método mortar para los cuerpos en contacto.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 1.
Notación utilizada en el método mortar para los cuerpos en contacto.
</span>
|}
El vector de coordenadas nodales en <math display="inline">{\mathbb{R}}^3</math> para las superficies de contacto se define de la siguiente manera
<span id='eq0010'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{\Phi }=\left[\begin{array}{c}
\boldsymbol{x}_1^1\\
\boldsymbol{x}_2^1\\
\vdots \\
\boldsymbol{x}_n^1\\
\boldsymbol{x}_1^2\\
\boldsymbol{x}_2^2\\
\vdots \\
\boldsymbol{x}_n^2\\
\end{array}\right].</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 2)
|}
Notar que '''Φ''' se ordena de forma tal que en las primeras componentes se encuentran las coordenadas de los nodos referidos a la frontera <math display="inline">{\Gamma }_c^1</math> (no mortar) y luego las correspondientes a <math display="inline">{\Gamma }_c^2</math> (mortar).
==3. Trabajo virtual asociado al contacto==
Cuando los cuerpos <math display="inline">B</math><sup>1</sup> y <math display="inline">B</math><sup>2</sup> interactúan mecánicamente sobre la superficie de contacto, el trabajo virtual asociado al contacto queda definido por
<span id='eq0015'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\delta {\Pi }^c=\sum_{\alpha =1}^2{\int }_{{\Gamma }_c^{\alpha }}\boldsymbol{t}^{\alpha }\cdot \delta \boldsymbol{x}^{\alpha }\quad d{\Gamma }_c^{\alpha }=</math><math>\delta \boldsymbol{\Phi }\cdot \boldsymbol{F},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 3)
|}
donde '''''t'''''<sup>''α''</sup> denota el vector tracción de Cauchy. Asumiendo que existe conservación de la cantidad de movimiento lineal en la interfase de contacto, <math display="inline">\boldsymbol{t}^1\quad d{\Gamma }_c^1=</math><math>-\boldsymbol{t}^2\quad d{\Gamma }_c^2</math> ; y que '''''x'''''<sup>1</sup> − '''''x'''''<sup>2</sup> ≈ 0, la ecuación [[#eq0015|(3)]] puede ser escrita como
<span id='eq0020'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\delta {\Pi }^c={\int }_{{\Gamma }_c^1}\boldsymbol{t}^1\cdot (\delta \boldsymbol{x}^1-</math><math>\delta \boldsymbol{x}^2)\quad d{\Gamma }_c^1=\delta \boldsymbol{\Phi }\cdot F.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 4)
|}
Utilizando las siguientes parametrizaciones para las superficies de contacto y el vector tracción
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{x}^1=\sum_{B=1}^{n^1}N_B^1({\boldsymbol{\xi }}^1)\boldsymbol{x}_B^1,</math>
|-
|<math>\boldsymbol{x}^2=\sum_{C=1}^{n^2}N_C^2({\boldsymbol{\xi }}^2)\boldsymbol{x}_C^2,</math>
|-
|<math>\boldsymbol{t}=\sum_{A=1}^{n^1}N_A^1({\boldsymbol{\xi }}^1)\boldsymbol{t}_A,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 5)
|}
junto con la ecuación [[#eq0020|(4)]] , el principio de los trabajos virtuales asociado al contacto se aproxima de la siguiente manera
<span id='eq0030'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\delta {\Pi }^c=\sum_{A=1}^{n^1}\sum_{B=1}^{n^1}\boldsymbol{t}_A\cdot {\int }_{{\Gamma }_c^1}N_A^1({\boldsymbol{\xi }}^1)N_B^1({\boldsymbol{\xi }}^1)\quad d{\Gamma }_c^1\quad \delta \boldsymbol{x}_B^1-</math><math></math>
|-
|<math>\sum_{A=1}^{n^1}\sum_{C=1}^{n^2}\boldsymbol{t}_A\cdot {\int }_{{\Gamma }_c^1}N_A^1({\boldsymbol{\xi }}^1)N_C^2({\boldsymbol{\xi }}^2)\quad d{\Gamma }_c^1\quad \delta \boldsymbol{x}_C^2.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 6)
|}
Luego, la ecuación [[#eq0030|(6)]] puede ser escrita en forma más compacta
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\delta {\Pi }^c=\sum_{A=1}^{n^1}\boldsymbol{t}_A\cdot \delta \boldsymbol{g}_A,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 7)
|}
donde
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\delta \boldsymbol{g}_A=\sum_{B=1}^{n^1}n_{AB}^1\quad \delta \boldsymbol{x}_B^1-</math><math>\sum_{C=1}^{n^2}n_{AC}^2\quad \delta \boldsymbol{x}_C^2,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 8)
|}
denota la primera variación del huelgo o ''gap'' del nodo esclavo ''A'' , y
<span id='eq0045'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>n_{AB}^1={\int }_{{\Gamma }_c^1}N_A^1({\boldsymbol{\xi }}^1)N_B^1({\boldsymbol{\xi }}^1)\quad d{\Gamma }_c^1,</math>
|-
|<math>n_{AC}^2={\int }_{{\Gamma }_c^1}N_A^1({\boldsymbol{\xi }}^1)N_C^2({\boldsymbol{\xi }}^2)\quad d{\Gamma }_c^1,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 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 [[#eq0010|(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
<span id='eq0050'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\delta {\Pi }^c=\left[\begin{array}{c}
\delta \boldsymbol{x}_1^1\\
\delta \boldsymbol{x}_2^1\\
\delta \boldsymbol{x}_3^1\\
\delta \boldsymbol{x}_4^1\\
\delta \boldsymbol{x}_1^2\\
\delta \boldsymbol{x}_2^2\\
\delta \boldsymbol{x}_3^2\\
\delta \boldsymbol{x}_4^2\\
\end{array}\right]\cdot \left[\begin{array}{c}
\sum_{A=1}^{n^1}\boldsymbol{t}_A\quad n_{A1}^1\\
\sum_{A=1}^{n^1}\boldsymbol{t}_A\quad n_{A2}^1\\
\sum_{A=1}^{n^1}\boldsymbol{t}_A\quad n_{A3}^1\\
\sum_{A=1}^{n^1}\boldsymbol{t}_A\quad n_{A4}^1\\
\sum_{A=1}^{n^1}-\boldsymbol{t}_A\quad n_{A1}^2\\
\sum_{A=1}^{n^1}-\boldsymbol{t}_A\quad n_{A2}^2\\
\sum_{A=1}^{n^1}-\boldsymbol{t}_A\quad n_{A3}^2\\
\sum_{A=1}^{n^1}-\boldsymbol{t}_A\quad n_{A4}^2\\
\end{array}\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 10)
|}
pudiendo extenderse de manera similar a otras topologías de elementos. De la ecuación [[#eq0050|(10)]] se desprende que el vector de fuerzas internas del contacto para el caso de mallas formadas por elementos hexaedros es:
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{F}=\left[\begin{array}{c}
\boldsymbol{F}_1^1\\
\boldsymbol{F}_2^1\\
\boldsymbol{F}_3^1\\
\boldsymbol{F}_4^1\\
-\boldsymbol{F}_1^2\\
-\boldsymbol{F}_2^2\\
-\boldsymbol{F}_3^2\\
-\boldsymbol{F}_4^2\\
\end{array}\right]</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 11)
|}
con
<span id='eq0060'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{F}_B^{\alpha }=\sum_{A=1}^{n^1}\boldsymbol{t}_A\quad n_{AB}^{\alpha }.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 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 [[#bib0130|[26]]] , [[#bib0135|[27]]] , [[#bib0140|[28]]] and [[#bib0145|[29]]] . La formulación de contacto mostrada puede adaptarse fácilmente a un esquema de este tipo.
==4. Regularización de las restricciones normales==
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 '''''t'''''<sub>''N''</sub> y en otra tangencial '''''t'''''<sub>''T''</sub> . 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
<span id='eq0065'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>t_{N_A}\geq 0,\quad \quad g_A\leq 0,\quad \quad t_{N_A}g_A=</math><math>0,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 13)
|}
expresadas aquí en forma discreta para cada nodo ''A'' no-mortar. Las ecuaciones [[#eq0065|(13)]] representan un proceso de contacto sin fricción, ya que no se ha tenido en cuenta la componente tangencial '''''t'''''<sub>''T''</sub> . La extensión del algoritmo mortar que aquí se presenta a problemas con fricción mediante un ''return mapping'' no resulta dificultosa [[#bib0115|[23]]] , ya que solo se debe incluir la matriz de fricción que surge de considerar a '''''t'''''<sub>''T''</sub> como función del desplazamiento tangencial. De esta forma, no hay necesidad de incluir variables adicionales.
El huelgo ''g''<sub>''A''</sub> de un nodo ''A'' no-mortar es: ''g''<sub>''A''</sub> = '''''g'''''<sub>''A''</sub> · '''''ν'''''<sub>''A''</sub> , donde '''''ν'''''<sub>''A''</sub> es el vector normal promedio en un nodo no-mortar ''A'' tal como se muestra en la [[#fig0010|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 [[#eq0065|(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
<span id='eq0070'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>t_{N_A}={\kappa }_A\quad \boldsymbol{g}_A\cdot {\boldsymbol{\nu }}_A,\quad \quad (sin\quad suma\quad en\quad \mbox{ A})</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 14)
|}
donde
<span id='eq0075'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{g}_A=\sum_{B=1}^{n^1}n_{AB}^1\quad \boldsymbol{x}_B^1-</math><math>\sum_{C=1}^{n^2}n_{AC}^2\quad \boldsymbol{x}_C^2,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 15)
|}
y ''κ''<sub>''A''</sub> es un factor definido como
<span id='eq0080'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>{\kappa }_A=\frac{\varepsilon }{{\sum }_Dn_{AD}^1},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 16)
|}
siendo ''ɛ'' un coeficiente de penalidad propuesto por el usuario. En la ecuación [[#eq0080|(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 10''Eh'' , 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 ( [[#eq0060|12]] ,[[#eq0070|14]] ), el vector de fuerzas internas resulta en
<span id='eq0085'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{F}_B^{\alpha }=\sum_{A=1}^{n^1}\quad {\kappa }_A\quad n_{AB}^{\alpha }\left({\boldsymbol{\nu }}_A\otimes {\boldsymbol{\nu }}_A\right)\boldsymbol{g}_A.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 17)
|}
<span id='fig0010'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr2.jpg|center|281px|Vector normal promedio νA definido por los elementos: (J−1), (J) y (J+1) en el ...]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 2.
Vector normal promedio '''''ν'''''<sub>''A''</sub> definido por los elementos: (''J'' − 1), (''J'' ) y (''J'' + 1) en el nodo ''A'' .
</span>
|}
==5. Cómputo de los factores de peso. Proyecciones==
Para llevar a cabo las integraciones en la interface ''Γ''<sub>''c''</sub> , 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 [[#fig0005|figura 1]] , con un elemento <math display="inline">\tilde{k}</math> que pertenece a un plano '''''p''''' definido por un vector normal '''''e'''''<sub>3</sub> , ver [[#fig0015|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 <math display="inline">\tilde{k}</math> representa la superficie de integración ''Γ''<sub>''c''</sub> de la ecuación [[#eq0015|(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 <math display="inline">{\mathbb{R}}^3</math> . De esta manera, es posible utilizar el algoritmo de intersección lineal paramétrico Cyrus-Beck descrito en la referencia [[#bib0150|[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 [[#fig0015|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 <math display="inline">{\mathbb{R}}^2</math> , ver por ejemplo [[#bib0160|[31]]] . Tomando una base <math display="inline">V=\lbrace {\overset{\textasciicaron}{\boldsymbol{e}}}_1,{\overset{\textasciicaron}{\boldsymbol{e}}}_2,{\overset{\textasciicaron}{\boldsymbol{e}}}_3\rbrace </math> , donde los versores <math display="inline">{\overset{\textasciicaron}{\boldsymbol{e}}}_1</math> y <math display="inline">{\overset{\textasciicaron}{\boldsymbol{e}}}_3</math> son calculados por medio de las diagonales para cada elemento no-mortar y el vector <math display="inline">{\overset{\textasciicaron}{\boldsymbol{e}}}_2</math> , como <math display="inline">{\overset{\textasciicaron}{\boldsymbol{e}}}_1\times {\overset{\textasciicaron}{\boldsymbol{e}}}_3</math> , ver [[#fig0015|figura 3]] -a, las proyecciones de las coordenadas de los nodos <math display="inline">\boldsymbol{x}_A^{\alpha }</math> de un elemento mortar o no-mortar en '''''p''''' pueden calcularse como
<span id='eq0090'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c}
{\overset{\textasciicaron}{\boldsymbol{e}}}_1\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)\\
{\overset{\textasciicaron}{\boldsymbol{e}}}_2\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)\\
\end{array}\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 18)
|}
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. Así, las coordenadas <math display="inline">\boldsymbol{y}_A^{\alpha }</math> de los nodos no-mortar y mortar quedan definidas con solo 2 componentes.
<span id='fig0015'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr3.jpg|center|491px|(a) Elemento no-mortar k, elemento mortar l, plano de proyección p, base ...]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 3.
(a) Elemento no-mortar ''k'' , elemento mortar ''l'' , plano de proyección '''''p''''' , base <math display="inline">V=\lbrace {\overset{\textasciicaron}{\boldsymbol{e}}}_1,{\overset{\textasciicaron}{\boldsymbol{e}}}_2,{\overset{\textasciicaron}{\boldsymbol{e}}}_3\rbrace </math> ; (b) proyección de los elementos ''k'' y ''l'' en el plano '''''p''''' , (c); polígono <math display="inline">P</math> formado con el algoritmo de intersección; (d) división de <math display="inline">P</math> en triángulos.
</span>
|}
===5.1. Algoritmo para el cálculo de los factores de peso===
En esta sección se describe el algoritmo utilizado para el cómputo de los factores de peso <math display="inline">n_{AB}^{\alpha }</math> .
* '''Para cada elemento no-mortar ''k''''' ,
* ''Formar el plano'''''''p'''''''con base ''<math display="inline">V</math>''.''
* ''Proyectar las coordenadas de los nodos no-mortar ''<math display="inline">\boldsymbol{x}_A^1\rightarrow {\mathbb{R}}^3</math>''en el plano'''''''p''''''', obteniendo los puntos: ''<math display="inline">\boldsymbol{y}_A^1\rightarrow {\mathbb{R}}^2\in \tilde{k}</math>'', referido a ''<math display="inline">V</math>'', ver figura''[[#fig0015|''3'']]''-b.''
* '''''Para cada elemento mortar''''''''''l''''' ,
* ''Proyectar las coordenadas de los nodos mortar ''<math display="inline">\boldsymbol{x}_A^2\rightarrow {\mathbb{R}}^3</math>''en el plano'''''''p''''''', obteniendo los puntos: ''<math display="inline">\boldsymbol{y}_A^2\rightarrow {\mathbb{R}}^2\in \tilde{l}</math>'', referido a ''<math display="inline">V</math>''.''
* ''Utilizar el algoritmo de intersección para formar un polígono ''<math display="inline">P=(\tilde{k}\cap \tilde{l})\subset \boldsymbol{p}</math>'', ver figura''[[#fig0015|''3'']]''-c'' .
* ''Ubicar el centro geométrico ''<math display="inline">\boldsymbol{y}_P^C</math>''del polígono ''<math display="inline">P</math> .
* ''Formar n''<sup>''P''</sup>''triángulos de vértices ''<math display="inline">\boldsymbol{y}_I^P\in P</math>''y ''<math display="inline">\boldsymbol{y}_P^C</math>'', ver figura''[[#fig0015|''3'']]''-d.''
* ''Cada triángulo P admite la siguiente parametrización:''
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{y}^P=\sum_{I=1}^3N_I^P(\boldsymbol{\xi })\quad \boldsymbol{y}_I^P,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 19)
|}
''donde N''<sub>''I''</sub>''son las funciones de forma clásicas para un triángulo.''
* ''Utilizar los n''<sub>''g''</sub>''puntos de Gauss, conocidos para un triángulo lineal, y ubicarlos en cada triángulo P.''
* ''Para establecer una relación entre los puntos de Gauss de un triángulo P de un elemento no-mortar k o mortar l, es necesario calcular las coordenadas locales paramétricas ''<math display="inline">{\boldsymbol{\xi }}_g^{\alpha }</math>''como''
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\sum_{I=1}^3N_I^P(\boldsymbol{\xi })\quad \boldsymbol{y}_I^P=</math><math>\sum_{A=1}^{3\overset{\textasciiacute}{o}4}N_A^{\alpha }({\boldsymbol{\xi }}_g^{\alpha })\quad \boldsymbol{y}_A^{\alpha }.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 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).''
* ''Para cada triángulo P, calcular los factores de peso definidos de la siguiente manera:''
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>n_{AB}^{1,P}=2\quad A^P\quad \sum_{g=1}^{n_g}N_A^1({\boldsymbol{\xi }}_g^1)N_B^1({\boldsymbol{\xi }}_g^1),</math>
|-
|<math>n_{AC}^{2,P}=2\quad A^P\quad \sum_{g=1}^{n_g}N_A^1({\boldsymbol{\xi }}_g^1)N_C^2({\boldsymbol{\xi }}_g^2),</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 21)
|}
''donde A''<sup>''P''</sup>''es el área de cada triángulo P.''
* ''Finalmente sumar todas las contribuciones ''<math display="inline">n_{AB}^{\alpha ,P}</math>''de cada triángulo'' ,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>n_{AB}^1=n_{AB}^1+\sum_{p=1}^{n_p}n_{AB}^{1,P},</math>
|-
|<math>n_{AC}^1=n_{AC}^1+\sum_{p=1}^{n_p}n_{AC}^{1,P}.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 22)
|}
==6. Matriz tangente==
La matriz tangente se obtiene a partir de la linealización del vector de fuerzas internas presentado en la ecuación [[#eq0085|(17)]] ,
<span id='eq0115'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{F}_B^{\alpha }=t_{N_A}{\boldsymbol{\nu }}_A\Delta n_{AB}^{\alpha }+</math><math>{\kappa }_An_{AB}^{\alpha }\left({\boldsymbol{\nu }}_A\otimes {\boldsymbol{\nu }}_A\right)\Delta \boldsymbol{g}_A</math>
|-
|<math>+{\kappa }_An_{AB}^{\alpha }\left(t_{N_A}\boldsymbol{I}+\right. </math><math>\left. {\boldsymbol{\nu }}_A\otimes \boldsymbol{g}_A\right)\Delta {\boldsymbol{\nu }}_A.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 23)
|}
La linealización del huelgo '''''g'''''<sub>''A''</sub> de la ecuación [[#eq0115|(23)]] se obtiene utilizando las ecuaciones ([[#eq0045|9]] ,[[#eq0075|15]] ) y resulta en
<span id='eq0120'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{g}_A=\sum_{B=1}^{n^1}\left(n_{AB}^1\Delta \boldsymbol{x}_B^1+\right. </math><math>\left. \Delta n_{AB}^1\boldsymbol{x}_B^1\right)</math>
|-
|<math>-\sum_{C=1}^{n^2}\left(n_{AC}^2\Delta \boldsymbol{x}_C^2+\right. </math><math>\left. \Delta n_{AC}^2\boldsymbol{x}_C^2\right).</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 24)
|}
Luego, para la derivación de <math display="inline">n_{AB}^{\alpha }</math> , se requiere derivar los factores de peso de cada triángulo ''P '' (<math display="inline">n_{AB}^{\alpha ,P}</math> ), y ensamblar cada contribución en <math display="inline">n_{AB}^{\alpha }</math> . Utilizando la ecuación [[#eq0045|(9)]] , la linealización de los factores de peso <math display="inline">n_{AB}^{\alpha ,P}</math> puede ser escrita de la siguiente manera
<span id='eq0125'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta n_{AB}^{\alpha ,P}=\Delta {\int }_{{\Gamma }_c^{\alpha }}N_A^1({\boldsymbol{\xi }}^1)N_B^{\alpha }({\boldsymbol{\xi }}^{\alpha })\quad d{\Gamma }_c^1</math>
|-
|<math>=\sum_{g=1}^{ng}\Delta N_A^1({\boldsymbol{\xi }}^1)N_B^{\alpha }({\boldsymbol{\xi }}^{\alpha })+</math><math></math>
|-
|<math>N_A^1({\boldsymbol{\xi }}^1)\Delta N_B^{\alpha }({\boldsymbol{\xi }}^{\alpha })w_gA^P+</math><math>n_{AB}^{\alpha ,p}\Delta A^P/A^P.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 25)
|}
donde <math display="inline">w_g</math> son los factores de peso. Para completar el desarrollo de la ecuación [[#eq0125|(25)]] , es necesario definir las linealizaciones de las funciones de forma <math display="inline">N_A^{\alpha }</math> y la correspondiente al área de cada triángulo ''A''<sup>''P''</sup> del polígono <math display="inline">P</math> .
<span id='sec0040'></span>
===6.1. Funciones de forma===
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
<span id='eq0130'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\sum_{I=1}^3N_I^P(\boldsymbol{\xi })\quad \boldsymbol{y}_I^P=</math><math>\sum_{A=1}^{3\overset{\textasciiacute}{o}4}N_A^{\alpha }({\boldsymbol{\xi }}^{\alpha })\quad \boldsymbol{y}_A^{\alpha }.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 26)
|}
Tomando la derivada parcial de las funciones de forma en la dirección <math display="inline">{\xi }_{\beta }^{\alpha }</math> , con ''β'' = 1, 2,
<span id='eq0135'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta N_A^{\alpha }=\frac{\partial N_A^{\alpha }({\boldsymbol{\xi }}^{\alpha })}{\partial {\xi }_{\beta }^{\alpha }}\Delta {\xi }_{\beta }^{\alpha }=</math><math>N_{A,\beta }^{\alpha }\Delta {\boldsymbol{\xi }}_{\beta }^{\alpha },</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 27)
|}
y junto con la ecuación [[#eq0130|(26)]] , la variación de las coordenadas '''''ξ'''''<sup>''α''</sup> para la superficie no-mortar o mortar en la dirección ''β'' se obtiene como
<span id='eq0140'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta {\xi }_{\beta }^{\alpha }={{\boldsymbol{\tau }}_{\beta }^{\alpha }}^T\cdot \left(\sum_{I=1}^3N_I^P(\boldsymbol{\xi })\Delta \boldsymbol{y}_I^P-\right. </math><math>\left. \sum_{A=1}^{3\overset{\textasciiacute}{o}4}N_A^{\alpha }({\boldsymbol{\xi }}^{\alpha })\Delta \boldsymbol{y}_A^P\right),</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 28)
|}
donde
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>{{\boldsymbol{\tau }}_{\beta }^{\alpha }}^T={\left[\frac{\partial N_A^{\alpha }({\boldsymbol{\xi }}^{\alpha })}{\partial {\xi }_{\beta }^{\alpha }}\boldsymbol{y}_A^{\alpha }\right]}^{-1}.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 29)
|}
Notar que para la obtención de los coeficientes <math display="inline">{{\boldsymbol{\tau }}_{\beta }^{\alpha }}^T</math> , 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 ([[#eq0135|27]] ,[[#eq0140|28]] ) la variación de la función de forma evaluada en los puntos de Gauss <math display="inline">{\boldsymbol{\xi }}_g^{\alpha }</math> puede ser escrita como
<span id='eq0150'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta N_A^{\alpha }({\boldsymbol{\xi }}_g^{\alpha })=</math><math>N_A^{\alpha }({\boldsymbol{\xi }}_g^{\alpha }){{\boldsymbol{\tau }}_{\beta }^{\alpha }}^T\cdot \sum_{I=1}^3N_I^P(\boldsymbol{\xi })\Delta \boldsymbol{y}_I^P-</math><math></math>
|-
|<math>\sum_{A=1}^{3\overset{\textasciiacute}{o}4}N_A^{\alpha }({\boldsymbol{\xi }}_g^{\alpha })\Delta \boldsymbol{y}_A^P.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 30)
|}
La ecuación [[#eq0150|(30)]] depende de las variaciones de las coordenadas de los nodos de cada triángulo ''P '' , (<math display="inline">\boldsymbol{y}_I^P\in P</math> ), y también de las variaciones de las coordenadas nodales proyectadas de los elementos no-mortar y mortar, (<math display="inline">\boldsymbol{y}_A^P\in P</math> ). 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, <math display="inline">\boldsymbol{x}_A^{\alpha }\quad \in {\mathbb{R}}^3</math> , y ordenados según el vector '''''Φ''''' descrito en la ecuación [[#eq0010|(2)]] .
Se define <math display="inline">\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}</math> al vector de coordenadas nodales de 2 componentes de los elementos <math display="inline">\tilde{k}</math> y <math display="inline">\tilde{l}</math> referido a la base <math display="inline">V</math> ,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}=\left[\begin{array}{c}
\boldsymbol{y}_1^1\\
\boldsymbol{y}_2^1\\
\boldsymbol{y}_3^1\\
\boldsymbol{y}_4^1\\
\boldsymbol{y}_1^2\\
\boldsymbol{y}_2^2\\
\boldsymbol{y}_3^2\\
\boldsymbol{y}_4^2\\
\end{array}\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 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 <math display="inline">P</math> con el vector de coordenadas nodales <math display="inline">\overset{\mbox{ˆ}}{\Phi }</math> es denominada <math display="inline">\boldsymbol{D}_{IK}^P</math> . Lo expresado anteriormente resulta en la siguiente expresión genérica,
<span id='eq0160'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{y}_I^P=\boldsymbol{D}_{IK}^P\Delta {\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}}_{KL}=</math><math>\boldsymbol{D}_{IK}^{P1}\Delta \boldsymbol{y}_K^1+</math><math>\boldsymbol{D}_{IK}^{P2}\Delta \boldsymbol{y}_K^2,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 32)
|}
donde la obtención de <math display="inline">\boldsymbol{D}_{IK}^P</math> se detalla en el apéndice. Los vectores <math display="inline">\boldsymbol{y}_K^1</math> y <math display="inline">\boldsymbol{y}_L^2</math> denotan las coordenadas nodales de los elementos no-mortar y mortar, respectivamente, <math display="inline">\boldsymbol{D}_{IK}^{P1}</math> y <math display="inline">\boldsymbol{D}_{IK}^{P2}</math> son particiones de la matriz <math display="inline">\boldsymbol{D}_{IK}^P</math> correspondientes a los lados no-mortar y mortar, respectivamente. Con la ecuación [[#eq0160|(32)]] , la linealización de las funciones de forma de la ecuación [[#eq0135|(27)]] referida a las coordenadas de los nodos de los elementos no-mortar y mortar puede escribirse como
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta N_A^{\alpha }\left({\boldsymbol{\xi }}_g^{\alpha }\right)=</math><math>\boldsymbol{P}_A^{\alpha ,P}\left({\boldsymbol{\xi }}_g^{\alpha }\right)\cdot \Delta {\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}}_{KL},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 33)
|}
donde
<span id='eq0170'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{P}_A^{1,P}({\boldsymbol{\xi }}_g^1)=N_{A,\beta }^1\quad \left[(N_I^P({\boldsymbol{\xi }}^1)\boldsymbol{D}_{IK}^{P1}-\right. </math><math>\left. N_K^1({\boldsymbol{\xi }}_g^1)){{\boldsymbol{\tau }}_{\beta }^1}^T\mid N_I^P({\boldsymbol{\xi }}^1)\boldsymbol{D}_{IL}^{P2}{{\boldsymbol{\tau }}_{\beta }^1}^T\right],</math>
|-
|<math>\boldsymbol{P}_C^{2,P}({\boldsymbol{\xi }}_g^2)=N_{C,\beta }^2\quad \left[N_I^P({\boldsymbol{\xi }}^1)\boldsymbol{D}_{IL}^{P1}{{\boldsymbol{\tau }}_{\beta }^2}^T\mid (N_I^P({\boldsymbol{\xi }}^1)\boldsymbol{D}_{IK}^{P2}-\right. </math><math>\left. N_K^2({\boldsymbol{\xi }}_g^2)){{\boldsymbol{\tau }}_{\beta }^2}^T\right].</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 34)
|}
===6.2. Área de los triángulos===
La variación del área de cada triángulo ''P '' que pertenece al polígono <math display="inline">P</math> , es también requerida para completar el desarrollo de la ecuación [[#eq0125|(25)]] . El área de un triángulo ''P'' puede ser calculada con el producto vectorial de sus lados, es decir,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>A^P=\frac{1}{2}\left\|\left[\left(\boldsymbol{y}_3^P-\right. \right. \right. </math><math>\left. \left. \left. \boldsymbol{y}_1^P\right)\times \left(-\right. \right. \right. </math><math>\left. \left. \left. \boldsymbol{y}_2^P+\boldsymbol{y}_1^P\right)\right]\right\|.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 35)
|}
Luego, teniendo en cuenta que cada triángulo pertenece al plano de proyección '''''p''''' , definido por la base <math display="inline">V</math> , la linealización de ''A''<sup>''P''</sup> puede ser calculada de la siguiente manera
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta A^P=\frac{1}{2}\left[-Y_{32,2}^P\mid Y_{32,1}^P\mid -\right. </math><math>\left. Y_{13,2}^P\mid Y_{13,1}^P\mid -Y_{21,2}^P\mid Y_{21,1}^P\right]\cdot \left[\begin{array}{c}
\Delta \boldsymbol{y}_1^P\\
\Delta \boldsymbol{y}_2^P\\
\Delta \boldsymbol{y}_3^P\\
\end{array}\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 36)
|}
donde <math display="inline">Y_{32,1}^P</math> es la componente en la dirección <math display="inline">{\overset{\textasciicaron}{\boldsymbol{e}}}_1</math> del vector <math display="inline">y_3^P-y_2^P</math> que pertenece a la base <math display="inline">V</math> , <math display="inline">Y_{32,2}^P</math> es la segunda componente del mismo vector pero en la dirección <math display="inline">{\overset{\textasciicaron}{\boldsymbol{e}}}_2</math> . En forma análoga se obtienen: <math display="inline">Y_{13,1}^P</math> , <math display="inline">Y_{13,2}^P</math> , <math display="inline">Y_{21,1}^P</math> y <math display="inline">Y_{21,2}^P</math> .
Teniendo en cuenta la ecuación [[#eq0160|(32)]] que relaciona los coordenadas de los nodos del triángulo ''P '' con las coordenadas del elemento no-mortar y mortar (<math display="inline">\Delta \boldsymbol{y}_I^P=\boldsymbol{D}_{IK}^P\Delta \overset{\mbox{ˆ}}{\boldsymbol{\Phi }}</math> ), la linealización del área resulta en la siguiente ecuación
<span id='eq0185'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\frac{\Delta A^P}{A^P}=\boldsymbol{J}^P\boldsymbol{D}_{KL}^P\Delta {\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}}_{KL},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 37)
|}
con <math display="inline">\boldsymbol{J}^P=1/(2A^P)\left[-\right. </math><math>\left. Y_{32,2}^P\quad \vert \quad Y_{32,1}^P\quad \vert \quad -\right. </math><math>\left. Y_{13,2}^P\quad \vert \quad Y_{13,2}^P\quad \vert \quad -\right. </math><math>\left. Y_{21,2}^P\quad \vert \quad Y_{21,1}^P\right]</math> .
===6.3. Factores de peso===
La linealización de los factores de peso evaluados en <math display="inline">{\boldsymbol{\xi }}_g^{\alpha }</math> puede ser calculada con las ecuaciones ([[#eq0125|25]] ,[[#eq0170|34]] ,[[#eq0185|37]] ) como sigue
<span id='eq0190'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta n_{AB}^{\alpha ,P}=\boldsymbol{P}_{AB}^{\alpha ,P}\cdot \Delta {\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}}_{KL},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 38)
|}
con
<span id='eq0195'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{P}_{AB}^{\alpha ,P}=\sum_{g=1}^{n_g}N_B^{\alpha }({\boldsymbol{\xi }}_g^{\alpha })\quad \boldsymbol{P}_A^{1,P}({\boldsymbol{\xi }}_g^1)+</math><math></math>
|-
|<math>N_A^{\alpha }({\boldsymbol{\xi }}_g^{\alpha })\boldsymbol{P}_B^{\alpha ,p}({\boldsymbol{\xi }}_g^{\alpha })w_gA^P+</math><math>n_{AB}^{\alpha ,P}\boldsymbol{J}^P\boldsymbol{D}_{KL}^P.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 39)
|}
===6.4. Huelgo===
La variación de la función huelgo '''''g'''''<sub>''A''</sub> 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 [[#eq0120|(24)]] y las ecuaciones ([[#eq0190|38]] ,[[#eq0195|39]] ), la linealización de '''''g'''''<sub>''A''</sub> para un triángulo ''P'' puede ser expresada como
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{g}_A^P=\left[\boldsymbol{N}_P+{\overline{\boldsymbol{N}}}_P\right]\Delta {\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}}_{KL},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 40)
|}
con
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{N}_P=\left[n_{A1}^{1,P}\boldsymbol{I},\ldots n_{A4}^{1,P}\boldsymbol{I},n_{A1}^{2,P}\boldsymbol{I}\ldots n_{A4}^{2,P}\boldsymbol{I}\right],</math>
|-
|<math>{\overline{\boldsymbol{N}}}_P=\sum_{D=1}^4\left(\boldsymbol{x}_D^1\otimes \boldsymbol{P}_{AD}^{1,P}-\right. </math><math>\left. \boldsymbol{x}_D^2\otimes \boldsymbol{P}_{AD}^{2,P}\right).</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 41)
|}
===6.5. Vector normal promedio===
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á '''''ν'''''<sub>''A''</sub> es calculado de la siguiente manera
<span id='eq0210'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>{\boldsymbol{\nu }}_A=\frac{{\sum }_j^{n_A}\boldsymbol{n}_j}{\parallel \boldsymbol{n}_j\parallel },</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 42)
|}
(ver [[#fig0010|fig. 2]] ), donde
<span id='eq0215'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>n_j=\frac{\boldsymbol{v}_j\times \boldsymbol{v}_j+1}{\left\|\boldsymbol{v}_j\times \boldsymbol{v}_j+1\right\|}\mbox{.}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 43)
|}
Aquí '''''n'''''<sub>''j''</sub> es el vector normal del elemento no-mortar ''j '' , y los vectores <math display="inline">\boldsymbol{v}_j</math> y <math display="inline">\boldsymbol{v}_{j+1}</math> denotan la diferencia de las coordenadas nodales referidas al nodo ''A'' , esto es,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\begin{array}{c}
\boldsymbol{v}_{j+1}=\boldsymbol{x}_C^1-\boldsymbol{x}_A^2\\
\boldsymbol{v}_{j+1}=\boldsymbol{x}_B^1-\boldsymbol{x}_A^2
\end{array}</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 44)
|}
Véase en la [[#fig0010|figura 2]] para una mejor interpretación.
La linealización de la ecuación [[#eq0210|(42)]] resulta en
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta {\boldsymbol{\nu }}_A=\frac{{\sum }_j^{n_A}\Delta \boldsymbol{n}_j(t)\parallel \boldsymbol{n}_j\parallel -{\sum }_j^{n_A}\boldsymbol{n}_j\Delta \parallel \boldsymbol{n}_j\parallel }{\parallel \boldsymbol{n}_j{\parallel }^2}.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 45)
|}
Luego, la linealización del vector normal '''''n'''''<sub>''j''</sub> se obtiene a través de la ecuación [[#eq0215|(43)]] como
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta n_j=\frac{\left[I-n_j\otimes n_j\right]}{\left\|v_j\times v_{j+1}\right\|}\overset{\mbox{ˆ}}{\boldsymbol{W}}\Delta {\boldsymbol{\Phi }}_A=</math><math>\boldsymbol{S}\overset{\mbox{ˆ}}{\boldsymbol{W}}\Delta {\boldsymbol{\Phi }}_A</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 46)
|}
con '''Φ'''<sub>''A''</sub> el vector de coordenadas '''''x'''''<sup>1</sup> de los primeros nodos «vecinos» del nodo ''A'' y las matrices,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{S}=\frac{\left[\boldsymbol{I}-\boldsymbol{n}_j\otimes \boldsymbol{n}_j\right]}{\parallel \boldsymbol{v}_j\times \boldsymbol{v}_{j+1}\parallel },</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 47)
|}
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\overset{\mbox{ˆ}}{\boldsymbol{W}}=\left[{\tilde{\boldsymbol{V}}}_{j+1}\quad \vert \quad -\right. </math><math>\left. {\tilde{\boldsymbol{V}}}_j\quad \vert \quad -\right. </math><math>\left. {\tilde{\boldsymbol{V}}}_{j+1}\quad \vert \quad {\tilde{\boldsymbol{V}}}_j\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 48)
|}
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>{\overset{\textasciicaron}{\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;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{v}_A=\frac{1}{\left\|\boldsymbol{n}_j\right\|}[\boldsymbol{S}\overset{\mbox{ˆ}}{\boldsymbol{W}}-</math><math>\boldsymbol{v}_A\boldsymbol{n}_j\boldsymbol{S}\overset{\mbox{ˆ}}{\boldsymbol{W}}]\Delta {\boldsymbol{\Phi }}_A.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 49)
|}
===6.6. Vector de coordenadas globales===
Hasta el momento, las ecuaciones han sido desarrollas teniendo en cuenta una base ortogonal local <math display="inline">V</math> 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 <math display="inline">\Delta \overset{\mbox{ˆ}}{\boldsymbol{\Phi }}</math> debe referirse a otro vector ''Δ'''''Φ''' donde cada componente sea la coordenada de un nodo no-mortar o mortar en <math display="inline">{\mathbb{R}}^3</math> . Para ello es necesario realizar algunas operaciones adicionales. Partiendo de la ecuación [[#eq0090|(18)]] , su linealización se calcula como
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c}
\Delta {\tilde{\boldsymbol{e}}}_1\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)+{\tilde{\boldsymbol{e}}}_1\cdot \Delta \boldsymbol{x}_A^{\alpha }+{\tilde{\boldsymbol{e}}}_1\cdot \Delta \boldsymbol{x}_0^1\\
\Delta {\tilde{\boldsymbol{e}}}_2\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)+{\tilde{\boldsymbol{e}}}_2\cdot \Delta \boldsymbol{x}_A^{\alpha }+{\tilde{\boldsymbol{e}}}_2\cdot \Delta \boldsymbol{x}_0^1\\
\end{array}\right]</math>
|-
|<math>=\boldsymbol{H}_A^{\alpha }\Delta {\boldsymbol{\Phi }}_{KL},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 50)
|}
donde <math display="inline">\boldsymbol{H}_A^{\alpha }</math> es una matriz que transforma las coordenadas nodales de la base <math display="inline">V</math> a la base global definida en <math display="inline">{\mathbb{R}}^3</math> . El trabajo final consiste en multiplicar cada componente del vector <math display="inline">\Delta \overset{\mbox{ˆ}}{\boldsymbol{\Phi }}</math> por la matriz <math display="inline">\boldsymbol{H}_A^{\alpha }</math> para obtener las coordenadas nodales en <math display="inline">{\mathbb{R}}^3</math> . En el Apéndice se presenta el desarrollo para la obtención de la matriz <math display="inline">\boldsymbol{H}_A^{\alpha }</math> .
==7. Ejemplos numéricos==
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 [[#bib0165|[32]]] . El algoritmo implementado en este software es del tipo nodo-segmento con multiplicadores de Lagrange [[#bib0170|[33]]] .
===7.1. El test de la parcela para contacto. Ejemplo de validación.===
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 [[#bib0065|[13]]] . Este consiste en 2 bloques en contacto bajo la aplicación de una presión uniforme ''P'' = 5 MPa, ver [[#fig0020|figura 4]] . Las propiedades mecánicas se incluyen en la [[#fig0020|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.
<span id='fig0020'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr4.jpg|center|244px|Test de la parcela. Condiciones de borde y propiedades mecánicas.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 4.
Test de la parcela. Condiciones de borde y propiedades mecánicas.
</span>
|}
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 [[#fig0025|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 [[#fig0025|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 [[#fig0025|figura 5]] -b. Asimismo, la [[#fig0030|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.
<span id='fig0025'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr5.jpg|center|527px|Test de la parcela. Comparación del campo de desplazamientos en la dirección Z ...]]
|-
| <span style="text-align: center; font-size: 75%;">
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.
</span>
|}
<span id='fig0030'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr6.jpg|center|348px|Distribución de presión en la interfase de contacto.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 6.
Distribución de presión en la interfase de contacto.
</span>
|}
===7.2. El test de la parcela para contacto con diferentes topologías de mallas. Ejemplo de validación.===
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 [[#fig0035|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 [[#fig0035|figura 7]] . Las dimensiones de los cubos como sus propiedades mecánicas se muestran en la misma figura. La [[#fig0040|figura 8]] muestra el campo de desplazamiento en la dirección ''Z'' y la [[#fig0045|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.
<span id='fig0035'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr7.jpg|center|263px|Distribución de presión en la interfase de contacto.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 7.
Distribución de presión en la interfase de contacto.
</span>
|}
<span id='fig0040'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr8.jpg|center|301px|Distribución de desplazamiento en la dirección Z.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 8.
Distribución de desplazamiento en la dirección Z.
</span>
|}
<span id='fig0045'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr9.jpg|center|301px|Campo de tensiones en la dirección Z.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 9.
Campo de tensiones en la dirección Z.
</span>
|}
===7.3. Contacto de Hertz. Ejemplo de validación===
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 [[#fig0050|figura 10]] muestra la geometría de la mitad de 2 cilindros elásticos, cada uno de ellos de radio 8. La [[#fig0050|figura 10]] muestra la malla utilizada junto con las condiciones de borde propuestas y las propiedades mecánicas del material. La [[#fig0055|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 [[#fig0060|figura 12]] muestra el campo de tensiones en la dirección ''Z'' con continuidad y homogeneidad en la interfase de contacto. La [[#fig0065|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 [[#bib0175|[35]]] , destacándose buena correlación entre ambos resultados.
<span id='fig0050'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr10.jpg|center|284px|Contacto de Hertz. Condiciones de borde y propiedades mecánicas.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 10.
Contacto de Hertz. Condiciones de borde y propiedades mecánicas.
</span>
|}
<span id='fig0055'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr11.jpg|center|301px|Contacto entre dos cilindros elásticos. Campo de desplazamientos.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 11.
Contacto entre dos cilindros elásticos. Campo de desplazamientos.
</span>
|}
<span id='fig0060'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr12.jpg|center|301px|Contacto entre dos cilindros elásticos. Distribución de tensiones por nodo en la ...]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 12.
Contacto entre dos cilindros elásticos. Distribución de tensiones por nodo en la dirección '''''Y''''' .
</span>
|}
<span id='fig0065'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr13.jpg|center|313px|Contacto entre dos cilindros elásticos. Distribución de tensiones por elemento. ...]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 13.
Contacto entre dos cilindros elásticos. Distribución de tensiones por elemento. Comparación con solución analítica de Hertz.
</span>
|}
===7.4. Ejemplo de aplicación. Contacto entre una válvula de motor de combustión interna y el asiento===
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 [[#fig0070|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 [[#fig0075|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 [[#fig0075|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 [[#fig0075|figura 15]] -b. Para una comparación cuantitativa más precisa, en la [[#fig0080|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.
<span id='fig0070'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr14.jpg|center|354px|Válvula de motor de combustión interna. Condiciones de borde y propiedades ...]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 14.
Válvula de motor de combustión interna. Condiciones de borde y propiedades mecánicas.
</span>
|}
<span id='fig0075'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr15.jpg|center|301px|Distribución de tensiones en la dirección Z en una válvula de motor de ...]]
|-
| <span style="text-align: center; font-size: 75%;">
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.
</span>
|}
<span id='fig0080'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr16.jpg|center|338px|Distribución de tensiones por elemento en la zona de contacto para el ejemplo de ...]]
|-
| <span style="text-align: center; font-size: 75%;">
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.
</span>
|}
==8. Conclusiones==
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:
* El algoritmo de contacto que aquí se propone puede ser utilizado en casos tridimensionales con mallas completamente arbitrarias superando efectivamente el test de la parcela. Otras propuestas de algoritmos segmento-segmento, como por ejemplo Park y Felipa [[#bib0060|[12]]] , Kim et al. [[#bib0070|[14]]] o Zavarise y Lorenzis [[#bib0075|[15]]] , si bien también pasan el test de la parcela para contacto, presentan dificultades para su extensión a problemas tridimensionales. En dichos trabajos no se encuentran ejemplos 3D.
* En este trabajo se propone una variante en la definición del factor de penalidad, ver ecuación [[#eq0080|(16)]] , la cual colabora notablemente a la convergencia de la solución.
* A través de la metodología presentada, los coeficientes utilizados para el cálculo de las variaciones de las funciones de forma quedan definidos de manera expresa, ver sección ([[#sec0040|6.1]] ).
* Para el cómputo de la intersección de los elementos no mortar y mortar que forman el polígono de integración <math display="inline">P</math> , se propone la utilización de un algoritmo de intersección de polígonos definidos en un plano referido a una base cartesiana local. De esta forma se facilita el proceso de linealización de las ecuaciones y la implementación computacional.
* Se analizó un caso de aplicación industrial: una válvula de motor de combustión interna, mediante el cual se muestra que el algoritmo propuesto produce un campo de tensiones suave en la zona de contacto comparado con la aproximación nodo-segmento. Esto resulta de interés para extender el método a estudios de tribología u otros que requieren partir de una aproximación adecuada a las tensiones de contacto.
==Agradecimientos==
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.
==Apéndice A. ==
==A.1. Matriz de transformación <math display="inline">\boldsymbol{H}_A^{\alpha }</math>==
Las coordenadas nodales '''''x'''''<sup>''α''</sup> definidas en una base global en <math display="inline">{\mathbb{R}}^3</math> , pueden ser referidas a una base local en <math display="inline">{\mathbb{R}}^2</math> para cada elemento no mortar de la siguiente manera
<span id='eq0255'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c}
{\overset{\textasciicaron}{\boldsymbol{e}}}_1\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)\\
{\overset{\textasciicaron}{\boldsymbol{e}}}_2\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)\\
\end{array}\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 51)
|}
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">{\overset{\textasciicaron}{\boldsymbol{e}}}_1</math> y <math display="inline">{\overset{\textasciicaron}{\boldsymbol{e}}}_2</math> son calculados por medio de las diagonales para cada elemento no-mortar de la siguiente manera,
<span id='eq0260'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>{\overset{\textasciicaron}{\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)
|}
y
<span id='eq0265'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>{\overset{\textasciicaron}{\boldsymbol{e}}}_2={\overset{\textasciicaron}{\boldsymbol{e}}}_3\times {\overset{\textasciicaron}{\boldsymbol{e}}}_1,</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 53)
|}
con
<span id='eq0270'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>{\overset{\textasciicaron}{\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)
|}
ver [[#fig0085|figura 17]] . Derivando la ecuación [[#eq0255|(51)]] se obtiene,
<span id='eq0275'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{y}_A^{\alpha }=\left[\begin{array}{c}
\Delta {\overset{\textasciicaron}{\boldsymbol{e}}}_1\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)+{\overset{\textasciicaron}{\boldsymbol{e}}}_1\cdot \Delta \boldsymbol{x}_A^{\alpha }+{\overset{\textasciicaron}{\boldsymbol{e}}}_1\cdot \Delta \boldsymbol{x}_0^1\\
\Delta {\overset{\textasciicaron}{\boldsymbol{e}}}_2\cdot (\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0^1)+{\overset{\textasciicaron}{\boldsymbol{e}}}_2\cdot \Delta \boldsymbol{x}_A^{\alpha }+{\overset{\textasciicaron}{\boldsymbol{e}}}_2\cdot \Delta \boldsymbol{x}_0^1\\
\end{array}\right]</math>
|-
|<math>=\boldsymbol{H}_A^{\alpha }\Delta \boldsymbol{\Phi },</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 55)
|}
donde ''Δ'''''''Φ''''' es el vector variación de coordenadas generalizadas y <math display="inline">\boldsymbol{H}_A^{\alpha }</math> una matriz que permite referir las componentes de <math display="inline">\Delta \boldsymbol{y}_A^{\alpha }</math> (definidas en la base local <math display="inline">V</math> ), al vector ''Δ'''''''Φ''''' referido a la base global en <math display="inline">{\mathbb{R}}^3</math> .
<span id='fig0085'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr17.jpg|center|263px|Definición del plano de proyección.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 17.
Definición del plano de proyección.
</span>
|}
==A.2. Variación de la normal==
La linealización de <math display="inline">{\overset{\textasciicaron}{\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>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta {\overset{\textasciicaron}{\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)
|}
donde
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{F}=\frac{\left(\boldsymbol{I}-{\overset{\textasciicaron}{\boldsymbol{e}}}_1\otimes {\overset{\textasciicaron}{\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)
|}
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 [[#eq0270|(54)]] como
<span id='eq0290'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{n}=\boldsymbol{A}\Delta \boldsymbol{\Phi },</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 58)
|}
con '''''A''''' definido de la siguiente manera,
<span id='eq0295'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{A}=\frac{\left(\boldsymbol{I}-{\overset{\textasciicaron}{\boldsymbol{e}}}_3\otimes {\overset{\textasciicaron}{\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>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 59)
|}
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">{\overset{\textasciicaron}{\boldsymbol{e}}}_2</math> , obtenido a partir de la ecuación [[#eq0265|(53)]] ,
<span id='eq0300'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta {\tilde{\boldsymbol{e}}}_2=\tilde{\boldsymbol{n}}\Delta {\tilde{\boldsymbol{e}}}_1-</math><math>{\tilde{\boldsymbol{e}}}_1\Delta \boldsymbol{n},</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 60)
|}
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">{\overset{\textasciicaron}{\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;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{H}_A^{\alpha }=\left[\begin{array}{c}
\boldsymbol{H}_I^{\alpha }\\
\boldsymbol{H}_{II}^{\alpha }
\end{array}\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 61)
|}
donde
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{H}_I^{\alpha }=-(\boldsymbol{x}_A^{\alpha }-</math><math>\boldsymbol{x}_0)^T\boldsymbol{F}+{\overset{\textasciicaron}{\boldsymbol{e}}}_1^T({\delta }_{A1}-</math><math>1/n)\quad \quad \vert \quad \quad </math>
|-
|<math>{\overset{\textasciicaron}{\boldsymbol{e}}}_1^T({\delta }_{A2}-</math><math>1/n)(\boldsymbol{x}_A^{\alpha }-\boldsymbol{x}_0)^T\boldsymbol{F}+</math><math></math>
|-
|<math>{\overset{\textasciicaron}{\boldsymbol{e}}}_1^T({\delta }_{A3}-</math><math>1/n)\quad \quad \vert \quad \quad {\overset{\textasciicaron}{\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>{\overset{\textasciicaron}{\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>{\overset{\textasciicaron}{\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})+{\overset{\textasciicaron}{\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>{\overset{\textasciicaron}{\boldsymbol{e}}}_2^T.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 62)
|}
Las matrices '''''A'''''<sup>''I''</sup> , '''''A'''''<sup>''II''</sup> , '''''A'''''<sup>''III''</sup> y '''''A'''''<sup>''IV''</sup> corresponden a submatrices de '''''A''''' de la ecuación [[#eq0295|(59)]]
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{A}=\left[\boldsymbol{A}^I\quad \boldsymbol{A}^{II}\quad \boldsymbol{A}^{III}\quad \boldsymbol{A}^{IV}\right].</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 63)
|}
<span id='sec0120'></span>
==A.3. Intersección de dos rectas==
Para la utilización del algoritmo de intersección de superficies en el plano, se utilizará la ecuación de la recta definida en <math display="inline">{\mathbb{R}}^2</math> y en forma paramétrica. Los segmentos <math display="inline">\overline{\boldsymbol{a}}\boldsymbol{b}</math> y <math display="inline">\overline{\boldsymbol{c}}\boldsymbol{d}</math> quedan definidos por la resta de los puntos los puntos: '''''a''''' − '''''b''''' y '''''c''''' − '''''d''''' , respectivamente, ver [[#fig0090|figura 18]] .
<span id='fig0090'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr18.jpg|center|177px|Intersección entre dos segmentos en el plano.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 18.
Intersección entre dos segmentos en el plano.
</span>
|}
El punto de intersección entre <math display="inline">\overline{\boldsymbol{a}}\boldsymbol{b}</math> y <math display="inline">\overline{\boldsymbol{c}}\boldsymbol{d}</math> queda expresado por,
<span id='eq0320'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{Q}_{int}(s)=\boldsymbol{a}+s(\boldsymbol{b}-</math><math>\boldsymbol{a}),</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 64)
|}
o bien por,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\boldsymbol{P}_{int}(t)=\boldsymbol{c}+t(\boldsymbol{d}-</math><math>\boldsymbol{c}),</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 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 <math display="inline">\overline{\boldsymbol{a}}\boldsymbol{b}</math> y <math display="inline">\overline{\boldsymbol{c}}\boldsymbol{d}</math> , queda definido por los valores de ''s'' y ''t'' que hacen que '''''Q'''''<sub>''int''</sub> (''s'' ) = '''''P'''''<sub>''int''</sub> (''t'' ). La solución de este sistema de ecuaciones permite obtener los parámetros buscados,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>s=\left[a_x(d_y-c_y)+c_x(a_y-d_y)+d_x(c_y-a_y)\right]/D,</math>
|-
|<math>t=\left[a_x(c_y-b_y)+b_x(a_y-c_y)+c_x(b_y-a_y)\right]/D,</math>
|-
|<math>D=a_x(d_y-c_y)+b_x(c_y-d_y)+d_x(b_y-a_y)+c_x(a_y-b_y).</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 66)
|}
Un tratamiento especial se requiere para el caso en que el denominador ''D'' sea igual a cero, ver por ejemplo [[#bib0160|[32]]] .
La linealización de la ecuación [[#eq0320|(64)]] no presenta mayores dificultades, aunque es algo laboriosa. En forma genérica,
<span id='eq0335'></span>
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{Q}_{int}=\overline{\overline{\boldsymbol{Q}}}\cdot \left[\begin{array}{c}
\Delta \boldsymbol{a}\\
\Delta \boldsymbol{b}\\
\Delta \boldsymbol{c}\\
\Delta \boldsymbol{d}\\
\end{array}\right],</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 67)
|}
donde la matriz <math display="inline">\overline{\overline{\boldsymbol{Q}}}</math> es función de la coordenadas de los puntos '''''a''''' , '''''b''''' , '''''c''''' y '''''d''''' .
==A.4. La matriz <math display="inline">\boldsymbol{D}_{KL}^P</math>==
La definición de la matriz <math display="inline">\boldsymbol{D}_{KL}^P</math> , que relaciona la variación de las coordenadas de los nodos de cada triángulo del polígono <math display="inline">P</math> con la variación del vector de coordenadas nodales <math display="inline">\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}</math> , puede ser escrita de la siguiente manera,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{y}_I^P=\boldsymbol{D}_{IK}^P\Delta {\overset{\mbox{ˆ}}{\boldsymbol{\Phi }}}_{KL}.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 68)
|}
El centro geométrico del polígono <math display="inline">P</math> queda definido por el punto,
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{y}_c^P=\frac{1}{n^P}\sum_{P=1}^{n^P}\Delta \boldsymbol{y}_I^P\quad \quad I=</math><math>1\ldots 3.</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 69)
|}
donde <math display="inline">\Delta \boldsymbol{y}_I^P</math> son las variaciones de los vértices de cada triángulo ''P'' , ver [[#fig0095|figura 19]] .
<span id='fig0095'></span>
{| style="text-align: center; border: 1px solid #BBB; margin: 1em auto; max-width: 100%;"
|-
|
[[Image:draft_Content_843322741-1-s2.0-S0213131512000156-gr19.jpg|center|225px|Notación utilizada para los cuerpos en contacto.]]
|-
| <span style="text-align: center; font-size: 75%;">
Figura 19.
Notación utilizada para los cuerpos en contacto.
</span>
|}
La matriz <math display="inline">\boldsymbol{D}_{KL}^P</math> se define en función de cómo se produce la intersección entre los elementos no-mortar <math display="inline">\tilde{k}</math> y mortar <math display="inline">\tilde{l}</math> . El caso más sencillo es cuando un nodo del triángulo ''P '' coincide con el vértice de un elemento <math display="inline">\tilde{k}</math> o <math display="inline">\tilde{l}</math> , entonces
{| class="formulaSCP" style="width: 100%; text-align: center;"
|-
|
{| style="text-align: center; margin:auto;"
|-
| <math>\Delta \boldsymbol{y}_I^P=\Delta \boldsymbol{y}_i^{\alpha },</math>
|}
| style="width: 5px;text-align: right;white-space: nowrap;" | ( 70)
|}
y la matriz <math display="inline">\boldsymbol{D}_{KL}^P</math> , estará formada por unos y ceros en las filas y columnas correspondientes al grado de libertad del vértice <math display="inline">\boldsymbol{y}_i^{\alpha }</math> . Este caso se detalla en la [[#fig0095|figura 19]] , donde el nodo <math display="inline">\boldsymbol{y}_2^P</math> del triángulo ''P '' , coincide con el nodo del elemento mortar <math display="inline">\boldsymbol{y}_2^2</math> . 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 <math display="inline">\overline{\boldsymbol{y}_3^2-\boldsymbol{y}_2^2}</math> y <math display="inline">\overline{\boldsymbol{y}_4^1-\boldsymbol{y}_3^1}</math> en el punto <math display="inline">\boldsymbol{y}_{int}^P</math> de la [[#fig0095|figura 19]] . Utilizando la ecuación [[#eq0335|(67)]] para intersección de segmentos; ver sección [[#sec0120|A.3]] ; la matriz <math display="inline">\boldsymbol{D}_{KL}^P</math> se llenará con los valores correspondientes a la matriz <math display="inline">\overline{\overline{\boldsymbol{Q}}}</math> en las filas y columnas definidas por los grados de libertad de los nodos, <math display="inline">\boldsymbol{y}_3^2</math> , <math display="inline">\boldsymbol{y}_2^2</math> , <math display="inline">\boldsymbol{y}_4^1</math> y <math display="inline">\boldsymbol{y}_3^1</math> , de ''l'' y ''k'' respectivamente.
==References==
<ol style='list-style-type: none;margin-left: 0px;'><li><span id='bib0005'></span>
[[#bib0005|[1]]] P. Gamez-Montero, F. Zárate, M. Sánchez, R. Castilla, E. Codina; El problema del contacto en bombas de engranajes de perfil troncoidal; Rev. Int. Mét. Num. Cál. Dis. Ing., 21 (2005), pp. 213–229</li>
<li><span id='bib0010'></span>
[[#bib0010|[2]]] F. Flores; Un algoritmo de contacto para el análisis explícito de procesos de embutición; Rev. Int. Mét. Num. Cál. Dis. Ing., 16 (2000), pp. 421–432</li>
<li><span id='bib0015'></span>
[[#bib0015|[3]]] J.J. Madge, S.B. Leen, I.R. McColl, P.H. Shipway; Contact-evolution based prediction of fretting fatigue life: Effect of slip amplitude; Wear, 262 (2007), pp. 1159–1170</li>
<li><span id='bib0020'></span>
[[#bib0020|[4]]] H. Parisch; A consistent tangent stiffness matrix for three-dimensional non-linear contact analysis; Int. J. Numer. Meth. Engng., 28 (1989), pp. 1803–1812</li>
<li><span id='bib0025'></span>
[[#bib0025|[5]]] P. Papadopoulos, R.L. Taylor, Technical Report UCB/ SEMM Report 90/18, University of California at Berkeley, (1990).</li>
<li><span id='bib0030'></span>
[[#bib0030|[6]]] N. El-Abbasi, K.J. Bathe; Stability and patch test performance of contact discretizations and a new solution algorithm; Comput. Struct., 79 (2001), pp. 1473–1486</li>
<li><span id='bib0035'></span>
[[#bib0035|[7]]] F. Brezzi, M. Fortin; Mixed and Hybrid Finite Element Methods; Springer Verlag, New York (1991)</li>
<li><span id='bib0040'></span>
[[#bib0040|[8]]] M.C. Oliveira, J.L. Alves, L.F. Menezes; Algorithms and strategies for treatment of large deformation frictional contact in the numerical simulation of deep drawing process; Arch. Comput. Methods Eng., 15 (2008), pp. 113–162</li>
<li><span id='bib0045'></span>
[[#bib0045|[9]]] B. Wohlmuth; Discretization Methods and Iterative Solvers Based on Domain Decomposition; Springer (2001)</li>
<li><span id='bib0050'></span>
[[#bib0050|[10]]] C.R. Dohrmann, S.W. Key, M.W. Heinstein; Methods for connecting dissimilar three-dimensional finite element meshes; Int. J. Numer. Meth. Engng., 47 (2000), pp. 1057–1080</li>
<li><span id='bib0055'></span>
[[#bib0055|[11]]] C. Kim, R.D. Lazarov, J.E. Pasciak, P.S. Vassilevski; Multiplier spaces for the mortar finite element method in three dimensions; SIAM J. Num. Anal., 38 (2001), pp. 519–538</li>
<li><span id='bib0060'></span>
[[#bib0060|[12]]] K.C. Park, C.A. Felippa; A simple algortihm for localized construction of non-matching structural interfaces; Int. J. Numer. Meth. Engng., 53 (2002), pp. 2117–2142</li>
<li><span id='bib0065'></span>
[[#bib0065|[13]]] X. Chen, T. Hisada; Development of a finite element contact analysis algorithm to pass the patch test; JSME International Journal Series A, 49 (2006), pp. 483–490</li>
<li><span id='bib0070'></span>
[[#bib0070|[14]]] J.H. Kim, J.H. Lim, J.H. Lee, S. Im; A new computational approach to contact mechanics using variable-node finite elements; Int. J. Numer. Meth. Engng., 73 (2008), pp. 1966–1988</li>
<li><span id='bib0075'></span>
[[#bib0075|[15]]] G. Zavarise, L. De Lorenzis, A modified node-to-segment algorithm passing the contact patch test, Int. J. Numer. Meth. Engng. 79 (2009) 374–416.</li>
<li><span id='bib0080'></span>
[[#bib0080|[16]]] P. Papadopoulos, R.L. Taylor; A mixed formulation for the finite element solution of contact problems; Comput. Methods Appl. Mech. Engrg., 50 (1992), pp. 163–180</li>
<li><span id='bib0085'></span>
[[#bib0085|[17]]] J.C. Simo, P. Wriggers, R.L. Taylor; A perturbed Lagrangian formulation for the finite element solution of contact problems; Comput. Methods Appl. Math., 50 (1985), pp. 163–180</li>
<li><span id='bib0090'></span>
[[#bib0090|[18]]] F. Belgacem, Y. Maday; A spectral element methodology tuned to parallel implementations; Comput. Methods Appl. Mech. Engrg., 67 (1994), pp. 116–159</li>
<li><span id='bib0095'></span>
[[#bib0095|[19]]] C. Bernardi, Y. Maday, A.T. Patera; A mortar-finite element formulation for frictional contact problems; Int. J. Numer. Meth. Engng., 48 (2000), pp. 1525–1547</li>
<li><span id='bib0100'></span>
[[#bib0100|[20]]] M. Puso, T. Laursen; A mortar segment-to-segment contact method for large deformation solid mechanics; Comput. Methods Appl. Mech. Engrg., 193 (2004), pp. 601–629</li>
<li><span id='bib0105'></span>
[[#bib0105|[21]]] M. Puso; A 3D mortar method for solid mechanics; Int. J. Numer. Meth. Engng., 59 (2004), pp. 315–336</li>
<li><span id='bib0110'></span>
[[#bib0110|[22]]] M. Puso, T.A. Laursen, J. Solberg; A segment to segment mortar method for quadratic elements and large deformations; Comput. Methods Appl. Mech. Engrg., 197 (2008), pp. 555–566</li>
<li><span id='bib0115'></span>
[[#bib0115|[23]]] K.A. Fischer, P. Wriggers; Mortar based frictional contact formulation for higher order interpolations using the moving friction cone; Comput. Methods Appl. Mech. Engng., 195 (2006), pp. 5020–5036</li>
<li><span id='bib0120'></span>
[[#bib0120|[24]]] B. Yang, T.A. Laursen; A large deformation mortar formulation of self contact with finite sliding; Comput. Methods Appl. Mech. Engrg., 197 (2008), pp. 756–772</li>
<li><span id='bib0125'></span>
[[#bib0125|[25]]] Oofelie Object oriented finite elements led by interactive executor. Open engineering. S.A., 2010. http://www.oofelie.org . </li>
<li><span id='bib0130'></span>
[[#bib0130|[26]]] V. Lens, A. Cardona, M. Géradin; Energy preserving time integration for constrained multibody systems; Multibody Syst. Dyn., 11 (2003), pp. 41–61</li>
<li><span id='bib0135'></span>
[[#bib0135|[27]]] V. Lens, A. Cardona; An energy preserving/decaying scheme for constrained nonlinear multibody systems; Multibody Syst. Dyn., 18 (2007), pp. 435–470</li>
<li><span id='bib0140'></span>
[[#bib0140|[28]]] P. Betsch, P. Steinmann; Conservation properties of a time FE method. Part I: Time stepping schemes for N-body problems; Int. J. Numer. Meth. Engng., 49 (2000), pp. 599–638</li>
<li><span id='bib0145'></span>
[[#bib0145|[29]]] P. Betsch, P. Steinmann; Conservation properties of a time FE method. Part II: Time stepping schemes for non-linear elastodynamics; Int. J. Numer. Meth. Engng., 50 (2001), pp. 1931–1955</li>
<li><span id='bib0150'></span>
[[#bib0150|[30]]] J.D. Foley, A. Van Dam, S.K. Feiner, J.F. Hughes; Computer Graphics, Principles and Practice; (second edition)Addison-Wesley, Reading (1997)</li>
<li><span id='bib0160'></span>
[[#bib0160|[31]]] J. O’Rourke; Computational geometry in C; (2 edition)Cambridge University Press (1990) 1998</li>
<li><span id='bib0165'></span>
[[#bib0165|[32]]] SAMCEF. Mecano V13 user manual. Samtech S.A., 2007. http://www.samcef.com . </li>
<li><span id='bib0170'></span>
[[#bib0170|[33]]] P. Alart, A. Curnier; A mixed formulation for frictional contact problems prone to Newton like solution methods; Comput. Methods Appl. Mech. Engrg., 92 (1991), pp. 353–375</li>
<li><span id='bib0175'></span>
[[#bib0175|[34]]] K.L. Johnson; Contact Mechanics; Cambridge University Press (1987)</li>
</ol>
Return to Cavalieri et al 2012a.
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?