Full text
Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Máster Máster en Ingeniería Aeronáutica Estudio numérico del proceso de estampación/estirado de chapa metálica Autora: Mirian Massucci Ortiz Tutor: Domingo Morales Palma Cotutora: Ana Rosa Sainz Dpto. de Ingeniería Mecánica y Fabricación Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2024
Trabajo Fin de Máster Máster en Ingeniería Aeronáutica Estudio numérico del proceso de estampación/estirado de chapa metálica Autora: Mirian Massucci Ortiz Tutores: Domingo Morales Palma Profesor Titular de Universidad Ana Rosa Sainz Profesora sustituta Dpto. de Ingeniería Mecánica y Fabricación Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2024
Trabajo Fin de Máster: Estudio numérico del proceso de estampación/estirado de chapa metálica Autora: Mirian Massucci Ortiz Tutores: Domingo Morales Palma Ana Rosa Sainz El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha:
Agradecimientos Co n este trabajo pongo final a mi etapa de estudiante del Máster en Ingeniería Aeronáutica. Estos dos años han sido duros, pero a la vez posiblemente los más bonitos de mi vida. Doy gracias a todos los profesores que han pasado por mi vida por convertirme en quien soy ahora, tanto en lo profesional como en lo personal. A mis dos tutores, por el apoyo y trabajo dedicados a lo largo del proyecto. En especial, quiero expresar mi agradecimiento a Domingo, por su extraordinaria dedicación a sus alumnos. Gracias por tu pasión por la docencia y por todo lo que me has enseñado. A mi familia. En especial a mis padres y a Floren, gracias por apoyarme en mis decisiones y por ser el pilar que sustenta mi vida. A Lorena, por estar a mi lado cada día, impulsándome a seguir adelante y contagiándome tu motivación. Gracias por cuidarme siempre y ser mi mayor apoyo en cada paso de este camino. A mis amigos, por estar siempre ahí y hacer que mi vida sea mucho más plena, alegre y llena de momentos especiales. Gracias por cada momento compartido y por la compañía incondicional en todo momento. Gracias. Mirian Massucci Ortiz Sevilla, 2024 I
Resumen Este proyecto tiene como objetivo principal el análisis numérico de los procesos de estirado y estampación de chapa metálica, dado su interés en diversas aplicaciones de la industria aeronáutica. Se ha realizado el modelado y simulación del proceso de estampación/estirado de chapa metálica mediante el software de elementos finitos Abaqus. Se han realizado modelos 2D y 3D para simular el proceso de estirado con un punzón con curvatura, comparando los resultados con las soluciones de modelos analíticos. Los modelos se han automatizado mediante scripts en Python para facilitar la modificación de diferentes elementos del modelo y el análisis de las simulaciones. Se analizan distintos factores que influyen en el proceso, como la geometría del punzón, los radios de redondeo, la acción y fuerza del prensachapas, y el uso de tetones en el sistema de sujeción de la pieza. La principales variables analizadas son las distribuciones a lo largo de la chapa de la fuerza longitudinal, la deformación principal máxima y el espesor. Los modelos permiten valorar diversos aspectos que generalmente se desprecian en el estudio del proceso de estirado/estampación mediante modelos matemáticos sencillos, como el efecto de la mayor flexión de la chapa en el contacto con las aristas redondeadas de la matriz y el prensachapas y el uso de tetones en el sistema de sujeción de la chapa. III
4Capítulo 2. Introducción a los procesos de conformado de chapa metálica La Figura 2.1 muestra algunos ejemplos de productos fabricados con chapa metálica: una pieza compleja estampada (típica de la industrial del automóvil), componentes de una lavadora y perfiles estructurales para la construcción. En la industria aeronáutica, las piezas típicas de chapa incluyen los revestimientos de fuselajes y alas así como muchos componentes estructurales, generalmente de aleaciones de aluminio y titanio. 2.1.1 Embutición Los procesos de conformado de chapas metálicas se pueden clasificar según el tipo de tensiones que se generan. Un ejemplo es el embutido profundo de recipientes, donde el borde experimenta una tensión de tracción en una dirección y una compresión en la otra. En este proceso, el material apenas se adelgaza, pero un problema común es la aparición de arrugas [ 2 ]. La Figura 2.2 ilustra este proceso de fabricación. Figura 2.2 Proceso de embutición [3]. 2.1.2 Estampación En este proceso de conformado, las tensiones principales que actúan sobre la chapa son de tracción. Estas tensiones pueden llevar al adelgazamiento del material, lo que puede resultar en un fallo por estricción localizada, donde se produce una reducción rápida de la sección transversal en todas las direcciones [2]. Durante la estampación, la chapa se sujeta en los bordes y se empuja hacia una cavidad de matriz mediante un punzón (Figura 2.3). En lugar de ser comprimida entre las herramientas, la chapa se estira. En algunos casos, existe una matriz adicional que revierte el movimiento del material después de haber sido estirado, especialmente cuando se forman superficies cóncavas que requieren un doblado en la dirección opuesta. Si el radio de la herramienta es pequeño, esto concentra tensiones significativas en la zona de contacto con la chapa, lo que aumenta la probabilidad de fallos del material por estricción localizada, como ocurre cuando se forma un cuello agudo [2].
2.1 Conformado de chapa metálica 5 Figura 2.3 Proceso de estampación [2]. En ocasiones, es necesario el uso de tetones o "draw beads" como el representado en la Figura 2.3. Los tetones se utilizan para generar tensión en la chapa, evitando que se produzca una deformación excesiva. A medida que la chapa pasa a través del tetón, se somete a un proceso de doblado y desdoblado en tres ocasiones, lo que implica trabajo plástico. Además, la fricción juega un papel importante, creando una resistencia al movimiento de la chapa. Si esta resistencia es lo suficientemente alta, el tetón puede bloquear el desplazamiento de la lámina. En este caso, el proceso se denominaría estirado o estirado por flexión, ya que esto es lo que diferencia sustancialmente un proceso de otro. La fuerza de restricción que ejerce el tetón puede ajustarse controlando la altura a la que se introduce en el sistema [2]. El adelgazamiento es inevitable en estos procesos, y se debe tener cuidado para evitar que el material falle debido a la formación de estricciones o "cuellos" y fracturas localizadas en las zonas sometidas a las mayores tensiones [2]. Es importante realizar una correcta lubricación durante un proceso de estampación/estirado para evitar el fallo del material en las zonas críticas. Por ejemplo, se sabe que cuando una chapa se estira con un punzón de forma hemiesférica (como en los ensayos Nakazima), la ubicación del fallo está influenciada por el nivel de fricción entre la chapa y el punzón. Si la fricción es alta, el fallo suele ocurrir en la zona del material que no está en contacto directo con el punzón, es decir, en las áreas que se encuentran más alejadas de esa superficie de contacto. En cambio, si la fricción es baja, el fallo tiende a desplazarse hacia la parte superior del domo [2]. 2.1.3 Estirado En este proceso, la chapa metálica es fijada firmemente en sus extremos mediante el uso de prensachapas, mientras un punzón ejerce presión sobre su superficie, lo que provoca que la chapa se deforme bajo un estado de tracción. La Figura 2.4 muestra en un esquema simple del estirado cómo la chapa se estira por la acción de la fuerza de tracción distribuida a lo largo de la pieza. Una de las principales ventajas de este proceso es que reduce significativamente el efecto de recuperación elástica o springback, debido a las tensiones predominantes de tracción en la mayor parte o toda chapa, lo que mejora la precisión dimensional del producto final. Además, este método permite
6Capítulo 2. Introducción a los procesos de conformado de chapa metálica obtener formas que no sean complejas, como algunos componentes del fuselaje de aeronaves, con un control más riguroso sobre el espesor del material [2]. Figura 2.4 Proceso de estirado [4]. El estirado es ampliamente utilizado en la industria aeronáutica, donde es esencial para la fabricación de fuselajes, ya que proporciona piezas ligeras y resistentes, ideales para soportar las exigentes condiciones operativas de las aeronaves. También se emplea en la producción de piezas de automoción, donde se requiere precisión y durabilidad en componentes como carrocerías y paneles estructurales. 2.1.4 Plegado Dentro del proceso de plegado, existen a su vez distintos tipos. El proceso más simple de todos ellos es aquel que se realiza en línea recta. Esto se puede hacer de varias formas, como conformar todo el doblez en un molde, o mediante técnicas como el rebordeado en prensa o en máquinas especiales, o deslizando la chapa sobre un radio en un molde [2]. Figura 2.5 Procesos de plegado [2]. Si el doblez no sigue una línea recta o la chapa no es plana, se produce una deformación plástica no solo en el área del doblez, sino también en la chapa adyacente. En el rebordeado (plegado de un borde) por contracción de la Figura 2.5 (a), el borde se acorta y el reborde puede abollarse. En el rebordeado por estiramiento de la Figura 2.5 (b), la longitud del borde debe aumentar, lo que puede
2.2 Análisis simple del proceso de estampación/estirado 7 provocar problemas de fractura. Si la pieza está curvada cerca del reborde o si tanto la pieza como el reborde son curvos, como en la Figura 2.5 (c), el reborde puede estirarse o comprimirse, por lo que sería necesario un análisis geométrico para determinar este comportamiento [2]. 2.2 Análisis simple del proceso de estampación/estirado Para el estudio del conformado convencional de chapa metálica se tendrán en cuenta las siguientes hipótesis generales [2]: 1. Deformaciones elásticas mucho menores que las deformaciones plásticas: dε=dεe+dεp≈dεp 2. Tensión plana: σ3=0ydε3=−(dε1+dε2) 3. Proceso monótono (sin descarga) y proporcional (los ejes principales de esfuerzo/deformación permanecen fijos). Se pueden definir los siguientes parámetros: α=σ2/σ1;β=dε2/dε1 Con esto, se obtienen las siguientes relaciones básicas [2]: ε1;ε2=βε1;ε3=−(1+β)ε1(2.1) Haciendo uso del criterio de fluencia de Mises: 1 2[(σ1−σ2)2+(σ2−σ3)2+(σ1−σ3)2] = [1−α+α2]σ2 1=σY2(2.2) Con la regla de flujo de Levy-Mises: dε1 σ1−1 2σ2 =dε2 σ2−1 2σ1 =dε3 −1 2(σ1+σ2) =dεeq σeq (2.3) El esfuerzo y la deformación efectivos: σeq =σ1p1−α+α2(2.4) dεeq =r2 3[dε2 1+dε2 2+dε2 3] = 2 √3dε1p1+β+β2(2.5) La relación entre los parámetros αyβ: β=2α−1 2−α(2.6) α=2β+1 2+β(2.7) Fuerzas por unidad de ancho: T1=σ1t;T2=σ2t=αT1(2.8) El análisis del proceso de estampación/estirado se puede simplificar asumiendo una geometría simple y deformación plana, con lo que se puede obtener un modelo en 2D siguiendo las siguientes hipótesis [2]: 1. Tensión plana: σ3=0
8Capítulo 2. Introducción a los procesos de conformado de chapa metálica 2. Deformación plana: ε2=0 3. Se desprecia el doblado y desdoblado de la chapa metálica. En cuanto a la deformación, esfuerzo y fuerza por unidad de ancho: Deformación plana: β= 0;α=1/2 σ1=0 : σ2=1 2σ1:σ3=0 : σeq =√3 2σ1 dε1=0 : dε2=0 : dε3=−dε1:dεeq =2 √3dε1 ε1=0 : ε2=0 : ε3=−ε1:εeq =2 √3ε1 (2.9) Espesor de la chapa: t=t0eε3=t0e−ε1(2.10) Ley constitutiva de tensión-deformación: σeq =K(ε0+εeq)n(2.11) Fuerza por unidad de ancho: T1=σ1t=2K √3ε0+2 √3ε1n t0e−ε1(2.12) T2=1 2T1(2.13) Las ecuaciones de equilibrio en un elemento curvo de chapa sometido a la acción de una herramienta rígida que produce fricción durante el movimiento (véase la Figura 3.15) permiten obtener las siguientes relaciones [2]: 1. Equilibrio en la dirección radial: pRdθ= (T1+dT1)sin dθ 2+T1sin dθ 2(2.14) R≫t⇒sin dθ 2≈dθ 2⇒p=T1 R=σ1 t R(2.15) 2. Equilibrio a lo largo de la chapa: µpRdθ+T1cos dθ 2= (T1+dT1)cos dθ 2(2.16) R≫t⇒cos dθ 2≈1⇒dT1 T1 =µdθ(2.17) De estas expresiones se deduce que la presión ρ depende de la curvatura ( t/R ) en la zona de contacto y que la distribución de la fuerza longitudinal T1 depende del coeficiente de fricción pero no de la curvatura. Si la fuerza por unidad de ancho en un punto j es conocida, entonces la fuerza por unidad de ancho en un punto k puede ser calculada integrando la expresión 2.17:
2.2 Análisis simple del proceso de estampación/estirado 9 T1k=T1j·exp[µ(θk−θj)] = T1k·exp(µθjk)(2.18) (a) (b) Figura 2.6 Figuras auxiliares para cálculo de equilibrios [2]. Tanto la fuerza por unidad de ancho como el espesor cambiarán debido a la fuerza de fricción. Figura 2.7 Proceso de estampación numerado por zonas [2]. Respecto al equilibrio en el presachapas (zona de contacto EF en la Figura 2.7): T1E=2µB(2.19) Se puede asumir con suficiente precisión que T1 caerá linealmente en la zona de contacto EF. Si se usaran tetones, el efecto sería que T1aumentaría bruscamente durante esta región. La fuerza en el punzón (zona de contacto OAB en la Figura 2.7) está en equilibrio con la fuerza por unidad de ancho de la pared B: F=2T1BsinθB(2.20) Para calcular las variables de la zona de la chapa en contacto con el punzón es necesario conocer la deformación en el punto medio ε1O . Es el punto inicial para la iteración a realizar. Se utiliza el valor de ε1Ocomo ε1para calcular εeq:
10 Capítulo 2. Introducción a los procesos de conformado de chapa metálica εeq =2 √3ε1(2.21) Introduciendo εeq en la ley constitutiva (ecuación 2.11) se puede obtener σeq . Y con ello se calcula el espesor de la chapa con la ecuación 2.10. Por último, se cierra el sistema con las definiciones de fuerza por unidad de ancho, dada por la ecuación 2.12 y la ecuación 2.18 para la fuerza por unidad de ancho en un punto k. Se debe iterar hasta encontrar ε1como solución numérica. A continuación se expone la distribución de la fuerza por unidad de ancho a lo largo de la chapa: 1. Zona OAB, contacto chapa-punzón: T1 aumenta a lo largo de la chapa por la fricción. T1B= T1Oexp(µθB) 2. Zona BC, sin contacto: T1C=T1B. 3. Zona CD, contacto chapa-matriz (fricción µ): T1D=T1Cexp(−µθB) = T1O. 4. Zona DE, contacto chapa-matriz (superficie plana): T1E=T1D 5. Zona EF, contacto con prensachapas: T1cae a cero. La fuerza por unidad de ancho máxima T1 se da en la zona de no contacto, es decir en la región BC, como se puede observar en la Figura 2.8. De igual forma, en esta región se da tanto la máxima deformación mayor ε1y el mínimo espesor t. Figura 2.8 T1analítica [2]. 2.3 Inestabilidad y fallo en conformado de chapa Los siguientes eventos son los que pueden limitar el grado de deformación de un metal: (a) Inestabilidad plástica, que puede ser global o local (estricción localizada) (b) Fractura, frágil o dúctil (c) Arrugas 2.3.1 Inestabilidad global La inestabilidad global ocurre cuando la deformación se concentra abruptamente en una zona localizada de la pieza en la que se produce finalmente la rotura. Está asociada a un valor máximo de la fuerza aplicada, que cae bruscamente hasta producirse la fractura de la pieza. Esto sucede en la
2.3 Inestabilidad y fallo en conformado de chapa 11 embutición profunda, ya que la fuerza requerida para tirar de la brida hacia dentro puede superar la resistencia de la pared de la copa. La fuerza por unidad de longitud alcanza un máximo, también máximo en la fuerza del golpe. Otro ejemplo sería el ensayo de tracción, en el que se deforma uniformemente en la longitud de calibre permitiendo medir propiedades mecánicas. Cuando la carga alcanza un máximo, la deformación se concentra en una estricción localizada y ya no es uniforme. Aunque la falla real de la tira ocurra más tarde el límite es la carga máxima [2]. 2.3.2 Estricción localizada Su aparición (la cual conduce rápidamente a desgarro y falla) termina una operación de conformado, y es de tipo local al poder analizarse solo con el elemento, sin involucrar todo el proceso. Un máximo en la fuerza local no constituye un límite en el proceso. Un ejemplo es la muestra fallida de un reborde de orificio con cuellos locales alrededor de la brida. Más ejemplos se pueden encontrar en producción de piezas automotrices. Es posible no poder identificar el inicio de una carga máxima en un proceso complicado porque la fuerza total del punzón está compuesta de cargas que forman las diferentes regiones. El control en la mayoría de las máquinas de conformado es por desplazamiento y el movimiento del punzón está determinado por el mecanismo que lo impulsa [2]. En la Figura 2.9 se puede observar una pieza que ha fallado por estricción localizada. Figura 2.9 Pieza con fallo por estricción localizada [2]. 2.3.3 Fractura Existen dos tipos de fractura: frágil y dúctil. La fractura frágil es típica de materiales frágiles y por este motivo no son materiales aptos para los procesos de conformado de piezas por deformación plástica. Por otro lado, la fractura dúctil se caracteriza por formación y coalescencia de huecos, propagación de grietas y falla. Este procedimiento se encuentra ilustrado en la Figura 2.10.
12 Capítulo 2. Introducción a los procesos de conformado de chapa metálica Figura 2.10 Proceso de fractura dúctil [2]. Existen 3 modos de propagación de grietas [ 2 ]: Modo I: apertura (esfuerzo de tracción), Modo II: deslizamiento (corte en el plano, estrés), Modo III: desgarro (fuera del plano esfuerzo cortante) La fractura en el conformado de láminas resulta de la competencia entre los modos I y II. Figura 2.11 Modos de propagación de grietas [2]. 2.3.4 Arrugas Suceden si una de las tensiones principales es compresiva. Es similar al pandeo de una columna. En la Figura 2.12 se puede observar un ejemplo de una pieza que ha fallado por arrugas. Figura 2.12 Pieza que ha fallado por arrugas [2].
2.4 Criterios de estricción 13 2.4 Criterios de estricción En el estudio del conformado de chapas metálicas, los criterios de estricción son fundamentales para entender y predecir los límites de la deformación plástica antes de que ocurra el fallo. Los modelos teóricos desarrollados para describir estos fenómenos, como los propuestos por Considère, Swift, Hill y el modelo M-K (Marciniak y Kuczyński), permiten caracterizar las condiciones bajo las cuales se desarrollan la estricción difusa y la localizada. Estos modelos son especialmente útiles para definir el Diagrama Límite de Conformado (DLC), que establece el límite máximo de deformación que una chapa puede soportar bajo diferentes trayectorias de deformación, siendo una herramienta esencial en el diagnóstico de fallos en procesos de conformado. 2.4.1 Estricción difusa (Swift 1952) Según el criterio de fuerza máxima de Considère (1885), la estricción difusa se consigue en una prueba de tracción de una barra cuando se alcanza la fuerza máxima. Swift (1952) lo adaptó para la determinación del estrechamiento en láminas metálicas sometidas a diferentes condiciones de estiramiento en el plano de la hoja. Dicha adaptación se trata de un análisis simple que se abordará a continuación [2]: dF1=d(σ1A) = 0→dσ1 σ1 =−dA A(2.22) Haciendo uso de la conservación del volumen: dV =d(Al) = 0→dA A+dl l=0→dσ1 σ1 =dl l(2.23) De la definición de deformación: dε1=dl l→dσ1 σ1 =dε1(2.24) Considerando que el material se rige por la ley de potencia σ1=Kεn 1 , se obtiene en la fuerza máxima: dσ1 dε1 =Knεn−1 1→Knεn−1 1=Kεn 1→ε1=n(2.25)
20 Capítulo 2. Introducción a los procesos de conformado de chapa metálica Para el caso de anisotropía normal, se tiene que r0=1,r45 =1yr90 =1. Se calcula: ¯r=r0+r90 +2r45 4(2.36) Los efectos de la anisotropía según la dirección son los siguientes [2]: 1. Planar ( ∆r=0 ): si es grande, la orientación de la chapa respecto a la matriz será importante; en elementos circulares se observa orejeteado y deformación asimétrica. 2. Normal (perpendicular al plano de la chapa r=1 ): interesa que sea r>1 , incrementa la conformabilidad de la chapa, con lo que el material puede ser manipulado sin tener fallos (embutición más profunda, reducción de arrugas en estampación) La anisotropía afecta a la deformabilidad de la lámina modificando su superficie de plastificación (diagrama de tensiones). Para el caso de ¯r>1 , se alarga en el eje principal y se acorta levemente en el eje menor. En tensión/compresión biaxial se resiste más a la plastificación que en un material isótropo. En embutición, un material anisótropo pone más resistencia en la base y la pared, esto es, se requiere más fuerza para plastificarlo [2]. 2.6.2 Criterios de fluencia anisótropos En primer lugar, se tiene la teoría de plasticidad anisótropa de Hill. Se trata de una generalización del criterio de von Mises en la que se incorpora anisotropía mediante 5 constantes del material, determinadas mediante tres ensayos de tracción asociados a los coeficientes de Lankford, en tres direcciones (laminación, diagonal y transversal). El criterio de plastificación cuadrático de Hill es una simplificación con solo 3 o 4 constantes del material para chapas de metal en tensión plana. Funciona muy bien en acero, pero no en otros metales (aluminio, titanio). Expresando dicho criterio en función de los coeficientes de Lankford se tiene [2]: σ2 x−2r0 1+r0 σxσy+r0+r90 r90(1+r0)σ2 y+(2r45 +1)(r0+r90) r90(1+r0)τ2 xy =σy 0(2.37) Que en direcciones principales se convierte en: r90σ2 1+r0σ2 2+r0r90(σ1−σ2)2=r90(1+r0)(σx Y)2(2.38) Los metales con estructuras FCC (cúbica centrada en cara) y BCC (cúbica centrada en cuerpo), típicas en las aleaciones de titanio y aluminio, necesitan criterios de plastificación no cuadráticos. Estos pueden ser muy complejos con muchas constantes, requiriendo más ensayos para caracterizarlos. Estos criterios son de la forma de la ecuación 2.39 con exponentes sugeridos de valor 8 para metales FCC y 6 para metales BCC. F|σy−σz|n+G|σz−σx|n+H|σx−σy|n=1(2.39) En la práctica se prefieren los menos costosos en tiempo, material y dinero, con margen de seguridad mayor. Hay tres familias de criterios: Hill, Hosford-Barlat y otros. El criterio no cuadrático de Hosford (1979) se trata del siguiente [2]: r90|σx|n+r0|σy|n+r0r90|σx−σy|n=r90(r0+1)(σy 0)n(2.40)
3 Modelo 2D preliminar de estirado El primer modelo desarrollado es un modelo 2D de estirado de chapa, en el que se asume condiciones de deformación plana, que puede resolverse analíticamente con el sistema de ecuaciones presentado en el apartado 2.2 (Análisis simple del proceso de estampación/estirado). Se trata de un problema clásico de los libros de texto (Marciniak et al., 2002), en el que se asume conocida la deformación en un punto accesible de la pieza conformada y se calcula el estado de tensiones y deformaciones de toda la chapa así como las fuerzas ejercidas por las herramientas (punzón, matriz y prensachapas). Este capítulo presenta el problema a resolver, la resolución analítica, el modelado numérico con Abaqus y los resultados y análisis de las simulaciones. 3.1 Problema de estirado a resolver Es relevante señalar que, aunque se puedan emplear matrices que coincidan, la chapa no se comprime entre ellas como sucede en la forja; en su lugar, se estira sobre cada superficie convexa de la herramienta. El contacto con la herramienta se da, principalmente, solo en uno de los lados de la chapa, sin que haya compresión a lo largo del espesor. En la mayoría de las zonas, la presión de contacto es baja en comparación con la tensión de fluencia de la chapa, lo que permite ignorar las tensiones a través del espesor y asumir una deformación bajo condiciones de esfuerzo plano [1]. Las formas que se obtienen mediante estampación pueden ser bastante complejas, y el proceso es tridimensional. Sin embargo, en este estudio se considerará primero una geometría muy simple, como se muestra en la Figura 3.1, y se asumirá que se trata de un proceso bidimensional, es decir, que la deformación perpendicular al plano del diagrama es cero y que la deformación es tanto de esfuerzo plano como de deformación plana. Además, al tratarse de un problema simétrico, solo se muestra una mitad. Las medidas del problema a aproximar de la Figura 3.1 son las siguientes: La chapa es de dimensiones 1360 x 1000 x 1.6 mm. El punzón tiene una geometría cilíndrica de radio R = 2500 mm y una arista redondeada con radio Rp = 20 mm. La matriz es plana con una arista redondeada con radio Rdie = 20 mm. Además, los valores del resto de dimensiones auxiliares son los siguientes: z = 152 mm (desplazamiento del punzón), a = 500 mm, b = 520 mm, c = 40 mm, d = 20 mm, e = 100 mm. 21
22 Capítulo 3. Modelo 2D preliminar de estirado Figura 3.1 Dimensiones del problema original. 3.2 Resolución analítica del problema Antes de pasar al análisis numérico del problema, es interesante comentar su resolución analítica. En la Figura 3.1 se representa la mitad derecha gracias a la simetría existente en este proceso de estampación. Las fuerzas Fp y Fb son las ejercidas por el punzón y el prensachapas, respectivamente. Además, en la matriz se tiene la fuerza de reacción Fdie. Si se produce el fallo de la pieza, este sería por estricción localizada en la zona BC. Debido a la deformación plana, la banda de estricción es perpendicular a la dirección 1 de máxima deformación. Con el criterio de Hill se puede predecir el fallo por estricción localizada imponiendo dT1=0 . Con ello se obtiene el valor de la fuerza de inicio de estricción en la zona BC: T∗ 1. Hay que tener en cuenta que la fuerza en el prensachapas Fb controla el proceso, ya que puede hacer que las deformaciones medidas sean menores a las de diseño. El valor límite de la fuerza del prensachapas F∗ b es el que inicia la estricción en la zona BC T∗ 1 . Mediante ecuaciones de equilibrio se obtiene F∗ b. Dada la deformación principal de diseño en el punto O ( ε1,O ) se puede comprobar si se produce el fallo en la chapa, siendo la fuerza en el tramo BC T1<T∗ 1 , y ajustar el valor de Fb . Por equilibrio se pueden obtener las fuerzas del punzón y de la matriz. La Figura 3.2 muestra la distribución de la deformación longitudinal ε1 a lo largo de la chapa calculada analíticamente. El punto de ajuste (fit point) es el punto medio del tramo BC, cuyo valor de deformación obtenida en la solución numérica ( ε1=0.036 ) se ha usado para resolver el problema de forma analítica y hacer coincidir ambas soluciones en ese punto. Dichos resultados numéricos se expondrán posteriormente en el apartado final de este capítulo y se compararán con los analíticos. Con respecto a los resultados analíticos, se puede observar cómo la deformación aumenta ligeramente en el tramo OA, más notablemente en el tramo AB y luego se mantiene constante en la zona de no contacto BC. Por último, decae tanto en CD como DE, siendo 0 en el punto E.
3.2 Resolución analítica del problema 23 Figura 3.2 Deformación ε1a lo largo de la chapa. La Figura 3.3 presenta la distribución de la fuerza T1 longitudinal a lo largo de la chapa calculada de forma analítica. En este caso, el valor de la fuerza aumenta ligeramente de forma casi inapreciable en el tramo OA, más notablemente en el tramo AB para a continuación, al igual que con la deformación, mantenerse constante en la zona de no contacto BC. Por último, análogamente a la deformación una vez más, decae tanto en CD como DE, alcanzando el valor de 0 en el punto E. Figura 3.3 Fuerza longitudinal T1a lo largo de la chapa. La Figura 3.4 muestra la distribución del espesor t a lo largo de la chapa de forma analítica. En
24 Capítulo 3. Modelo 2D preliminar de estirado esta gráfica, el espesor decae muy ligeramente en el tramo OA, siendo el valor en O inferior al espesor inicial de la chapa. El valor del espesor se ve reducido en el tramo AB para llegar al mínimo, que se mantiene constante en el tramo BC. Posteriormente, aumenta su valor tanto en CD como en DE hasta alcanzar su espesor inicial en el punto final E. Figura 3.4 Espesor a lo largo de la chapa. Para concluir, las distribuciones a lo largo de la chapa son de tal forma que la evolución de la distribución de ε1es la misma que la de T1pero inversa a la de t. 3.3 Modelado en Abaqus de la geometría de chapa y herramientas El primer modelo sencillo que se decidió hacer fue uno en el que no se tuviera que abordar el problema de la cogida del prensachapas. En este caso, la chapa estaría simplemente fijada en el extremo derecho, y con una condición de simetría en el extremo izquierdo. En este apartado se detallará el modelo realizado. Al ser un modelo sencillo sin cogida de prensachapas, se decidió obviar dicho elemento y dibujar el punzón, la matriz y la chapa de la forma más simple posible en un modelo 2D con simetría. En este modelo, la chapa es un Part 2D deformable que se ha creado en el sketch como un rectángulo shell planar de largo 680 mm y 1.6 mm de alto, esto es, la chapa de canto con el espesor como medida de altura. Se puede observar dicha chapa de forma ampliada en la Figura 3.5.
3.3 Modelado en Abaqus de la geometría de chapa y herramientas 25 Figura 3.5 Chapa ampliada para geometría 2D. En cuanto al punzón y la matriz, ambos han sido modelados como piezas 2D rígidas. Para el punzón, se tiene un radio de 2500 mm que intersecta con otro de 20 mm. La geometría de este se completa con 3 líneas; la primera, vertical, de 100 mm; la segunda, horizontal de 520 mm; y la tercera, vertical, de 29.07 mm para cerrar el punzón. En la Figura 3.6 se puede observar dicha geometría. Figura 3.6 Geometría del punzón. Por otro lado, la matriz se ha simplificado al modelarla como un radio de 20 mm unido a un tramo horizontal de 100 mm; esto es, se ha modelado únicamente la parte que haría contacto con la chapa. La geometría de la matriz se puede observar en la Figura 3.7. Figura 3.7 Geometría de la matriz. Por último, se tiene la geometría completa del problema a analizar en la Figura 3.8. Aunque no se pueda apreciar en la imagen, el final de la matriz coincide con el final de la chapa.
26 Capítulo 3. Modelo 2D preliminar de estirado Figura 3.8 Geometría de la primera aproximación. 3.4 Ley de comportamiento del material En esta sección se abordará de manera detallada la ley que describe el comportamiento del material seleccionado para el proyecto. Es importante resaltar que este modelo de comportamiento ha sido aplicado exclusivamente a la chapa metálica, mientras que los demás componentes del sistema se han considerado como sólidos rígidos discretos, actuando sin deformarse en el análisis. La elección de esta modelización responde a la necesidad de centrarse en las propiedades y respuestas del material bajo condiciones específicas de carga, lo cual es clave para este estudio. El material en cuestión es una aleación de aluminio con comportamiento isótropo. Aunque en el capítulo anterior se ha explorado la anisotropía y su relevancia en el conformado de metales, en esta investigación no se incluirá este aspecto, y se plantea como una posible línea de trabajo en estudios futuros. La densidad de dicho material es de ρ=2.81 ·10−9kg/mm3 . Su comportamiento elástico se encuentra determinado por un módulo de Young de E=70 GPa, lo cual indica su resistencia a la deformación elástica bajo cargas, y un coeficiente de Poisson de ν=0.33 , que describe la relación entre las deformaciones longitudinal y transversal bajo esfuerzo. Para modelar la respuesta plástica del material, se utiliza la ley de comportamiento de Swift, con las constantes K = 400.3, e0= 0.01 y n = 0.247: σeq =K(e0+εn eq)(3.1) Que en deformación plana queda como: σ1=2 √3K(e0+2 √3εn 1)(3.2) Representando en una gráfica se obtiene lo siguiente:
3.5 Superficies de contacto y "sets" para aplicar cargas y condiciones de contorno 27 Figura 3.9 Ley de comportamiento plástico utilizada. Se decidió utilizar esta ley de comportamiento del material ya que fue la empleada para los cálculos análiticos. 3.5 Superficies de contacto y "sets" para aplicar cargas y condiciones de contorno Antes de pasar a los módulos Interaction yLoad se ha visto conveniente definir los siguientes sets y superficies, de cara a la selección en los siguientes módulos con mayor facilidad y claridad, tanto para la autora del proyecto como para los siguientes alumnos que puedan aprovechar el trabajo realizado. Estos sets y superficies son los que se pueden observar en las Figuras 3.10a y 3.10b: (a) Sets declarados. (b) Superficies declaradas. Figura 3.10 Sets y superficies declaradas. Los sets se han definido para asignar las condiciones de contorno. Mientras que las superficies se utilizarán para los contactos.
28 Capítulo 3. Modelo 2D preliminar de estirado 3.6 Contactos En este primer modelo se tienen dos contactos. En primer lugar, la superficie de la matriz con la parte superior de la chapa, y por otro lado, la superficie del punzón con la parte inferior de la chapa. Estos dos contactos se pueden ver definidos en la Figura 3.11 Figura 3.11 Contactos definidos. En la Figura 3.12 se puede apreciar la forma en que se han definido dichos contactos de tipo surface-to-surface teniendo el caso de la matriz como ejemplo. La superficie inferior de la matriz se ha definido como master y la parte superior de la chapa como slave. La formulación de restricción mecánica es Penalty contact method y la formulación de deslizamiento es Finite sliding. Figura 3.12 Contactos para la matriz.
3.7 Cargas y condiciones de contorno 29 (a) Comportamiento tangencial. (b) Comportamiento normal. Figura 3.13 Propiedades del contacto. En cuanto a las propiedades de la interacción, estas se han reflejado en la Figura 3.13. Más concretamente, en la Figura 3.13a se observa el comportamiento tangencial, de tipo Penalty y con un coeficiente de fricción de 0.15 . Por otro lado, en la Figura 3.13b se tiene el comportamiento normal de la forma "Hard" Contact. 3.7 Cargas y condiciones de contorno En este primer modelo, al no haber tenido en cuenta el prensachapas y haber hecho una aproximación hacia un proceso de estirado, no se tienen cargas aplicadas. Figura 3.14 Condiciones de contorno. Las condiciones de contorno impuestas son las de la Figura 3.14. Como se puede observar, la matriz se encuentra encastrada por su punto de referencia. La chapa se encuentra fijada por su extre-
36 Capítulo 4. Modelo 3D de estirado Figura 4.1 Geometría del problema. En cuanto a la ley de comportamiento del material, no hay nada adicional a comentar ya que se trata de la misma de la del capítulo anterior y es la que se ha utilizado para todos los modelos analizados a lo largo del documento. 4.2 Superficies de contacto y "sets" para aplicar cargas y condiciones de contorno Se han definido de forma análogos al caso 3D, con la adición de la condición de simetría en y. En la Figura 4.2a se tienen los sets definidos, usados para las condiciones de contorno y en la Figura 4.2b las superficies establecidas para los contactos. (a) Sets declarados. (b) Superficies declaradas. Figura 4.2 Sets y superficies declaradas.
4.3 Contactos 37 4.3 Contactos En este modelo 3D se vuelven a tener los mismos dos contactos que en el modelo 2D preliminar de estirado; esto es, la superficie superior del punzón con la parte inferior de la chapa y la superficie inferior de la matriz con la parte superior de la chapa. Estos contactos se encuentran recogidos en la Figura 4.3. Todo el procedimiento ha sido análogo al del caso 2D. Figura 4.3 Contactos definidos. 4.4 Cargas y condiciones de contorno Este modelo consta de las mismas condiciones de contorno que el la aproximación 2D, con la adición de la simetría en x, tal y como se puede observar en la Figura 4.4. La matriz se encuentra encastrada por su punto de referencia. La chapa está fijada por su extremo derecho y el punzón tiene permitido el avance en z en el step de Stamping. Además, en los extremos del fondo y el izquierdo de la chapa se ha impuesto una condición de simetría en x e y respectivamente, razón por la que se ha resuelto un cuarto del problema. Figura 4.4 Condiciones de contorno.
38 Capítulo 4. Modelo 3D de estirado En este caso, tal y como se muestra en la Figura 4.5 se ha modelado el avance del punzón de forma distinta al caso 2D: en un primer momento este se encuentra con todos los desplazamientos y rotaciones impedidos, pero esta condición de contorno ha sido modificada para el step Stamping, en el cual se permite un desplazamiento vertical de 152 mm. (a) Step Initial.(b) Step Stamping. Figura 4.5 Condición de contorno para el punzón. 4.5 Mallado Para este caso, el mallado no ha sido tan fino como en el modelo 2D, ya que un mallado de esa forma suponía simulaciones excesivamente lentas. En la Figura 4.6 se puede observar el mallado realizado para la chapa metálica. En este se tiene una zona de mallado grueso a la izquierda y a la derecha donde el tamaño de semilla es de 16mm y una zona de mallado fino a en medio con un tamaño de 4 mm. Se ha decidido que el mallado sea más fino en esa zona intermedia ya que es donde se da la flexión más severa debida a los radios de redondeado de matriz y punzón. Era conocido por el modelo en 2D que en esa zona se iban a tener picos de deformación, por lo que se ha querido captar correctamente. Como se ha comentado anteriormente, se tienen dos zonas de transición entre una malla y otra para que no se tengan discontinuidades que pudieran generar resultados erróneos.
4.5 Mallado 39 Figura 4.6 Mallado de la chapa metálica. Para la matriz se ha cuidado el mallado del radio donde se da la flexión, imponiendo que en la parte redondeada los elementos sean de tamaño 4 mm por 4 mm. En el resto de la matriz, se tienen elementos de hasta 16 mm en una de sus dimensiones, ya que en la otra por compatibilidad de la malla estructurada se ha quedado en 4 mm. Todo esto es observable en la Figura 4.7. Figura 4.7 Mallado de la matriz. De forma análoga se ha procedido con el punzón, tal y como se observa en las Figura 4.8.
40 Capítulo 4. Modelo 3D de estirado Figura 4.8 Mallado del punzón. 4.6 Resultados y análisis La Figura 4.9 presenta la distribución de la fuerza T1 longitudinal a lo largo de la chapa. Como se puede observar, los resultados en términos de fuerza longitudinal en la dirección de la chapa son parecidos a lo que esperaríamos y se adecúan correctamente a lo que predice la teoría. Solo se encuentran diferencias en las zonas donde se da la flexión. Figura 4.9 Fuerza longitudinal T1a lo largo de la chapa. La Figura 3.21 muestra la distribución del espesor a lo largo de la chapa. De igual forma el espesor también se comporta como se esperaría según los modelos analíticos.
4.6 Resultados y análisis 41 Figura 4.10 Espesor a lo largo de la chapa. La Figura 4.11 muestra la distribución de la deformación longitudinal a lo largo de la chapa calculada analítica y numéricamente. Se observa que en el tramo OA es mayor de lo esperado y no se ha encontrado una justificación satisfactoria para este fenómeno. Sin embargo, sería interesante que se desarrollara más este modelo 3D en un trabajo futuro para encontrar una explicación a este resultado. Figura 4.11 Deformación ε1a lo largo de la chapa. Por último, se puede concluir que las simulaciones lo predicen casi todo bien, salvo una zona de la deformación longitudinal, por lo que se ha decidido automatizar el modelo 2D ya existente y realizar distintos cambios para hacer los análisis pertinentes.
5 Automatización con Abaqus Scripting Tras comprobar que los resultados en la línea media del modelo en 3D coinciden con los del modelo 2D se ha decidido parametrizar el modelo en dos dimensiones mediante el uso de Abaqus Scripting. La razón para hacerlo es que una vez que se tenga, se pueden introducir cambios en la geometría, en las condiciones de contorno, cargas o incluso en el tipo de integrador (si Explicit o Standard) con rapidez y sencillez. Para crear este archivo se ha procedido con la elaboración del modelo poco a poco comprobando y filtrando los comandos que aparecen en el archivo .jnl cada vez que se hacía un cambio. Todo esto se ha ido copiando y pegando en un archivo en Notepad++ cuya extensión es .py. Además, se ha creado a parte un archivo llamado variables.py que contiene los valores de todas las variables que se han contemplado, que son: (a) Método de integración: "Standard" o "Explicit". (b) Variables geométricas: "Examen", es decir, las utilizadas en todos los resultados expuestos en la memoria; o "simple test", una geometría más pequeña utilizada para pruebas intermedias en las que se buscaba que las simulaciones fueran rápidas y pudieran obtenerse resultados sin mucha espera. Usualmente, la geometría "simple test" se ha utilizado cuando se han encontrado problemas en los resultados, de forma que se han podido depurar errores de forma más efectiva. (c) Tamaño de la malla: se han ido probando distintos tamaños de malla hasta que se decidió por el final de 0.4 mm. (d) Mass scaling: De igual forma, se ha ido cambiando con el tiempo a lo largo del proyecto para dar con el que mejor se adaptaba. (e) Número de CPUs: Para la hora de correr simulaciones. Se ha fijado en 6. (f) Coeficiente de fricción, de valor 0.15. En la Figura 5.1 se puede observar la geometría que se tiene en "simple test" y apreciar cómo se trabaja con medidas significativamente más pequeñas. En el siguiente fragmento de código se pueden ver las dimensiones exactas de cada una de las geometrías: 43
44 Capítulo 5. Automatización con Abaqus Scripting Figura 5.1 Geometría "simple test". Código 5.1 Líneas de código para la geometría dentro de variables.py. # geometrical parameters of parts if variables == ’examen’: t0 = 1.6 L = 680.*2 R = 2500. Rp = 20. Lp = 520.*2 Hp = 100. c = 40. Lm = (Lp/2+c)*2 Rm = 20. displacement = 152. elif variables == ’simple_test’: t0 = 1.6 L = 100.*2 R = 200. Rp = 20. Lp = 60.*2 Hp = 30. c = 10. Lm = (Lp/2+c)*2 Rm = 20. displacement = 45.
45 else: print(’ERROR: "variables" is not defined’) En primer lugar, se crean los parts y los reference points. Tras esto, se depura código para hacerlo menos largo y se parametrizan las dimensiones de cada part. Además, se han creado reference points para cada uno de los rigid parts. Se han creado variables con los nombres de cada part para depurar código tal y como se puede observar en el siguiente fragmento de código: Código 5.2 Líneas de código para la creación de los parts. ### PARTS ### ### SHEET sk = md.ConstrainedSketch(name=’__profile__’, sheetSize=200.0) sk.rectangle(point1=(0.0, 0.0), point2=(L/2, -t0)) sheet = md.Part(dimensionality=TWO_D_PLANAR, name=’Sheet’, type= DEFORMABLE_BODY) sheet.BaseShell(sketch=sk) del sk ### DIE # die_Wdb = location of the drawbed along the die (50 mm) p0 = (Lp/2+c+Rm+die_Wdb, 0) # (630, 0) location of the drawbed along the die c1 = (p0[0], p0[1]+Rdb) # (630, 10) center of the top circle, radius = 11.6 mm c1p1 = (c1[0]-(Rdb+t0), c1[1]) # (618.4, 10) c1p2 = (c1[0]+(Rdb+t0), c1[1]) # (641.6, 10) c2 = (c1[0]-(2*Rdb+t0), c1[1]) # (608.4, 10) center of the left circle, radius = 10 mm c2p1 = (c2[0]+Rdb, c2[1]) # (618.4, 10) c2p2 = (c2[0], c2[1]-Rdb) # (608.4, 0) c3 = (c1[0]+2*Rdb+t0, c1[1]) # (651.6, 10) center of the right circle, radius = 10 mm c3p1 = (c3[0], c3[1]-Rdb) # (651.6, 0) c3p2 = (c3[0]-Rdb, c3[1]) # (641.6, 10) sk = md.ConstrainedSketch(name=’__profile__’, sheetSize=200.0) l1 = sk.Line(point1=(L/2, 0.0), point2=c3p1) sk.HorizontalConstraint(addUndoState=False, entity=l1) sk.ArcByCenterEnds(center=c3, direction=CLOCKWISE, point1=c3p1, point2= c3p2) sk.ArcByCenterEnds(center=c1, direction=CLOCKWISE, point1=c1p1, point2= c1p2) sk.ArcByCenterEnds(center=c2, direction=CLOCKWISE, point1=c2p1, point2= c2p2)
6 Modelo 2D de estampación con prensachapas plano 6.1 Modificaciones en el modelo de estirado Como siguiente iteración, se decidió añadir un prensachapas simple y modelar la cogida creando un step adicional en el que el prensachapas empezaría a ejercer fuerza hacia la chapa. A continuación se detallarán los cambios realizados con respecto al modelo anterior. 6.1.1 Geometría del problema Como se ha comentado, la única diferencia con el modelo anterior es la adición de un prensachapas sencillo, compuesto por un radio y una línea horizontal. Se ha definido como un sólido discreto rígido 2D. Figura 6.1 Nueva geometría del problema. En el scripting se han añadido las siguientes líneas de código en la definición de los parts: Código 6.1 Código adicional para la inclusión del prensachapas. # Holder sk = md.ConstrainedSketch(name=’__profile__’, sheetSize=200.0) sk.ArcByCenterEnds(center=(L/2 - Hp, -Rm -t0), direction=CLOCKWISE, point1=(L/2 - Hp - Rm, -Rm -t0), point2=(L/2 - Hp, -t0)) l4=sk.Line(point1=(L/2 - Hp, -t0), point2=(L/2, -t0)) 53
54 Capítulo 6. Modelo 2D de estampación con prensachapas plano sk.HorizontalConstraint(addUndoState=False, entity=l4) press = md.Part(dimensionality=TWO_D_PLANAR, name= ’Holder’, type= DISCRETE_RIGID_SURFACE) press.BaseWire(sketch=sk) del sk # reference point press.ReferencePoint(point=(L/2, -t0, 0)) 6.1.2 Mallado, assembly y steps El tamaño de los elementos no ha sufrido cambios. Sin embargo, se ha tenido que añadir la parte del prensachapas para la malla: Código 6.2 Código adicional para la inclusión del prensachapas. holder.seedPart(deviationFactor=0.1, minSizeFactor=0.1, size=mesh_size) holder.generateMesh() Análogamente para el assembly: Código 6.3 Código adicional para la inclusión del prensachapas. holder1 = asby.Instance(dependent=ON, name=’Holder-1’, part=holder) Cabe comentar que el material no ha cambiado. En cuanto a los steps, se ha creado un step adicionar entre el inicial y el del movimiento del punzón, en el cuál el prensachapas empieza a ejercer fuerza a la chapa para simular la cogida: Código 6.4 Líneas de código para el nuevo step. step0_name = ’Holdermov’ timePeriod0 = 1 numIntervals0 = 10 print(’Step time = %s, number of intervals = %s’ % (timePeriod0, numIntervals0)) if abq_integration == ’Standard’: step0 = md.StaticStep(initialInc=1e-30, maxInc=0.1, maxNumInc =10000000, minInc=1e-40, name=step0_name, previous=’Initial’, timePeriod=timePeriod0, nlgeom=ON) step0.control.setValues(allowPropagation=OFF, timeIncrementation=(5,9,9,16,10,4,32,12,10)) elif abq_integration == ’Explicit’: step0 = md.ExplicitDynamicsStep(name=step0_name, previous=’Initial’, timePeriod=timePeriod0, scaleFactor=1) step0.setValues(massScaling=((SEMI_AUTOMATIC, MODEL, AT_BEGINNING, 0.0, mass_scaling, BELOW_MIN, 0, 0, 0.0, 0.0, 0, None), )) md.FieldOutputRequest(createStepName=step0_name, name=’F-Output-0’,
6.1 Modificaciones en el modelo de estirado 55 variables=(’S’, ’LE’, ’PE’, ’PEEQ’, ’U’, ’COORD’, ’RF’, ’P’), numIntervals=numIntervals0) 6.1.3 Sets, superficies y contactos Los sets y superficies declaradas son análogas a las anteriores, con la inclusión de los relativos al prensachapas: Código 6.5 Líneas de código para nuevos sets y superficies. surfHolder = asby.Surface(name=’Surf-Holder’, side1Edges=holder1.edges.getSequenceFromMask((’[#14 ]’, ), ), side2Edges=holder1.edges.getSequenceFromMask((’[#b ]’, ), )) setHolderRP = asby.Set(name=’Set-HolderRP’, referencePoints=( holder1.referencePoints[2], )) En este caso se tienen tres contactos. Se ha añadido el de la zona inferior de la chapa con la superficie del prensachapas, como se puede observar en la Figura 6.2. Tanto el tipo de interacción como las propiedades del contacto se han mantenido respecto al anterior modelo. Figura 6.2 Contactos del problema del problema. En código, esto se ha traducido a la adición de las siguientes líneas: Código 6.6 Líneas de código para nuevo contacto. if abq_integration == ’Standard’: md.SurfaceToSurfaceContactStd(adjustMethod=OVERCLOSED, clearanceRegion=None, createStepName=’Initial’, datumAxis=None, initialClearance=OMIT, interactionProperty=’IntProp-1’, master= surfHolder, name=’Contact 3 Holder-Sheet’, slave=surfSheetBottom, sliding=FINITE, thickness=ON, tied=OFF) elif abq_integration == ’Explicit’: md.SurfaceToSurfaceContactExp(name=’Contact 3 Holder-Sheet’, createStepName=’Initial’, master=surfHolder, slave=surfSheetBottom, sliding=FINITE, interactionProperty=’IntProp-1’, mechanicalConstraint=PENALTY)
56 Capítulo 6. Modelo 2D de estampación con prensachapas plano 6.1.4 Cargas y condiciones de contorno En esta iteración, se ha añadido una fuerza vertical aplicada en el punto de referencia del prensachapas, como se puede ver en la Figura 6.3, la fuerza se crea en el step Holdermov. Es una fuerza concentrada en forma de rampa que crece en dicho primer step y luego se mantiene durante el proceso de estampación. Cabe comentar que se han elegido dos valores de fuerza para calcular resultados. Figura 6.3 Carga definida. En cuanto a las condiciones de contorno, en este caso se tiene el punzón fijo hasta el step Stamping en el que las condiciones pasan a ser desplazamiento en 2, no desplazamiento en 1 y giro en 3 impedido. Se ha eliminado el encastre de la chapa y se ha creado una condición de contorno para el prensachapas que consiste en impedir el desplazamiento en 1 y el giro en 3. Figura 6.4 Condiciones de contorno del problema. En código, estos cambios han supuesto las siguientes líneas adicionales: Código 6.7 Líneas de código para nuevas condiciones de contorno y cargas. md.DisplacementBC(amplitude=’Amp-1’, createStepName=’Initial’, distributionType=UNIFORM, fieldName=’’, fixed= OFF, localCsys=None, name=’BC-6-Holdermov’, region= asby.sets[’Set-HolderRP’], u1=0.0 , u2=UNSET, ur3=0.0) md.ConcentratedForce(amplitude=’Amp-1’, cf2=
6.2 Resultados y análisis 57 1204.0, createStepName=’Holdermov’, distributionType=UNIFORM, field= ’’, localCsys=None, name=’FHolder’, region= asby.sets[’Set-HolderRP’]) 6.2 Resultados y análisis Para este modelo, se realizaron simulaciones con distintos valores de fuerza del prensachapas. Inicialmente, se planteó aplicando un desplazamiento al mismo como condición de contorno, pero se comprobó que los resultados eran más satisfactorios utilizando como carga aplicada la fuerza del prensachapas. Cabe destacar que dichos valores de fuerza se han impuesto teniendo como ejemplo los valores que se obtienen haciendo uso de los cálculos analíticos. En este apartado se incluirá el análisis de los modelos para dos casos de fuerza del prensachapas. En primer lugar se va a estudiar el caso en el que se impone una fuerza vertical de 1204 N/mm. En la Figura 6.5 se tiene la deformación ε1 a lo largo de la chapa, con resultados muy parecidos a los del capítulo 3. Figura 6.5 Deformación ε1a lo largo de la chapa. La Figura 6.6 presenta la distribución de la fuerza T1 longitudinal a lo largo de la chapa. Bajo estas condiciones, se puede observar que los resultados se acercan más a lo esperado según la teoría que cuando se hizo la aproximación al problema por uno de estirado. Se puede apreciar cómo al quitar el empotramiento de la chapa y sustituirlo por la cogida del prensachapas, la fuerza longitudinal decae en el tramo DE hasta 0, tal y como se predice según los modelos analíticos.
58 Capítulo 6. Modelo 2D de estampación con prensachapas plano Figura 6.6 Fuerza longitudinal T1a lo largo de la chapa. La Figura 6.7 muestra la distribución del espesor a lo largo de la chapa. Una vez más, son resultados muy parecidos a los esperados según el cálculo analítico. Figura 6.7 Espesor a lo largo de la chapa. Anteriormente, se simuló con un valor de fuerza vertical de 1000 N/mm, valor insuficiente para que la chapa no resbalara en demasía y con lo que se calcularon los resultados que se pueden verán a continuación. La Figura 6.8 presenta la deformación ε1 a lo largo de la chapa. Se puede observar cómo el ancho de los picos debidos a la flexión es mayor que en el caso anterior; a su vez, estos picos son menos pronunciados y alcanzan valores más pequeños. Esto se debe a que al tener una fuerza menor en el
6.2 Resultados y análisis 59 prensachapas, la chapa fluye y hay mayor zona que ha sido sometida a la flexión de los radios de la matriz y del punzón, pero a su vez las deformaciones alcanzadas en esas zonas son menores por la mayor fluencia del material. Figura 6.8 Deformación ε1a lo largo de la chapa. La Figura 6.9 muestra la distribución de la fuerza T1 longitudinal a lo largo de la chapa.Se puede notar cómo los resultados no coinciden demasiado con lo esperado según el modelo analítico. Esto ocurre debido al resbalamiento de la chapa, ya que no se encuentra bien cogida con el valor de fuerza impuesto por lo que no es posible alcanzar la evolución de esperada por equilibrio de fuerzas. Figura 6.9 Fuerza longitudinal T1a lo largo de la chapa.
60 Capítulo 6. Modelo 2D de estampación con prensachapas plano La Figura 6.10 muestra la distribución del espesor a lo largo de la chapa. En este caso, la reducción de espesor debida a la flexión más severa es menor por los motivos ya comentados anteriormente. Figura 6.10 Espesor a lo largo de la chapa. 6.3 Pruebas de ajuste del mass scaling Se realizaron una serie de pruebas intermedias con la geometría denominada simpletest para depurar errores. Uno de ellos fue el mass scaling elegido, ya que un valor demasiado grande hacía que al final del cierre del prensachapas la chapa se levantara a la izquierda. Sin embargo, imponiendo un valor de 10−7 , esto se solucionaba, como se puede apreciar en la Figura 6.11, donde se presentan los esfuerzos de Von Mises a lo largo de la chapa una vez finaliza el cierre del prensachapas. Figura 6.11 Esfuerzos al final del cierre del prensachapas.
6.3 Pruebas de ajuste del mass scaling 61 Con esta geometría, el fallo se alcanza cuando el punzón avanza 31.5 mm aproximadamente. En las Figuras 6.12 y 6.13 se pueden observar las deformaciones y desplazamientos verticales en el fallo, respectivamente. Figura 6.12 Deformación tras avance de punzón de 31.5 mm. Figura 6.13 Desplazamientos verticales tras avance de punzón de 31.5 mm. Por último, en la Figura 6.14 se recogen los datos de la deformación, fuerza longitudinal y espesor a lo largo de la chapa para el desplazamiento vertical de 31.5 mm. Estos resultados son parecidos a los expuestos con anterioridad, pero hay que tener en cuenta que la geometría es distinta (representada en la Figura 5.1). Sí se puede apreciar que debido a que punzón, chapa y matriz son más cortos pero los radios de redondeando de las piezas se han mantenido, el efecto de la flexión no es tan severa y los picos son menos pronunciados.
68 Capítulo 7. Modelo 2D de estampación con tetones Figura 7.7 Fuerza T1a lo largo de la chapa. 7.3 Pruebas de ajuste del mass scaling Al igual que con el caso de prensachapas plano, aquí también se hicieron una serie de pruebas intermedias con la geometría denominada simpletest con el objetivo depurar errores y además hacer pruebas que podrían resultar interesantes. Con esta geometría, el mass scaling elegido era más crítico, ya que la diferencia entre usar 10−6 o 10−7 era muy notable. En la Figura 7.8 se aprecian efectos de inercia excesivos, la chapa se mueve demasiado al final del cierre del prensachapas. Sin embargo, al pasar a un mass scaling de 10−7 se obtiene algo más razonable. La chapa se comba un poco pero se mueve menos, como se puede observar en la Figura 7.9. Figura 7.8 Esfuerzos al final del cierre del prensachapas con mass scaling de 10−6.
7.3 Pruebas de ajuste del mass scaling 69 Figura 7.9 Esfuerzos al final del cierre del prensachapas con mass scaling de 10−7. Figura 7.10 Deformación tras avance de punzón de 30.6 mm. Figura 7.11 Desplazamientos verticales tras avance de punzón de 30.6 mm.
70 Capítulo 7. Modelo 2D de estampación con tetones Con esta geometría, el fallo se alcanza cuando el punzón avanza 30.6 mm aproximadamente. En las Figuras 7.10 y 7.11 se pueden observar las deformaciones y desplazamientos verticales. Por último, en la Figura 7.12 se recogen los datos de la deformación, fuerza longitudinal y espesor a lo largo de la chapa. Figura 7.12 Deformación, fuerza longitudinal y espesor a lo largo de la chapa. 7.4 Comparativa de resultados de estirado y estampación En este punto se procederá a analizar los resultados de los tres modelos (estirado, estampación con prensachapas plano y estampación con tetones) comparándolos entre sí y con la solución analítica. Para esto, se ha decidido usar tres instantes de tiempo: el instante del fallo por estricción localizada, el instante en el que el punto central de la chapa (punto O) alcanza una misma deformación en todos los modelos y el instante en el que punzón ha recorrido una misma distancia.
7.4 Comparativa de resultados de estirado y estampación 71 Los 3 modelos 2D en deformación plana se han denominado stretching (estirado), flat (estampación con prensachapas plano) y drawbead (estampación con tetones). Cabe indicar que en el primer modelo (stretching) se ha dejado la geometría tal y como estaba. Sin embargo, para los otros dos modelos de estampación (flat ydrawbead) se ha añadido un tramo EF de chapa (aquel que inicialmente se encuentra fuera de matriz y prensachapas) con un tamaño de 100 mm, con el objetivo de que haya chapa en todo el tramo DE durante todo el proceso de conformado. 7.4.1 Análisis al inicio de la estricción localizada En la solución analítica, el fallo se produce en el tramo BC cuando la fuerza T1 alcanza el valor límite T∗ 1=427.4N/mm. La Figura 7.13 muestra la distribución de la fuerza T1 a lo largo de la chapa para los tres modelos mencionados anteriormente y el caso analítico. Los modelos stretching ydrawbead alcanzan T1*. El modelo flat no llega a alcanzar T1* porque la chapa desliza continuamente entre matriz y prensachapas. Figura 7.13 Fuerza T1a lo largo de la chapa. Figura 7.14 Deformación ε1a lo largo de la chapa. La Figura 7.14 muestra la distribución de la deformación longitudinal a lo largo de la chapa. Se
72 Capítulo 7. Modelo 2D de estampación con tetones puede observar cómo en todos los modelos la deformación queda por debajo de la curva analítica, a excepción de los picos que se producen en zonas de las aristas redondeadas de punzón y matriz. Estos resultados son coherentes con la distribución de T1de la figura anterior. La Figura 7.15 muestra la distribución del espesor a lo largo de la chapa. De forma análoga a la deformación, en este caso todos los modelos quedan por encima de la curva analítica del espesor. Figura 7.15 Espesor a lo largo de la chapa. 7.4.2 Análisis con una deformación dada en el centro Se ha elegido el valor ε1,O=0.028 porque es el máximo que alcanza el modelo flat. Los datos capturados en cada uno de los modelos se corresponden con ese instante. La Figura 7.16 muestra la distribución de la deformación longitudinal a lo largo de la chapa. Como era de esperar, la curvas prácticamente se superponen en el contacto de la chapa con el punzón. Difieren ligeramente en el tramo BC sin contacto con las herramientas (a excepción del modelo flat que muestra mayor deformación debido a que la chapa ha patinado en la cogida), y son muy diferentes en la zona exterior de la cogida con matriz y prensachapas. Figura 7.16 Deformación ε1a lo largo de la chapa. La Figura 7.17 muestra la distribución de la fuerza T1 a lo largo de la chapa. Como se puede observar, la zona de cogida entre matriz y prensachapas es la que muestra mayores diferencias. En
7.4 Comparativa de resultados de estirado y estampación 73 esta zona, el modelo flat es el que predice una fuerza longitudinal más parecida al modelo analítico dado que en ambos modelos la cogida es plana. Figura 7.17 Fuerza T1a lo largo de la chapa. Al igual que los análisis anteriores se muestra también la distribución del espesor a lo largo de la chapa (Figura 7.18). En general, a pesar de las diferencias comentadas en fuerza, deformación y espesor, las predicciones son razonablemente parecidas. Figura 7.18 Espesor a lo largo de la chapa. 7.4.3 Análisis con un recorrido dado del punzón Por último, se incluye también una comparativa de las predicciones de los modelos cuando el punzón se mueve una misma distancia. Este caso sería el más realista de los analizados en el sentido de que representa la fabricación de piezas con la misma geometría. Como valor del mismo recorrido del punzón en todos los modelos se ha elegido 147 mm de forma que no se produzca la estricción en ninguna simulación. La Figura 7.19 muestra en una sola gráfica la distribución a lo largo de la chapa de la fuerza longitudinal T1 , la deformación medida en la cara superior ε1,top y el espesor. Como se puede observar, el modelo de estirado (stretching) y el modelo de estampación con tetones (drawbead) predicen prácticamente los mismos resultados. Ambos modelos son los que producen unas mayores fuerza longitudinal y deformación, y un menor espesor. Estos resultados son los esperados en
74 Capítulo 7. Modelo 2D de estampación con tetones un proceso de estirado, con un sistema de cogida que evita el movimiento de la chapa, o uno de estampación, que sujeta firmemente la chapa mediante los tetones, frente a uno de estampación sin tetones que posibilita un flujo mayor de material entre matriz y prensachapas. Figura 7.19 Deformación, fuerza longitudinal y espesor a lo largo de la chapa.
8 Conclusiones y líneas futuras de trabajo 8.1 Conclusiones En este trabajo se han realizado una serie de modelos en Abaqus. El primero se corresponde con un modelo 2D preliminar de estirado. Tras ello, se ha hecho un modelo relajando la simplificación 2D para hacer el estudio en 3D. En tercer lugar, se ha pasado a la automatización del modelo 2D con el objetivo de poder simular de forma rápida otros casos. A continuación, se pasó al estudio de un modelo 2D de estampación con prensachapas plano y por último se incluyó la presencia de tetones y su influencia en los resultados. Gracias a estos modelos, se han podido realizar análisis de sucesos que se desprecian en los modelos analíticos. Un ejemplo de esto es el efecto de la flexión severa que se da en los radios de redondeado de punzón y matriz. A lo largo de todo el documento se ha podido comprobar cómo estos radios influencian especialmente la deformación ε1 y en consecuencia, el espesor, teniéndose un pico de deformación y una reducción del espesor en estas zonas. Sin embargo, se ha podido comprobar cómo no supone ningún problema despreciar dicho efecto ya que el fallo sigue sucediendo en el tramo BC, y que esta flexión no es la causa directa de dicho fallo. Este era uno de los objetivos planteados para este proyecto y se ha podido cumplir de forma exitosa. Otro efecto que se ha podido estudiar es el de la adición de un tetón. Se ha comprobado cómo la existencia de un tetón en matriz y prensachapas produce un menor deslizamiento de la chapa. Además, debido a la flexión que se produce en la zona del tetón, vuelven a darse esos picos que se han comentado anteriormente y de igual forma no se produce el fallo en dicha parte de la chapa. Además, se ha investigado la influencia de factores como la geometría del punzón, los radios de redondeo en las aristas o el coeficiente de fricción y la acción y fuerza del prensachapas. Todo con resultados satisfactorios. Cabe destacar el valor pedagógico de los scripts en Python realizados para la creación de los modelos y su automatización, dado que se crearon con la idea de poder ser aprovechados por otros alumnos en futuros proyectos que continúen este trabajo. Gracias a estos códigos, se puede cambiar fácilmente el material de estudio, la geometría, el mallado, los steps, condiciones de contorno o el tipo de integración elegido. 75
76 Capítulo 8. Conclusiones y líneas futuras de trabajo 8.2 Trabajos futuros Por último, se proponen las siguientes líneas de trabajo futuro para continuar con el proyecto y expandir el trabajo desarrollado hasta ahora: •Estudio de los modelos 3D y su mejora. Debido a cuestiones de tiempo, no ha sido analizar esto con toda la profundidad deseada en el proyecto. Especialmente sería interesante estudiar una posible justificación para la disonancia de resultados en deformaciones entre el modelo 2D de estirado y el modelo 3D. • Reutilización de los modelos realizados en Abaqus 3D y los códigos generados para los modelos 2D. Los modelos creados en el presente trabajo pueden reutilizarse con distintos materiales para analizar su influencia en el proceso de conformado. Una opción interesante sería realizar estas simulaciones con un material anisótropo u otro que presente envejecimiento. • Reutilización de códigos para el estudio de una pieza real que sea conformada en la industria aeronáutica. Esta línea de investigación resulta de gran interés ya que permitiría aplicar y validar el modelo en un contexto industrial. Esta línea de trabajo futura contribuiría a evaluar de forma más precisa los efectos de variables complejas, como la geometría específica de componentes aeronáuticos, los materiales avanzados utilizados en el sector, y las condiciones de carga reales. Además, esta aplicación práctica permitiría optimizar los parámetros de conformado en piezas reales, mejorando así tanto la precisión de los modelos de simulación como su aplicabilidad en entornos de producción, lo cual sería un avance valioso para la industria aeronáutica.
Apéndice A Códigos en Python Código A.1 variables.py. import os import csv import numpy as np ### CHOOSE MODEL OPTIONS ### abq_integration = ’Explicit’ # ’Standard’ or ’Explicit’ variables = ’examen’ # ’examen’ or ’simple_test’ wd = ’C:/TFM/Codigos’ # working directory mesh_size = 1.6/4 # mesh size of the metal sheet mass_scaling = 1e-07 # used only if abq_integration = ’Explicit’ numCpus = 6 # number of CPUs friction = 0.15 # friction coefficient #print(’Model options:’) #print(’ abq_integration = "%s"’ % abq_integration) #print(’ variables = "%s"’ % variables) # geometrical parameters of parts if variables == ’examen’: t0 = 1.6 L = 680.*2 R = 2500. Rp = 20. Lp = 520.*2 Hp = 100. c = 40. Lm = (Lp/2+c)*2 Rm = 20. displacement = 152. # drawbed Rdb = 5. # drawbed minimum radius, maximum = Rdb+t0 77
84 Appendix A. Códigos en Python die.seedPart(deviationFactor=0.1, minSizeFactor=0.1, size=mesh_size) die.generateMesh() punch.seedPart(deviationFactor=0.1, minSizeFactor=0.1, size=mesh_size) punch.generateMesh() holder.seedPart(deviationFactor=0.1, minSizeFactor=0.1, size=mesh_size) holder.generateMesh() ### ASSEMBLY asby = md.rootAssembly asby.DatumCsysByDefault(CARTESIAN) sheet1 = asby.Instance(dependent=ON, name=’Sheet-1’, part=sheet) die1 = asby.Instance(dependent=ON, name=’Die-1’, part=die) punch1 = asby.Instance(dependent=ON, name=’Punch-1’, part=punch) holder1 = asby.Instance(dependent=ON, name=’Holder-1’, part=holder) ### MATERIALS AND SECTIONS ### # sheet metal: elastic plastic material aluminiumDensity = 2.81e-9 E = 70e3 nu = 0.33 metal = md.Material(name=material_name) metal.Density(table=((aluminiumDensity, ), )) metal.Elastic(table=((E, nu), )) metal.Plastic(plastic_data) md.HomogeneousSolidSection(material=material_name, name=’Section-1’, thickness=None) sheet.SectionAssignment(offset=0, offsetField=’’, offsetType= MIDDLE_SURFACE, region=Region(faces=sheet.faces), sectionName=’Section-1’, thicknessAssignment=FROM_SECTION) # material orientation sheet.MaterialOrientation( additionalRotationType=ROTATION_NONE, axis=AXIS_3, fieldName=’’, localCsys= None, orientationType=GLOBAL, region=Region( faces=sheet.faces.getSequenceFromMask(mask=( ’[#1 ]’, ), )), stackDirection=STACK_ORIENTATION)
85 ### STEPS ### step0_name = ’Holdermov’ timePeriod0 = 1 numIntervals0 = 10 print(’Step time = %s, number of intervals = %s’ % (timePeriod0, numIntervals0)) if abq_integration == ’Standard’: step0 = md.StaticStep(initialInc=1e-30, maxInc=0.1, maxNumInc =10000000, minInc=1e-40, name=step0_name, previous=’Initial’, timePeriod=timePeriod0, nlgeom=ON) step0.control.setValues(allowPropagation=OFF, timeIncrementation=(5,9,9,16,10,4,32,12,10)) elif abq_integration == ’Explicit’: step0 = md.ExplicitDynamicsStep(name=step0_name, previous=’Initial’, timePeriod=timePeriod0, scaleFactor=1) step0.setValues(massScaling=((SEMI_AUTOMATIC, MODEL, AT_BEGINNING, 0.0, mass_scaling, BELOW_MIN, 0, 0, 0.0, 0.0, 0, None), )) md.FieldOutputRequest(createStepName=step0_name, name=’F-Output-0’, variables=(’S’, ’LE’, ’PE’, ’PEEQ’, ’U’, ’COORD’, ’RF’, ’P’), numIntervals=numIntervals0) step1_name = ’Stamping’ timePeriod = 1 numIntervals = 50 print(’Step time = %s, number of intervals = %s’ % (timePeriod, numIntervals)) if abq_integration == ’Standard’: step1 = md.StaticStep(initialInc=1e-30, maxInc=0.1, maxNumInc =10000000, minInc=1e-40, name=step1_name, previous=’Holdermov’, timePeriod=timePeriod, nlgeom=ON) step1.control.setValues(allowPropagation=OFF, timeIncrementation=(5,9,9,16,10,4,32,12,10)) elif abq_integration == ’Explicit’: step1 = md.ExplicitDynamicsStep(name=step1_name, previous=’Holdermov ’, timePeriod=timePeriod, scaleFactor=1) step1.setValues(massScaling=((SEMI_AUTOMATIC, MODEL, AT_BEGINNING, 0.0, mass_scaling, BELOW_MIN, 0, 0, 0.0, 0.0, 0, None), ))
86 Appendix A. Códigos en Python ### SETS & SURFACES ### surfDie = asby.Surface(name=’Surf-Die’, side1Edges=die1.edges. getSequenceFromMask((’[#3b ]’, ), ), side2Edges=die1.edges.getSequenceFromMask((’[#4 ]’, ), )) surfSheetTop = asby.Surface(name=’Surf-Sheet-Top’, side1Edges=sheet1.edges.getSequenceFromMask((’[#1 ]’, ), )) surfSheetBottom = asby.Surface(name=’Surf-Sheet-Bottom’, side1Edges=sheet1.edges.getSequenceFromMask((’[#4 ]’, ), )) surfPunch = asby.Surface(name=’Surf-Punch’, side1Edges=punch1.edges.getSequenceFromMask((’[#3 ]’, ), )) surfHolder = asby.Surface(name=’Surf-Holder’, side1Edges=holder1.edges.getSequenceFromMask((’[#14 ]’, ), ), side2Edges=holder1.edges.getSequenceFromMask((’[#b ]’, ), )) setSheetFix = asby.Set(edges=sheet1.edges.getSequenceFromMask( (’[#8 ]’, ), ), name=’Set-Sheet-Fix’) setDieRP = asby.Set(name=’Set-DieRP’, referencePoints=( die1.referencePoints[2], )) setPunchRP = asby.Set(name=’Set-PunchRP’, referencePoints=( punch1.referencePoints[2], )) setSheetSymm = asby.Set(edges=sheet1.edges.getSequenceFromMask( (’[#2 ]’, ), ), name=’Set-Sheet-Symm’) setHolderRP = asby.Set(name=’Set-HolderRP’, referencePoints=( holder1.referencePoints[2], )) ### INERTIA md.parts[’Holder’].Set(name=’Set-1’, referencePoints=(md.parts[’Holder’].referencePoints[2], )) md.parts[’Holder’].engineeringFeatures.PointMassInertia( alpha=0.0, composite=0.0, i11=1.0, i22=1.0, i33=1.0, mass=1.0, name= ’Inertia-1’, region=md.parts[’Holder’].sets[’Set-1’]) ### CONTACTS md.ContactProperty(’IntProp-1’) md.interactionProperties[’IntProp-1’].TangentialBehavior( dependencies=0, directionality=ISOTROPIC, elasticSlipStiffness=None, formulation=PENALTY, fraction=0.005, maximumElasticSlip=FRACTION, pressureDependency=OFF, shearStressLimit=None, slipRateDependency= OFF, table=((friction, ), ), temperatureDependency=OFF) md.interactionProperties[’IntProp-1’].NormalBehavior(allowSeparation=ON, constraintEnforcementMethod=DEFAULT, pressureOverclosure=HARD)
87 # surface-to-surface contacts if abq_integration == ’Standard’: md.SurfaceToSurfaceContactStd(adjustMethod=OVERCLOSED, clearanceRegion=None, createStepName=’Initial’, datumAxis=None, initialClearance=OMIT, interactionProperty=’IntProp-1’, master= surfDie, name=’Contact 1 Die-Sheet’, slave=surfSheetTop, sliding=FINITE, thickness=ON, tied=OFF) md.SurfaceToSurfaceContactStd(adjustMethod=OVERCLOSED, clearanceRegion=None, createStepName=’Initial’, datumAxis=None, initialClearance=OMIT, interactionProperty=’IntProp-1’, master= surfPunch, name=’Contact 2 Punch-Sheet’, slave=surfSheetBottom, sliding=FINITE, thickness=ON, tied=OFF) md.SurfaceToSurfaceContactStd(adjustMethod=OVERCLOSED, clearanceRegion=None, createStepName=’Initial’, datumAxis=None, initialClearance=OMIT, interactionProperty=’IntProp-1’, master= surfHolder, name=’Contact 3 Holder-Sheet’, slave=surfSheetBottom, sliding=FINITE, thickness=ON, tied=OFF) elif abq_integration == ’Explicit’: md.SurfaceToSurfaceContactExp(name=’Contact 1 Die-Sheet’, createStepName=’Initial’, master=surfDie, slave=surfSheetTop, sliding=FINITE, interactionProperty=’IntProp-1’, mechanicalConstraint=PENALTY) md.SurfaceToSurfaceContactExp(name=’Contact 2 Punch-Sheet’, createStepName=’Initial’, master=surfPunch, slave=surfSheetBottom, sliding=FINITE, interactionProperty=’IntProp-1’, mechanicalConstraint=PENALTY) md.SurfaceToSurfaceContactExp(name=’Contact 3 Holder-Sheet’, createStepName=’Initial’, master=surfHolder, slave=surfSheetBottom, sliding=FINITE, interactionProperty=’IntProp-1’, mechanicalConstraint=PENALTY) ### LOADS md.EncastreBC(createStepName=’Initial’, localCsys=None, name=’BC-1-Encastre-Die’, region=setDieRP) md.XsymmBC(createStepName=’Initial’, localCsys=None, name= ’BC-3-Sheet-Symm’, region=setSheetSymm) md.DisplacementBC(amplitude=UNSET, createStepName=’Initial’, distributionType=UNIFORM, fieldName=’’, localCsys=None, name=’BC-4Punch-Fix’, region=setPunchRP, u1=SET, u2=SET, ur3=SET) md.TabularAmplitude(data=((0.0, 0.0), (1.0, 1.0)), name=’Amp-1’, smooth= SOLVER_DEFAULT, timeSpan=STEP) md.boundaryConditions[’BC-4-Punch-Fix’].deactivate(’Stamping’) md.DisplacementBC(amplitude=’Amp-1’, createStepName=step1_name,
88 Appendix A. Códigos en Python distributionType=UNIFORM, fieldName=’’, localCsys=None, name=’BC-5Punch-Move’, region=setPunchRP, u1=0, u2=displacement, ur3=0) md.DisplacementBC(amplitude=’Amp-1’, createStepName=’Initial’, distributionType=UNIFORM, fieldName=’’, fixed= OFF, localCsys=None, name=’BC-6-Holdermov’, region= asby.sets[’Set-HolderRP’], u1=0.0 , u2=UNSET, ur3=0.0) md.ConcentratedForce(amplitude=’Amp-1’, cf2= 1204.0, createStepName=’Holdermov’, distributionType=UNIFORM, field= ’’, localCsys=None, name=’FHolder’, region= asby.sets[’Set-HolderRP’]) ### JOB if abq_integration == ’Standard’: mdb.Job(atTime=None, contactPrint=OFF, description=’’, echoPrint=OFF, explicitPrecision=SINGLE, getMemoryFromAnalysis=True, historyPrint=OFF, memory=90, memoryUnits=PERCENTAGE, model=md, modelPrint=OFF, multiprocessingMode=DEFAULT, name=job_name, nodalOutputPrecision=SINGLE, numCpus=numCpus, numDomains=numCpus, numGPUs=0, queue=None , resultsFormat=ODB, scratch=’’, type=ANALYSIS, userSubroutine=’’ , waitHours=0, waitMinutes=0) elif abq_integration == ’Explicit’: mdb.Job(activateLoadBalancing=False, atTime=None, contactPrint=OFF, description=’’, echoPrint=OFF, explicitPrecision=DOUBLE_PLUS_PACK , historyPrint=OFF, memory=90, memoryUnits=PERCENTAGE, model= model_name, modelPrint=OFF, multiprocessingMode=DEFAULT, name=job_name, nodalOutputPrecision=SINGLE, numCpus=numCpus, numDomains=numCpus, parallelizationMethodExplicit=DOMAIN, queue=None, resultsFormat= ODB, scratch=’’, type=ANALYSIS, userSubroutine=’’, waitHours=0, waitMinutes=0) print(’The job "%s" has been created.’ % job_name)
89 Código A.3 getreportsfromodb.py. # copy and paste in the Abaqus console to run the script: # execfile(’C:/TFM/Codigos/get_reports_from_odb.py’) # working directory wd = ’C:/TFM/Codigos’ # Abaqus node list to create paths along the top and bottom sheet surfaces if abq_integration == ’Standard’: if variables == ’examen’: node_list_top = ’’ # TBD node_list_bottom = ’’ # TBD elif variables == ’simple_test’: node_list_top = ’251:1:-1’ node_list_bottom = ’1255:1005:-1’ else: print(’ERROR: variables="%s" is not valid’ % variables) elif abq_integration == ’Explicit’: if variables == ’examen’: node_list_top = ’1701:1:-1’ node_list_bottom = ’8505:6805:-1’ elif variables == ’simple_test’: node_list_top = ’251:1:-1’ node_list_bottom = ’1255:1005:-1’ else: print(’ERROR: variables="%s" is not valid’ % variables) else: print(’ERROR: abq_integration="%s" is not valid’ % abq_integration) from abaqus import * from abaqusConstants import * from caeModules import * from driverUtils import executeOnCaeStartup #import sys import imp # Reloading modules for above Python2.x and <=Python3 .3 #import importlib # Reloading modules for >=Python3.4 and above # change to working directory and (re)load module ’variables.py’ os.chdir(wd)
90 Appendix A. Códigos en Python import variables imp.reload(variables) from variables import * # change to odb directory os.chdir(odb_dir) # create directory to save report files if not os.path.exists(rpt_dir): os.makedirs(rpt_dir) #os.chdir(rpt_dir) # open odb and create viewport o1 = session.openOdb(name=odb_filepath) print(’Open ODB file "%s"’ % odb_filepath) session.viewports[’Viewport: 1’].setValues(displayedObject=o1) odbDisplay = session.viewports[’Viewport: 1’].odbDisplay odbDisplay.display.setValues(plotState=(CONTOURS_ON_DEF, )) ### PATHS pth_top = session.Path(name=’Path-Sheet-Top’, type=NODE_LIST, expression=((’SHEET-1’, (node_list_top, )), )) pth_bottom = session.Path(name=’Path-Sheet-Bottom’, type=NODE_LIST, expression=((’SHEET-1’, (node_list_bottom, )), )) ### REPORTS def writeReport(path, file_name): ’’’ Generates and saves a report with variables along a path. Variables: ’COOR1’, ’COOR2’, ’PE11’, ’S11’ ’’’ pth_coor1 = session.XYDataFromPath(’COOR1’, path=path, includeIntersections=False, pathStyle=PATH_POINTS, numIntervals=10, shape=UNDEFORMED, labelType=TRUE_DISTANCE, variable=((’COORD’, NODAL, ((COMPONENT, ’COOR1’),),),) ) pth_coor2 = session.XYDataFromPath(name=’COOR2’, path=path, includeIntersections=False, pathStyle=PATH_POINTS, numIntervals=10, shape=UNDEFORMED, labelType=TRUE_DISTANCE, variable=((’COORD’, NODAL, ((COMPONENT, ’COOR2’),),),) ) pth_pe11 = session.XYDataFromPath(name=’PE11’, path=path, includeIntersections=False,
91 pathStyle=PATH_POINTS, numIntervals=10, shape=UNDEFORMED, labelType=TRUE_DISTANCE, variable=((’PE’, INTEGRATION_POINT, ((COMPONENT, ’PE11’),),) ,) ) pth_s11 = session.XYDataFromPath(name=’S11’, path=path, includeIntersections=False, pathStyle=PATH_POINTS, numIntervals=10, shape=UNDEFORMED, labelType=TRUE_DISTANCE, variable=((’S’, INTEGRATION_POINT, ((COMPONENT, ’S11’),),),) ) session.writeXYReport(fileName=file_name, appendMode=OFF, xyData=(pth_coor1, pth_coor2, pth_pe11, pth_s11)) print(’Save report to "%s"’ % file_name) # save reports in top and bottom sheet surfaces writeReport(pth_bottom, data_bot_filename) writeReport(pth_top, data_top_filename) # close the odb file #o1.close() Código A.4 calculatethicknessandtensionfromreports.py. # copy and paste in a terminal to run the script: # python C:/TFM/Codigos/calculate_thickness_and_tension_from_reports.py # working directory wd = ’C:/TFM/Codigos’ import os import numpy as np #import imp # Reloading modules for above Python2.x and <=Python3 .3 import importlib as imp # Reloading modules for >=Python3.4 and above # change to working directory and (re)load module ’variables.py’ os.chdir(wd) import variables imp.reload(variables) from variables import * def calculate_thickness(coord_top, coord_bot): ’’’ Returns the distance between two points. ’’’ sth = [] # sheet thickness
92 Appendix A. Códigos en Python for top, bot in zip(coord_top, coord_bot): xtop, ytop = top[0], top[1] xbot, ybot = bot[0], bot[1] t = np.sqrt((xtop-xbot)**2 + (ytop-ybot)**2) #print(’top=%s, bottom=%s -> STH=%s’ % (top, bot, t)) sth.append(t) return sth def calculate_tension(s11_top, s11_bot, sth): ’’’ Evaluates S11 as the mean value through the sheet thickness: S11 = (S11_top+S11_bottom)/2 and returns T1 = S11*thickness ’’’ tension = [] for s1top, s1bot, t in zip(s11_top, s11_bot, sth): s_mean = (s1top+s1bot)/2 tension.append(s_mean*t) return tension def save_data_to_csv(csvfile, data): ’’’ file data format = [[X, STH, T1], ] ’’’ np.savetxt(csvfile, data, delimiter=’,’, fmt=’%.3f’, header=’X, STH, T1’) print(’Data [X, STH, T1] saved to file "%s"’ % csvfile) # change to directory of report files os.chdir(rpt_dir) # read files cols = [’X’, ’COOR1’, ’COOR2’, ’PE11’, ’S11’] data_top = np.genfromtxt(data_top_filename, dtype=’float’, names=True, usecols=cols) data_bot = np.genfromtxt(data_bot_filename, dtype=’float’, names=True, usecols=cols) # get coordinate distributions along top and bottom sheet surfaces in 2 lists [[0, 0], ...] coord_top = list(zip(data_top[’COOR1’], data_top[’COOR2’])) coord_bot = list(zip(data_bot[’COOR1’], data_bot[’COOR2’])) # and calculate the sheet thickness in a list [1.6, 1.59, ...] sth = calculate_thickness(coord_top, coord_bot) # get stress distributions as [120.2, ...] s11_top = data_top[’S11’] s11_bot = data_bot[’S11’] # and calculate the tension T1 (N/mm) in a list [21.6, ...] tension = calculate_tension(s11_top, s11_bot, sth)
93 # save to CSV file x = data_top[’X’] data = list(zip(x, sth, tension)) #print(data) save_data_to_csv(data_filename, data) Código A.5 plotresults.py. # copy and paste in a terminal to run the script: # python C:/TFM/Codigos/plot_results.py # working directory wd = ’C:/TFM/Codigos’ # punto de ajuste de la chapa donde medir la deformacion # punto ’O’ o punto medio del tramo ’BC’ fit_point = ’BC’ import os import numpy as np import matplotlib.pyplot as plt #import imp # Reloading modules for above Python2.x and <=Python3 .3 import importlib as imp # Reloading modules for >=Python3.4 and above # change to working directory and (re)load module ’variables.py’ os.chdir(wd) import variables imp.reload(variables) from variables import * # change to directory of report files os.chdir(rpt_dir) # create directory to save figures if not os.path.exists(fig_dir): os.makedirs(fig_dir) #os.chdir(fig_dir) ### Figure style
100 Apéndice A. Códigos en Python x = coor1_examen[i] y = e1_examen[i] name = point_examen[i] ax_e1.plot([x, x], [0, y], **style5) ax_e1.text(x, 0, name) ax_e1.set_xlabel(r’Position along the sheet (mm)’) ax_e1.set_ylabel(r’Major strain, $\varepsilon_{1}$’) ax_e1.legend() ax_T1.axhline(0, **style5) # horizontal line y = 0 ax_T1.axhline(T1n, **styleLimit, label=r"$T_{1,necking}=%.1f$ N/mm (Hill ’s criterion)" % T1n) # horizontal line y = T1n ax_T1.plot(coor1, T1, **style1, label=r’$T_1$ (maximum %.1f N/mm)’ % max (T1)) if variables == ’examen’: ax_T1.plot(coor1_examen, T1_examen, **style3, label=r’$T_1$ ( analytical, maximum %.1f N/mm)’ % max(T1_examen)) for i in range(len(coor1_examen)): x = coor1_examen[i] y = T1_examen[i] name = point_examen[i] ax_T1.plot([x, x], [0, y], **style5) ax_T1.text(x, 0, name) ax_T1.set_xlabel(r’Position along the sheet (mm)’) ax_T1.set_ylabel(r’Tension, $T_1$ (MPa)’) ax_T1.legend() ax_t.axhline(0, **style5) # horizontal line y = 0 ax_t.plot(coor1, sth, **style1, label=’$t$’) if variables == ’examen’: ax_t.plot(coor1_examen, t_examen, **style3, label=r’$t$ (analytical) ’) for i in range(len(coor1_examen)): x = coor1_examen[i] y = t_examen[i] name = point_examen[i] ax_t.plot([x, x], [0, y], **style5) ax_t.text(x, 0, name) ax_t.set_xlabel(r’Position along the sheet (mm)’) ax_t.set_ylabel(r’Thickness, $t$ (mm)’) ax_t.legend() fig.tight_layout() plt.savefig(fig_all_filename+’.’+image_format, dpi=image_dpi, format= image_format) print(’Figure saved to file "%s"’ % fig_all_filename) plt.close(fig)
Índice de Figuras 2.1 Productos típicos fabricados por conformado convencional de chapa [2] 3 2.2 Proceso de embutición [3] 4 2.3 Proceso de estampación [2] 5 2.4 Proceso de estirado [4] 6 2.5 Procesos de plegado [2] 6 2.6 Figuras auxiliares para cálculo de equilibrios [2] 9 2.7 Proceso de estampación numerado por zonas [2] 9 2.8 T1analítica [2] 10 2.9 Pieza con fallo por estricción localizada [2] 11 2.10 Proceso de fractura dúctil [2] 12 2.11 Modos de propagación de grietas [2] 12 2.12 Pieza que ha fallado por arrugas [2] 12 2.13 Representación del punto de inestabilidad por estricción difusa en la curva de esfuerzodeformación verdadera [2] 14 2.14 Evolución de la fuerza [2] 14 2.15 Inclusión de la imperfección [2] 15 2.16 Evolución de la fuerza para el espécimen real [2] 15 2.17 Estricción localizada [2] 16 2.18 Representación del punto de inestabilidad por estricción difusa en la curva de tensióndeformación verdadera [2] 16 2.19 Rutas de carga [2] 17 2.20 Diagrama límite de conformado [2] 18 2.21 Direcciones usuales de los coeficientes de Lankford [2] 19 3.1 Dimensiones del problema original 22 3.2 Deformación ε1a lo largo de la chapa 23 3.3 Fuerza longitudinal T1a lo largo de la chapa 23 3.4 Espesor a lo largo de la chapa 24 3.5 Chapa ampliada para geometría 2D 25 3.6 Geometría del punzón 25 3.7 Geometría de la matriz 25 3.8 Geometría de la primera aproximación 26 3.9 Ley de comportamiento plástico utilizada 27 3.10 Sets y superficies declaradas 27 3.11 Contactos definidos 28 3.12 Contactos para la matriz 28 101
102 Índice de Figuras 3.13 Propiedades del contacto 29 3.14 Condiciones de contorno 29 3.15 Condiciones de contorno del punzón 30 3.16 Mallado de la chapa metálica 30 3.17 Mallado de la matriz 31 3.18 Mallado del punzón 31 3.19 Deformación ε1a lo largo de la chapa 32 3.20 Fuerza longitudinal T1a lo largo de la chapa 33 3.21 Espesor a lo largo de la chapa 33 4.1 Geometría del problema 36 4.2 Sets y superficies declaradas 36 4.3 Contactos definidos 37 4.4 Condiciones de contorno 37 4.5 Condición de contorno para el punzón 38 4.6 Mallado de la chapa metálica 39 4.7 Mallado de la matriz 39 4.8 Mallado del punzón 40 4.9 Fuerza longitudinal T1a lo largo de la chapa 40 4.10 Espesor a lo largo de la chapa 41 4.11 Deformación ε1a lo largo de la chapa 41 5.1 Geometría "simple test" 44 6.1 Nueva geometría del problema 53 6.2 Contactos del problema del problema 55 6.3 Carga definida 56 6.4 Condiciones de contorno del problema 56 6.5 Deformación ε1a lo largo de la chapa 57 6.6 Fuerza longitudinal T1a lo largo de la chapa 58 6.7 Espesor a lo largo de la chapa 58 6.8 Deformación ε1a lo largo de la chapa 59 6.9 Fuerza longitudinal T1a lo largo de la chapa 59 6.10 Espesor a lo largo de la chapa 60 6.11 Esfuerzos al final del cierre del prensachapas 60 6.12 Deformación tras avance de punzón de 31.5 mm 61 6.13 Desplazamientos verticales tras avance de punzón de 31.5 mm 61 6.14 Deformación, fuerza longitudinal y espesor a lo largo de la chapa 62 7.1 Geometría con tetones 63 7.2 Deformación ε1a lo largo de la chapa 65 7.3 Fuerza longitudinal T1a lo largo de la chapa 66 7.4 Espesor a lo largo de la chapa 66 7.5 Deformación ε1a lo largo de la chapa 67 7.6 Espesor a lo largo de la chapa 67 7.7 Fuerza T1a lo largo de la chapa 68 7.8 Esfuerzos al final del cierre del prensachapas con mass scaling de 10−668 7.9 Esfuerzos al final del cierre del prensachapas con mass scaling de 10−769 7.10 Deformación tras avance de punzón de 30.6 mm 69 7.11 Desplazamientos verticales tras avance de punzón de 30.6 mm 69 7.12 Deformación, fuerza longitudinal y espesor a lo largo de la chapa 70
Índice de Figuras 103 7.13 Fuerza T1a lo largo de la chapa 71 7.14 Deformación ε1a lo largo de la chapa 71 7.15 Espesor a lo largo de la chapa 72 7.16 Deformación ε1a lo largo de la chapa 72 7.17 Fuerza T1a lo largo de la chapa 73 7.18 Espesor a lo largo de la chapa 73 7.19 Deformación, fuerza longitudinal y espesor a lo largo de la chapa 74
Índice de Códigos 5.1 Líneas de código para la geometría dentro de variables.py 44 5.2 Líneas de código para la creación de los parts 45 5.3 Líneas de código para el mallado 47 5.4 Líneas de código para el mallado 47 5.5 Líneas de código para el mallado 48 5.6 Líneas de código que definen los steps y sus propiedades 48 5.7 Líneas de código que definen los sets y superficies 49 5.8 Líneas de código para los contactos 49 5.9 Líneas de código para las condiciones de contorno 50 5.10 Líneas de código para el mallado 50 6.1 Código adicional para la inclusión del prensachapas 53 6.2 Código adicional para la inclusión del prensachapas 54 6.3 Código adicional para la inclusión del prensachapas 54 6.4 Líneas de código para el nuevo step 54 6.5 Líneas de código para nuevos sets y superficies 55 6.6 Líneas de código para nuevo contacto 55 6.7 Líneas de código para nuevas condiciones de contorno y cargas 56 7.1 Líneas de código para la nueva geometría 63 A.1 variables.py 77 A.2 stampingtetones2dgeneralfinal.py 79 A.3 getreportsfromodb.py 88 A.4 calculatethicknessandtensionfromreports.py 91 A.5 plotresults.py 93 105
Bibliografía [1] Z. Marciniak, J. L. Duncan, and S.J. Hu. Mechanics of Sheet Metal Forming. ButterworthHeinemann, Oxford, 2002. [2] Domingo Morales Palma. "Bases para el análisis de procesos de conformado". Material de clase de la asignatura Procesos de fabricación aeronáutica. Escuela Técnica Superior de Ingeniería. Universidad de Sevilla, 2022. [3] Schuh Günther et al. Sheet Metal Forming Using Additively Manufactured Polymer Tools. https:// www.researchgate.net/ figure/ Deep-drawing-process-and-common-failuretypes_fig1_344352941. Accessed: 06.10.2024. [4] Pro Lean. Estiramiento de chapa metálica: una guía completa. https://proleantech.com/ es/ sheet-metal-stretching-a-comprehensive-guide/ . Accessed: 06.10.2024. [5] W.F. Hosford and R.M. Caddell. Metal Forming. Mechanics and Metallurgy. Prentice Hall, 1993. [6] M. P. Groover. Fundamentos de Manufactura Moderna. Materiales, Procesos y Sistemas. Ed. Prentice Hall Hispano Americana, 1997. [7] S. Kalpakjian and S. Schimd. Manufactura Ingeniería y Tecnología. Ed. Prentice Hall, 2002. 107