scieee AI-readable full text Open interactive document viewer

Desarrollo de un método de optimización de secuencia de apilado en componentes laminados con criterios de rotura de la última lámina

Scholten, Peter

Abstract

Resumen En esta Tesis de Máster se desarrolla un método de optimización de secuencia de apilado en componentes laminados con criterios de rotura de la última lámina. Se ha implantado una macro con el lenguaje interno del programa ANSYS que permite la comprobación de rotura de la última lámina en componentes laminados mediante el uso de dicho programa. Posteriormente, utilizando el módulo de optimización del propio programa ANSYS 11.0 y la macro de verificación con criterio de rotura de la última lámina, se ha analizado varios problemas de optimización de la secuencia de apilado de laminados. En primer lugar se desarrolla una macro independiente del problema del usuario, que comprueba en cada elemento de cada capa si el elemento ha fallado o no. Para esto se utiliza los criterios de TSAI-WU y el modelo de degradación del DIMM. Si el elemento ha fallado se cambia el material solo en este elemento modificando su constante real. Este procedimiento se realiza automáticamente en múltiples iteraciones hasta que no se rompen más elementos. En segundo lugar se desarrollo otra macro independiente que optimiza las orientaciones de las laminas para conseguir un laminando con un coeficiente de seguridad mayor. Para esto se implementa parámetros en la macro anterior, que son necesarios para la optimización. Se crea automáticamente varios diseños para encontrar una solución óptima. Las macros deben ser independientes del problema del usuario para asegurar una solución a problemas distintos sin forzar al usuario la utilización de un método específico de crear su modelo.

Full text

UNIVERSIDAD POLITÉCNICA DE VALENCIA DEPARTAMENTO DE INGENIERÍA MECÁNICA Y DE MATERIALES MÁSTER EN INGENIERÍA MECÁNICA Y MATERIALES Desarrollo de un método de optimización de secuencia de apilado en componentes laminados con criterios de rotura de la última lámina. Presentada por: Peter Scholten Dirigida por: Dr. D. José Albelda Vitoria Valencia, Septiembre de 2011 En ANSYS 11.0 se desarrolla macros para analizar componentes laminados, sus roturas con el criterio de Tsai-Wu, y la optimización de los materiales para aumentar sus coeficientes de seguridad. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster I Resumen En esta Tesis de Máster se desarrolla un método de optimización de secuencia de apilado en componentes laminados con criterios de rotura de la última lámina. Se ha implantado una macro con el lenguaje interno del programa ANSYS que permite la comprobación de rotura de la última lámina en componentes laminados mediante el uso de dicho programa. Posteriormente, utilizando el módulo de optimización del propio programa ANSYS 11.0 y la macro de verificación con criterio de rotura de la última lámina, se ha analizado varios problemas de optimización de la secuencia de apilado de laminados. En primer lugar se desarrolla una macro independiente del problema del usuario, que comprueba en cada elemento de cada capa si el elemento ha fallado o no. Para esto se utiliza los criterios de TSAIWU y el modelo de degradación del DIMM. Si el elemento ha fallado se cambia el material solo en este elemento modificando su constante real. Este procedimiento se realiza automáticamente en múltiples iteraciones hasta que no se rompen más elementos. En segundo lugar se desarrollo otra macro independiente que optimiza las orientaciones de las laminas para conseguir un laminando con un coeficiente de seguridad mayor. Para esto se implementa parámetros en la macro anterior, que son necesarios para la optimización. Se crea automáticamente varios diseños para encontrar una solución óptima. Las macros deben ser independientes del problema del usuario para asegurar una solución a problemas distintos sin forzar al usuario la utilización de un método específico de crear su modelo. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster II Abstract In this master thesis is a optimization method of stacking sequence developed to optimization of laminated components with a failure criteria of the last layer. The macro allows the verification of the breakage of the last layer of laminate components using the finite element program ANSYS 11.0. Then, using the optimization program also based on 11.0 ANSYS, another macro is created with an optimization strategy for the stacking sequence. First, a macro independent from the user problem is developed, which controls in each element of each layer, if the element has failed or not. For this the failure criteria of Tsai-Wu is used and the degradation model of the DIMM. If the element has failed the material of this element is changed by modifying its real constant. This is done automatically in multiple iterations until no more elements break. Secondly another macro is developed, which optimizes the orientations of the layers to achieve a higher safety factor. For this parameters are implemented in the previous macro, which are necessary for the optimization. It automatically creates several designs to find an optimal solution. The macros must be independent of the user's problem to ensure a solution to various problems without forcing the user to use a specific method of creating the model. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster III Resum En aquesta Tesi de Màster es desenvolupa un mètode d'optimització de seqüència de apilat en components laminats amb criteris de ruptura de l'última làmina. S'ha implantat una macro amb el llenguatge intern del programa ANSYS que permet la comprovació de trencament de l'última làmina en components laminats mitjançant l'ús d'aquest programa. Posteriorment, utilitzant el mòdul d'optimització del propi programa ANSYS 11.0 i la macro de verificació amb criteri de ruptura de l'última làmina, s'ha analitzat diversos problemes d'optimització de la seqüència d'apilament de laminats. En primer lloc es desenvolupa una macro independent del problema de l'usuari, que comprova en cada element de cada capa si l'element ha fallat o no. Per això s'utilitza els criteris de Tsai-WU i el model de degradació del DIMM. Si l'element ha fallat es canvia el material només en aquest element modificant la seva constant real. Aquest procediment es realitza automàticament en múltiples iteracions fins que no es trenquen més elements. En segon lloc es desenvolupa una altra macro independent que optimitza les orientacions de les làmines per aconseguir un laminant amb un coeficient de seguretat major. Per això s'implementa paràmetres en la macro anterior, que són necessaris per a l'optimització. Es crea automàticament diversos dissenys per trobar una solució òptima. Les macros han de ser independents del problema de l'usuari per assegurar una solució a problemes diferents sense forçar a l'usuari la utilització d'un mètode específic de crear el seu model. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster IV Agradecimientos Debo agradecer la paciencia y dedicación de mi tutor y profesor José Albelda Vitoria, tanto en problemas técnicos como en problemas lingüísticos. En muchas horas me ha explicado las dificultades de la tesis, me ha dado muchas informaciones y me ha ayudado mucho encontrar el camino correcto para superar las dificultades existentes. La programación en ANSYS con ayuda de APDL era totalmente nueva para mí y me ha dado el tiempo necesario para encontrar varias complicaciones, para entenderlas, solucionarlas y comprobar las soluciones. Sin sus clases en materiales compuestos y elementos finitos y además su dedicación realizando este trabajo no habría sido posible para mí. En aquellas mi interés a materiales compuestos ha sido intensificado. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster V Contenido Resumen ................................................................................................................................................... I Abstract ................................................................................................................................................... II Resum ..................................................................................................................................................... III Agradecimientos .................................................................................................................................... IV Contenido ................................................................................................................................................ V Índice de ilustraciones ............................................................................................................................ IX Índice de formulas .................................................................................................................................. XI Índice de tablas ..................................................................................................................................... XII Índice de abreviaturas y símbolos ........................................................................................................ XIII 1. Introducción ................................................................................................................................... 1 1.1. ANSYS ..................................................................................................................................... 1 1.1.1. Preprocessor ................................................................................................................... 1 1.1.2. Solution ........................................................................................................................... 4 1.1.3. Postprocessor .................................................................................................................. 5 1.2. Teoría clásica de laminados .................................................................................................. 6 1.2.1. Estudio de tipos de laminados ...................................................................................... 7 1.2.2. Efectos de borde ............................................................................................................ 8 1.2.3. Efectos de borde en laminado angular ......................................................................... 9 1.2.4. Conclusiones ................................................................................................................ 10 1.3. Criterio de fallo multiaxial de Tsai-Wu .............................................................................. 11 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster VI 1.4. Criterios de degradación ..................................................................................................... 15 1.5. Criterio de fallo de laminados por rotura de la ultima lamina ......................................... 17 1.6. Optimización ........................................................................................................................ 19 2. Desarrollo de un modulo de evaluación de rotura de ultima lamina con ANSYS ................... 21 2.1. APDL ..................................................................................................................................... 21 2.1.1. Línea de comandos / menú ......................................................................................... 21 2.1.2. Diseño paramétrico ..................................................................................................... 22 2.1.3. Array parameters ......................................................................................................... 23 2.1.4. *GET .............................................................................................................................. 24 2.1.5. APDL como lenguaje de macro ................................................................................... 24 2.1.5.1. Bucles en la macro ................................................................................................... 25 2.2. Procedimiento para ejecutar las macros ........................................................................... 29 2.3. El problema en ANSYS ......................................................................................................... 33 2.4. La macro LAM_RUL.MAC ..................................................................................................... 34 2.5. Las variables ........................................................................................................................ 61 2.6. Verificación de la macro LAM_RUL .................................................................................... 62 2.7. Ejemplos con placa con seis capas sometida a flexión...................................................... 63 3. Optimización de diseño en Ansys ............................................................................................... 72 3.1. Procedimiento ...................................................................................................................... 72 3.1.1. Variables de optimización ........................................................................................... 72 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster VII 3.1.2. Terminología de optimización del diseño en ANSYS ................................................ 74 3.2. Métodos / Herramientas de optimización ......................................................................... 77 3.2.1. Subproblem approximation method ............................................................................. 77 3.2.1.1. Aproximación ............................................................................................................ 78 3.2.1.2. Conversión ................................................................................................................. 79 3.2.1.3. Control de convergencia (SAM) ................................................................................ 79 3.2.1.4. Consideraciones especiales para la aproximación del sub-problema ...................... 80 3.2.2. First order method ......................................................................................................... 81 3.2.2.1. Control de convergencia (FOM) ................................................................................ 81 3.2.2.2. Consideraciones especiales para el método de primer orden .................................. 82 3.2.3. Comparación de métodos de optimización .................................................................. 84 3.2.4. Herramientas de optimización ................................................................................... 86 3.3. Elección de las variables de la optimización ..................................................................... 88 3.3.1. Elección de las variables del diseño ........................................................................... 88 3.3.2. Elección de las variables del estado ........................................................................... 89 3.3.3. Elección de la función objetivo ................................................................................... 90 3.4. La macro LAM_RUL_OPT.MAC ............................................................................................ 91 4. Ejemplos de optimización de secuencia de apilado con resistencia máxima ......................... 96 4.1. Placa con tres capas ............................................................................................................. 96 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster VIII 4.2. Placa con seis capas ............................................................................................................. 99 4.3. Cúpula ................................................................................................................................. 102 5. Conclusiones .............................................................................................................................. 108 5.1. Algunas consideraciones finales ....................................................................................... 108 5.2. Valoración .......................................................................................................................... 111 6. Trabajos futuros ........................................................................................................................ 113 7. Bibliografía ................................................................................................................................. 114 8. Anexo .......................................................................................................................................... 115 8.1. Macro DEF_MAT sin comentarios .................................................................................... 115 8.2. Macro NRCON sin comentarios ........................................................................................ 119 8.3. Macro RNEW sin comentarios .......................................................................................... 122 8.4. Macro LAM_RUL_OPT sin comentarios ............................................................................ 127 8.5. Placa_c3 .............................................................................................................................. 129 8.6. Placa_c6_sfa ........................................................................................................................ 133 8.7. Cúpula ................................................................................................................................. 137 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción ANSYS 2 El menú Modeling / modelar permite crear, operar, mover, etc. nodos, puntos, líneas, áreas volúmenes y además, también permite crear y manipular la geometría deseada. Ilustración 1: Modeling El menú Meshing / mallado permite definir una mala de elementos por encima de la geometría creada. Esto es necesario para calcular un problema. Número y forma de los elementos pueden ser influidos. Ilustración 2: Meshing Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción ANSYS 3 El menú Loads / cargas se utiliza para imponer las condiciones del contorno, es decir, restringir los grados de libertad y aplicar cargas a la geometría. Los grados de libertad se definen como la posibilidad de que un nodo sea capaz de trasladar o transmitir una carga. En los elementos placa considerados hay seis grados de libertad, 3 de translación y 3 de giro, y esto permite determinar el número de ecuaciones utilizado para resolver el problema matemático. Ilustración 3: Loads El menú de Material Props / Propiedades de materiales permite definir mediante el comando Failure Criteria /unos criterios del fallo, con las se puede comprobar si falla el componente. Ilustración 4: Material Props Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción ANSYS 4 1.1.2. Solution Con el menú de Solution / solución se puede definir el tipo de análisis y después resolver el problema La fase de solución es completamente automática. En base de los valores nodales y sus derivadas el análisis de elementos finitos genera matrices de elementos y guarda los resultados en ficheros. En la siguiente fase, el postprocessor, estos ficheros son utilizados para evaluar y analizar los resultados gráficamente o con ayuda de tablas. Ilustración 5: Solution Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción ANSYS 5 1.1.3. Postprocessor Básicamente se utiliza el Postprocessor / post-procesador para mostrar los resultados del cálculo gráficamente. Es posible visualizar diferentes tensiones, aquí los tensiones de von Mises, o también deformaciones de la geometría. Estos son interpretaciones de valores numéricos de nodos y sus derivados. Además de visualizaciones el post-procesador también permite el uso de tablas. Ilustración 6: Postprocessor Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Teoría clásica de laminados 6 1.2. Teoría clásica de laminados1 La teoría clásica de laminados (TCL) es un modelo que permite la optimización de la geometría o de los materiales disponibles. Se puede estudiar laminados, que son la mejor opción cuando los esfuerzos principales están contenidos en el plano y estructuras emparedados ( “Sandwich” ), que son una buena opción para piezas con esfuerzos de flexión. . Ilustración 7: Laminado Ilustración 8: "Sandwich" Ilustración 9: Laminados simétrico La teoría clásica de laminados es el modelo más simple que se puede estudiar y aunque tiene grandes limitaciones, predice correctamente las tendencias de rigidez y resistencia. Esta teoría relaciona esfuerzos por unidad de anchura con deformaciones en el plano ε y curvaturas κ. Además, representa la ecuación de comportamiento material del laminado, y en general no puede representar directamente la rigidez de una pieza. La Teoría Clásica de Laminados se puede utilizar directamente cuando se conocen los esfuerzos que actúan en problemas isostáticos. Gracias a eso, la teoría clásica de laminados sirve para pre-dimensionar piezas y seleccionar materiales. Con ayuda de sistemas basados en el Método de Elementos Finitos, como ANSYS se puede analizar componentes utilizando la TCL como modelo de material. 1 Compara con *1+, diapositivas de la asignatura “Diseño de materiales compuestos” del DIMM Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Teoría clásica de laminados 7 1.2.1. Estudio de tipos de laminados Un laminado se define por el número de sus laminas, espesores, materiales y orientaciones y por el orden de colocación de las láminas o secuencia de apilado. Existen diferentes tipos de laminados en función de las orientaciones: “Laminados equilibrados”, p. e. [30/-30], [0/45/-45+; “laminados simétricos” [0/40/-30/-30/40/0+; “laminados anti-simétricos”, cuales también son equilibrados *30/-30], [45/-45/0/90/0/45/-45+; “laminados unidireccionales” tienen todas las laminas del mismo material y orientación; “laminados angulares” con laminas arbitrarias *30/-60/30+; “laminados cruzados” con direcciones de 0 y 90 *0/0/90/0/90/90+; “laminados cuasi-ortótropos” cuales son similares a las ortótropas, son simétricos y equilibrados *0/30/-30/-30/30/0+; “laminados ortótropos” con tres planos de simetría ortogonales son cruzados y simétricos *90/0/90/0/90+; “laminados cuasi-isótropos” son simétricos y equilibrados con laminas igual de espesor y material [0/60/-60]s, [0/45/90/-45+s; “laminados isótropos” con todas las laminas de materiales isótropos. Laminado Equilibrado Simétrico Antisimétrico Cruzado Cuasiortótropo Ortótropo Cuasiisótropo Isótropo (no simétrico) Isótropo (simétrico) [A] [B] [D] [A]:= Rigidez en el plano; [B]:= Acoplamiento de rigideces; [D]:= Rigideces a flexión y torsión Tabla 1: Tipos de laminados Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Teoría clásica de laminados 8 1.2.2. Efectos de borde La TCL tiene sus limitaciones. Una de sus hipótesis es que cada una de las láminas se comporta según un estado de tensión plana. Cuando consideramos el laminado cruzado [0/90/90/0] de la Ilustración 10 sometido a la carga Nx, ésta tendría efectos diferentes en el borde de las distintas láminas. Las capas no se deformarían de la misma manera. Cuando las capas no estuviesen unidas se deformarían como en la Ilustración 11. Ilustración 10: Laminado cruzado simétrico Ilustración 11: Deformaciones en el borde Las tensiones en las capas según la Teoría Clásica de Laminados ( Ilustración 12 ) están asociadas a deformaciones que no son las verdaderas. La TCL obtiene en el borde un valor de Ny correcto pero las tensiones σy no son nulas, lo que es físicamente imposible. La razón de este error es que la TCL promedia las propiedades de los materiales en el espesor y se obtiene un laminado que está en equilibrio con las características medias del material. Ilustración 12: Tensiones en las capas Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Teoría clásica de laminados 9 1.2.3. Efectos de borde en laminado angular Además del efecto explicado anteriormente, que es debido el coeficiente de Poisson en las láminas, existe otro debido a la diferencia de deformación angular. En un laminado (±45º)s esta cada lamina sometida a una tensión σx y una tensión cortante τxy. La tensión cortante debe anularse en el contorno libre. Esto resulta en la aparición de una nueva tensión τxy cual será equilibrada por tensiones normales interlaminares. La tensión interlaminar máxima varía con el ángulo de las capas en el laminado. El máximo aparece con unos 35°. Ilustración 13: Tensiones de cortadura interlaminares Las tensiones normales interlaminares cambian su signo debido al efecto de secuencia de apilado. Ilustración 14: Secuencia de apilado. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Teoría clásica de laminados 10 1.2.4. Conclusiones Con ayuda de la TCL se puede calcular los esfuerzos lejos del borde, es decir en las zonas lejos de los contornos libres, donde la distribución de tensiones es bidimensional. Por el contrario, la TCL falla cerca de los bordes, donde hay tensiones tridimensionales y las tensiones tangenciales y normales interlaminares producen la aparición de delaminaciones. La secuencia de apilado controla el signo de las tensiones normales interlaminares. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Tsai-Wu 11 1.3. Criterio de fallo multiaxial de Tsai-Wu2 Los criterios de fallo de láminas bajo tensiones multiaxiales se pueden dividir en dos grupos: Criterios de rotura no interactivos y los criterios de rotura interactivos. Algunos de los criterios de fallo no interactivos son el de máxima tensión y el de máxima deformación. Ninguno de ellos tiene en cuenta la interacción de los modos de fallo y por eso sobreestiman la resistencia. Entre los criterios de fallos interactivos cabe señalar, el criterio de Tsai-Hill, el criterio de Tsai-Wu en tensiones y el criterio de Tsai-Wu en deformaciones Formula 1: Criterio de Von Mises A partir del criterio de la energía de distorsión de von Mises, válido para un material isótropo, ( que se puede mostrar gráficamente en el postprocesador de ANSYS ), Hill introduce su criterio de fluencia en materiales anisótropos y Tsai lo aplica a materiales anisótropos. La condición de no fallo en tensión plana es: Formula 2: Criterio de Tsai-Hill ( ejes orientados ) 2 Compara con *2+ diapositivas de la asignatura “Diseño de materiales compuestos” del DIMM Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Rotura de la última lamina 18 Ilustración 17: Procedimiento de análisis resistente de un laminado5 5 Diapositivas de la asignatura “Diseño de materiales compuestos” del DIMM Tema 8, Pagina 9 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Optimización 19 1.6. Optimización La optimización es una parte de la matemática aplicada que trata de encontrar los parámetros óptimos de un sistema complejo. Para exponer el problema general de optimización se utilizará la terminología siguiente:  El espacio de diseño X  El espacio objetivo Y  Función objetivo  Funciones de constricción La imagen del espacio de de diseño X es el espacio objetivo Y. Se llega de X a Y mediante la función objetivo f(X) -> Y, teniendo en cuenta las funciones de restricción gi(X) con i = 1, …, r. La optimización siempre es un problema de minimización para encontrar el valor optimo x* ϵ X. Si el problema a resolver es de maximización puede transformarse en uno de minimización si se tiene en cuenta que: 1. Max (x) => Min (-x) 2. Max (x) => Min ( 1/x ) 3. Max (x) => Min( C – x ) con C mucho más alto que x En la siguiente Tabla 2 se puede ver los efectos de la variación de x para los diferentes planteamientos. X será un coeficiente de seguridad. Como estos coeficientes no suelen ser muy elevados, se toma un valor de 100 para la constante del planteamiento tres. Todos los planteamiento permiten obtener el máximo de la función objetivo en el punto x*. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Introducción Optimización 20 Planteamiento 1 Planteamiento 2 Planteamiento 3 x Min (-x) Tendencia Min ( 1/x ) Tendencia Min( C – x ) Tendencia 0 0 n.d. 100 1/4 -1/4 4 99,75 1/3 -1/3 3 99,66 ½ ½ 2 99,5 1 -1 1 99 2 -2 ½ 98 3 -3 1/3 97 4 -4 1/4 96 Tabla 2: Planteamiento de optimización Cada planteamiento tiene sus inconvenientes: 1. El primer planteamiento puede tener asociados problemas matemáticos ya que no siempre pueden evaluarse ciertas operaciones. Por ejemplo, con valores negativos ( p.e. . 2. El segundo planteamiento es problemático, porque puede resultar en una división por 0 y la inversión puede ser menos precisa ( p.e. x = 9 => 0,1111111111) . 3. El tercer planteamiento también es problemático, porque si no se conocen bien los espacios X y Y o el rango de x la elección del C puede ser complicado. ( p.e. C < x => problemas del planteamiento 1 ) El tema 0 trata específicamente de la optimización en ANSYS. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Línea de comandos/menú 21 2. Desarrollo de un modulo de evaluación de rotura de ultima lamina con ANSYS 2.1. APDL6 2.1.1. Línea de comandos / menú En comparación al menú, la utilización de la línea de comandos puede ser algo más complicada, pero tiene muchas ventajas. Mediante el menú, el usuario puede utilizar ANSYS para resolver fácilmente varios problemas. Sin embargo la línea de comandos permite utilizar comandos que no existen en el menú y con ayuda de un “Batchfile” permite automatizar procedimientos del preprocesador y del postprocesador. Un batchfile puede contener desde una línea hasta múltiples macros enteras. El usuario del ANSYS classic también puede utilizar el APDL, el ANSYS Parametric Design Language, un lenguaje propio de ANSYS, que se puede utilizar para introducir comandos y automatizar procedimientos. Para crear un batchfile se puede utilizar los comandos usuales de ANSYS, los comandos de APDL disponen de muchas posibilidades de repetir comandos, macros, bucles, operaciones con escalares, vectores y matrices. 6 Compara con [4] Release 11.0 Documentation for ANSYS Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Diseño paramétrico 22 2.1.2. Diseño paramétrico Los variables de ADL son Parámetros. En ANSYS no hace falta ninguna declaración del tipo de parámetro. Todos los valores numéricos son guardados como reales de doble precisión. ANSYS distingue escalares y vectores (arrays) como dos tipos de variables. Valores numéricos, caracteres y tablas pueden ser guardados como arrays. Parámetros pueden ser utilizados como argumento de cualquier comando de ANSYS. Por ejemplo: Se quiere definir el primer Nodo, Nodo 1, en las coordenadas X = 2 y Y =3. AAAA = 2 N, 1, AAAA, 3 Esta línea será interpretada como N,1,2,3. También es posible volver a utilizar el mismo parámetro con otros valores: AAAA = 4 Esto no afectara el nodo 1. Sin embargo en siguientes usos el valor de AAAA ya no es 2, sino 4. APDL también permite operaciones como +,-,*,/,>,< y exponenciación **. Los parámetros tienen que empezar con una letra y sólo deben contener letras, números y el guion bajo, por ejemplo QWE, RT1, Y_U. Nombres inválidos serán por ejemplo 1I2O (empieza con un número ) o P&A ( carácter invalido “&” ). Todos las parámetros y también sus valores definidos pueden ser listados en *STATUS. Si no son necesarios ya, es posible borrarlos si se les asigna un valor blanco: “AAAA = “ “ Otra posibilidad es ocultar los parámetros en el *STATUS terminándolo con un guion bajo: AAAA_ Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Diseño paramétrico 23 2.1.3. Array parameters En ANSYS un parámetro no tiene porque ser de un sólo valor. También se puede utilizar parámetros para guardar un array con múltiples valores. Estos pueden ser de una sola columna ( 1-D ), de filas y columnas ( 2-D ), de filas, columnas y planos ( 3-D ), de filas, columnas, planos y libros ( 4-D ) o de filas, columnas, planos, libros y estantes ( 5-D ). Ilustración 18: Representación gráfica de un array 2-D Ilustración 19: Representación gráfica de un array 3-D Las ilustraciones de la Ilustración 18 hasta la Ilustración 20 explican gráficamente la organización de un array de múltiples dimensiones. Ilustración 20: Representación grafica de un array 5-D Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Diseño paramétrico 24 2.1.4. *GET Para sacar un valor de la base de datos de ANSYS y asignárselo a un ítem ( nodo, elemento, área, etc.) y guardarla como parámetro de usuario, se puede utilizar el comando *GET. El *GET tiene el formato siguiente: *GET, Par, Entity, ENTNUM, Item1, IT1NUM, Item2, IT2NUM El nombre del parámetro nuevo es Par. La palabra clave para el ítem es Entity. Entities o entidades validos son por ejemplo NODE, ELEM, KP, LINE, AREA, VOLU, entre otros. ENTNUM es el número de la entidad, cuando el usuario pone un cero, todas las entidades serán elegidas. El nombre de un ítem de una entidad particular es el Item1. Si, por ejemplo, la entidad es ELEM, Item1 puede ser NUM ( para el número máximo o el mínimo ) o COUNT ( para contar el número de elementos ). 2.1.5. APDL como lenguaje de macro Secuencias de comandos de ANSYS frecuentemente utilizadas pueden ser guardadas en un macro. Esto permite al usuario crear un comando o múltiples comandos de ANSYS personalizados. De este modo es posible ejecutar múltiples comandos en una sola línea. Dentro de una macro el usuario también puede llamar a otras macros. De este modo es posible incluir hasta veinte niveles de macros. Una macro puede ser creada en ANSYS o también en un fichero mediante algún editor de texto. Las macros simples se pueden crear en ANSYS directamente, pero las macros más largas es recomendable hacerlo con un editor de texto. Algunas líneas o comandos pueden ser copiados directamente del fichero log de ANSYS. El nombre del marco tiene que cumplir las mismas reglas que el nombre de un parámetro. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Diseño paramétrico 25 2.1.5.1. Bucles en la macro Macro en APDL también permiten ejecutar bucles de distintos tipos. Bucles muy utilizados son el *DO y el *IF El comando *IF permite al usuario evaluar condiciones comparando dos valores numéricos, que también pueden ser parámetros. El formato del comando *IF es el siguiente: *IF, VAL1, Oper, Val2, Base El primer valor numérico o parámetro de la comparación es el VAL1, el operador de la comparación es el Oper, el segundo valor o parámetro es el VAL2 y la acción que ocurre, si la comparación es verdad, es la Base. Los operadores, que se puede utilizar son EQ para equal o igual, NE para Not equal o no igual, LT para Less than o menor que, GT para greater than o mayor que, LE para less or egual o menor o igual, GE para greater or egual o mayor o igual, ABLT para valores absolutos antes del LT, ABGT para valores absolutos antes de GT. Para ejecutar un bucle *IF hace falta terminar el bucle con *ENDIF, pero también es posible utilizar el *ELSEIF o el *ELSE para crear otros opciones por el caso, que el IF no es verdad. El otro bucle común es el *DO, que permite ejecutar un comando varias veces, por ejemplo: *DO, AAAA, 1, 5 ….. *ENDDO Este bucle ejecutar los comandos dentro del *DO y el *ENDDO y mientras tanto cambia los valores de AAAA de 1 a 5. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Diseño paramétrico 26 Comando de APDL Acción que ejecuta Consejos de uso Ejemplo *DO Define el comienzo de un bucle *DO. Los comandos siguiendo del comando *DO hasta el comando *ENDDO se ejecuta repitiéndose hasta que el control del bucle se satisfaga.  También se puede controlar el bucle mediante el comando *IF.  ANSYS permite hasta 20 niveles de bucles *DO.  *DO, *ENDDO, *CYCLE y *EXIT comandos en un bucle *DO deben leer todos del mismo fichero.  No se puede incluir selección mediante picado de ratón en un bucle *DO.  Se debe tener cuidado si se incluye /CLEAR en un bucle *DO. El /CLEAR no borrar el bucle *DO, pero si borra todos los parámetros, incluso los parámetros de control del mismo bucle *DO. Este problema se puede evitar utilizando los comandos *PARSEV para guardar y *PARRES para *DO,IMAT,1,100,1 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Diseño paramétrico 27 restaurar los parámetros. *ENDDO Termina el bucle *DO y empieza la acción del bucle. Para cada nivel de *DO hace falta un *ENDDO. *ENDDO *CYCLE Cuando ejecutando un bucle *DO, ANSYS evita todos los comandos dentro del *CYCLE y el *ENDDO y inicia el próximo bucle. Se puede utilizar el comando *CYCLE bajo condiciones con ayuda del bucle *IF. No aplicado *EXIT Sale del bucle *DO. El comando siguiendo del comando *ENDDO se ejecuta. Los comandos *EXIT y *DO para un bucle tienen que ser en el mismo fichero. Como el comando *CYCLE se puede ejecutar el comando *EXIT bajo condiciones con ayuda del comando *IF. No aplicado Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 34 2.4. La macro LAM_RUL.MAC Antes de ejecutar la macro se debe definir una base de datos de materiales y de geometrías. Después de crear la geometría y las condiciones del contorno se ejecuta la macro. La macro es independiente de estos datos y por eso muy versátil y puede utilizarse para diferentes cálculos. Para asegurar, que no quedan ficheros creados de una ejecución anterior de la macro, se borran los ficheros siguientes para evitar confusiones. El siguiente paso es la resolución del problema definido. Antes de poder hacerlo, la macro entra en el preprocesador y ejecuta la macro DEF_MAT Borra el fichero ECMIN.DAT Borra el fichero NUMEFA.DAT Borra el fichero RLIST.DAT Termina Entra al preprocesador Numera los elementos con el número de constante real Ejecuta la macro DEF_MAT Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 35 La macro DEF_MAT crea las propiedades de rigidez y resistencia de los materiales existentes en el modelo cuando ha fallado la matriz y cuando ha fallado la fibra. Se ha utilizado el criterio de degradación utilizado en la asignatura de Diseño de Materiales Compuestos” del Máster IMM. Luego, en la macro RNEW se aplica el criterio de degradación al problema. Dimensiona una tabla de materiales MATTABLA como un parámetro del tipo array Los dos variables siguientes, los factores de reducción, sirven para crear los materiales degradados. Para IMAT = 1 hasta 100 Lee un parámetro auxiliar de IMAT Si el parámetro auxiliar existe Lee las propiedades elásticas del material inicial IMAT Crea el material degradado JMAT Guarda las propiedades degradadas en JMAT Copia la tabla de datos a IMAT + 100 LAM_RUL.MAC DEF_MAT.MAC NRCON.MAC ITERACIONES, NUMEFA >0 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 36 Crea la tabla nueva MATTABLA Fin del bucle Si Fin del bucle Para Borra el parámetro auxiliar EE En el primer caso, se crea con ayuda del parámetro de degradación FACT_RED1 las propiedades elásticas del material JMAT con fallo en la matriz. En el segundo caso, se crea con ayuda del parámetro de degradación FACT_RED2 las propiedades elásticas del material JMAT con fallo en la fibra. En el útimo caso se utiliza los dos parámetros de degradación FACT_RED1 y FACT_RED2 para crear las propiedades elásticas del material JMAT con fallo en la fibra y matriz o con fallo a cortadura. Con los comandos TBCOPY y MATTABLA se copian los valores y se crean nuevas tablas de resistencias de los materiales que han fallado. Aunque la macro sólo aplica la primer opción de degradación, el programa está preparado para poder introducir fácilmente otros tipos de degradacion. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 37 Después de crear los materiales necesarios, se ha de definir el laminado a partir de los datos de las capas. Esto lo debería haber hecho el usuario antes de ejecutar la macro, pero aquí volvemos a definirlos para asegurar que ANSYS guarda todos los datos y criterios importantes para los pasos siguientes. Activa el KEYOPT 5 del elemento uno para el criterio de fallo en tensiones. Activa el KEYOPT 6 para que ANSYS guarde todos los resultados para todos los criterios de fallos. Activa el KEYOPT 8 para que ANSYS guarde los resultados para todas las capas. Antes de seguir aseguramos que todos los elementos están seleccionados. Se inicializa el parámetro EREAL en que luego guardamos valores importantes como la constante real, el código de fallo, el número de capas y otros. Para dimensionar bien el EREAL se evalúa el número total de elementos y se almacena en NTELEM, el número total de elementos. Selecciona todos los elementos Lee el número total de los elementos Inicializa el parámetro EREAL Llama a la macro NRCON Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 38 NRCON El paso siguiente es ejecutar la macro NRCON. Esta macro lee el número de conjuntos de constantes reales y los guarda en el vector VRCON. Si ya lo ha calculado antes (RNUM diferente a cero), no lo vuelve a hacer. Se comprime la numeración de las constantes reales iniciales (cuidado, porque se puede modificar la numeración de constantes reales iniciales conocida por el usuario, si no empiezan en 1 o si hay huecos en la numeración). Lee el número de constantes reales Lee el número de constantes reales más alto. Comprima la numeración de los conjuntos de propiedades reales iniciales. Después de salir del bucle, se borra AUXVEC. Borra VRCON Dimensiona el vector de conjunto de propiedades reales VRCON Dimensiona un vector auxiliar AUXVEC para guardar valores necesarios para el bucle siguiente. LAM_RUL.MAC DEF_MAT.MAC NRCON.MAC ITERACIONES, NUMEFA >0 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 39 Se busca los conjuntos de propiedades reales. IRCON es el número del constante real. Antes no se comprimían los conjuntos de propiedades reales y era necesario hacerlo de este modo. Ahora como están comprimidos, simplemente sería necesario un bucle. Sin embargo, se ha mantenido de este modo para poder manejar el caso en que el usuario no quiera comprimir los conjuntos para seguir manteniendo la numeración inicial. Borra el parámetro JCON Para IRCON =1 hasta RMAX Crea el parámetro RRAUX para asegurar que el material existe Si RRAUX mayor que 1 JCON = JCON + 1 Guarda la constante real en VRCON(JCON,1,1) Lee el número de capas de la constante real Guarda el número de capas en el vector VRCON(JCON,2,1) Guarda el número de capas el vector auxiliar. Selecciona un nuevo set de constantes reales Borra JELEM Lee el número máximo de los elementos de la constante real IRCON Para IELEM = 1 hasta MXELEM Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 40 Guarda el valor de IRCON de todos los elementos en el parámetro array EREAL(JELEM,1) Guarda el valor de IRCON de todos los elementos en el parámetro array EREAL(JELEM,2) Guarda un valor de control 0 en EREAL(JELEM,3) Guarda el número de capas en EREAL(JELEM,4) FIN del bucle para Se comprueba si sólo existen uno, o más conjuntos de constantes reales. Si sólo existe uno, guarda un código inicial INICOD como el número de la constante real más alta más uno y un código final FINCOD como el número de constante real menos 1 más 2 elevado al número de capas. Si JCON igual a 1 Guarda RMAX + 1 en INICOD Guarda RMAX - 1 + 2**NCAPAS en FINCOD Si no Guarda FINCOD + 1 en INICOD Guarda FINCOD - 1 + 2**NCAPAS en FINCOD Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 41 Fin del bucle Si Se guarda el código inicial INICOD en VRCON(JCON,3,1) Se guarda el código final FINCOD en VRCON(JCON,4,1). Fin del bucle Si Fin del bucle Para Crea el vector MM como el máximo del AUXVEC Guarda MM en MXCAPAS Borra AUXVEC Borra MM Borra ELEFAL Borra ELESEC Dimensiona con NTELEM y MXCAPAS el parámetro ELECOEF, el coeficiente de seguridad de cada elemento, como un parámetro del tipo array Dimensiona con NTELEM y MXCAPAS +1 el parámetro ELEFAL, el valor de fallo de cada elemento, como un parámetro del tipo array Con esto, se termina la macro NRCON. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 42 Antes de empezar el próximo bucle *DO hace falta crear las siguientes tres variables, CTFIN, KITER y MXKITER. El CTFIN es el parámetro de control para terminar los cálculos en la iteración siguiente. KITER define el valor inicial y el MXKITER el número máximo de iteraciones, es decir, se finalizan los cálculos si el parámetro CTFIN aún no se ha cambiado. Guarda un 0 en el parámetro CTFIN Guarda un 0 en el parámetro KITER Guarda un 10 en el parámetro MXITER Se empieza la iteración comprobando si el parámetro de control sigue siendo 0. En la primera iteración siempre es así porque lo acabamos de definir así. El CTFIN puede cambiar en dos casos: 1. Si el número de elementos fallados, NUMEFA (aun no definido) está igual a 0, es decir, que no se rompan más elementos, o 2. Si el número de iteraciones KITER esta mayor que MXKITER. Esto no puede ser el caso porque acabamos de definir estos dos parámetros. El parámetro EFAUX es un valor auxiliar de fallo del elemento. Será explicado más adelante cuando se utilice. Para KITER = 1 hasta MXITER Si CTFIN está igual a 0 LAM_RUL.MAC DEF_MAT.MAC NRCON.MAC ITERACIONES, NUMEFA >0 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 43 Guarda un el parámetro EFAUX, el valor auxiliar en el fallo del elemento. Selecciona todos los elementos ITERACIONES, NUMEFA >0 Sol Tsai-Wu Cambios a ultima iteracion Cambio del Tipo del Material Sol Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 50 Si no ha fallado ninguna capa el código debe ser el número de propiedad real inicial, tal como se ha definido antes de empezar este bucle *DO. Si el código no es igual al EREAL(JELEM,2), como definido antes en el macro NRCON, se ha roto el elemento. Se incrementa en 1 el NUMEFA, número de elemento fallado, se guarda el CODIGO del elemento fallado en EREAL(JELEM,2) para la siguiente iteración y se guarda un 1 en EREAL(JELEM,3) como parámetro del control que se ha roto este elemento. Si CODIGO está igual a INICOD – Guarda JRCON en CODIGO Fin del bucle SI Si CODIGO no está igual a EREAL(JEELEM,2) Incrementa el NUMEFA por 1 Guarda el CODIGO en EREAL (JELEM,2) Guarda 1 en EREAL(JELEM,3) Fin del bucle Si Fin del bucle Para Fin del bucle Para Fin del bucle Para Se termina el postprocesador Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 51 El siguiente paso es modificar el laminado. Se consigue esto cambiando los tipos de los materiales de los elementos que han fallado, pero solo en los elementos que han fallado. Se controla si se ha roto un elemento comprobando el parámetro NUMMEFA. Si el número de elementos fallados NUMEFA es mayor que 0. Para poder modificarlo se vuelva a entrar en el preprocesador. Se vuelva a elegir todos los elementos y con el comando *GET se lee el parámetro MXELEM, el número máximo de los elementos. Este valor se ha leído anteriormente en el macro NRCON, pero como ya han fallado elementos, el valor actual es diferente al primero. Si NUMEFA esta mayor que 0 Entra al preprocesador Selecciona todos los elementos Borra el JELEM ITERACIONES, NUMEFA >0 Sol Tsai-Wu Cambios a ultima iteracion Cambio del Tipo del Material NUMEFA > 0 Elementos EMODIF Sol Cambio del Tipo del Material NUMEFA > 0 Elementos RNEW.MAC Capas RMODIF EMODIF Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 52 Lee el número máximo de los elementos Se comprueba para todos los elementos si el valor del parámetro EREAL(JELEM,3) es igual a 1. Este significa, como se ha definido antes, que este elemento se ha roto. En este caso se ejecuta el macro RNEW. Para IELEM = 1 hasta MXELEM JELEM = JELEM + 1 Si EREAL(JELEM,3) está Igual a 0 Ejecuta la macro RNEW Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 53 Si se ha roto el elemento se ejecuta la macro RNEW. Esta macro define una nueva propiedad real en el elemento que se ha roto. Si el material ya existe, no se crea de nuevo. Se leen los datos del tipo de laminado del elemento considerado. En el parámetro EREAL(IELEM,1) está guardada la constante real inicial del elemento, en EREAL(IELEM,2) está guardada la constante real actual, en EREAL(IELEM,3) está guardado un 0 cuando no se ha roto el elemento o un 1 cuando se ha roto. En la primera iteración EREAL(IELEM,3) es igual a 1 ya que la macro RNEW lo ha impuesto así. En EREAL(IELEM,4) se guarda el número de capas del laminado. RNEW Variables globales: JELEM, EREAL(MXELEM,4) Si la constante real no existe Define el nuevo laminado ( número de constante real y número de capas ) Si el número de capas total es par NCAP <= ( Número de capas total -2 )/2 Si no Cambio del Tipo del Material NUMEFA > 0 Elementos RNEW.MAC Capas RMODIF EMODIF Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 54 NCAP <= ( Número de capas total – 1 )/5 Para ICAP = 1, hasta NCAP Lee el material de la capa 2 * ICAP - 1 de la constante real actual Lee el material de la capa 2 * ICAP de la constante real actual Define con comando de ANSYS R los materiales degradados Fin del bucle para Si el número total de capas es par Lee el material de la capa 2 * ICAP - 1 de la constante real actual Lee el material de la capa 2 * ICAP de la constante real actual Define con comando de ANSYS R los materiales degradados Si el número total de capas es impar Lee el material de la capa 2 * ICAP - 1 de la constante real actual Define con comando de ANSYS R los materiales degradados Fin de selección Fin de la macro RNEW Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 55 Después de ejecutar la macro RNEW, se modifica el elemento con el comando EMODIF y se guarda un 0 como EREAL(JELEM,3). De este modo el elemento modificado aparece como no roto y se vuelva a comprobarlo en la siguiente iteración. En el caso que se rompe de nuevo, se vuelva a ejecutar el macro RNEW y se vuelva a modificar el elemento. Modifica el elemento JELEM que se ha roto Guarda un 0 en EREAL(JELEM,3) Fin del bucle Si Fin del bucle Para Se sale del preprocesador y se vuelve al módulo de solución para resolver de nuevo el problema, pero ahora con los elementos modificados. Cambio del Tipo del Material NUMEFA > 0 Elementos RNEW.MAC Capas RMODIF EMODIF Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 56 El siguiente comando *ELSE, forma parte del bucle *IF,NUMEFA,GT,0,THEN. Si esta condición no se cumple, es decir, si NUMEFA es igual a 0 y no se ha roto ningún elemento, se guarda un 1 en el parámetro de control CTFIN. Si este valor de control esta igual a 1, en la siguiente iteración no se volverá a resolver el problema. Para saber cuántos cálculos son necesarios para resolver el problema hasta que no fallan más elementos, se guarda el valor de este iteración KITER en el parámetro CT1ITER. Si no Guarda un 1 en CTFIN Guarda el número actual de iteraciones en CT1ITER Fin del bucle Si Para que no se produzca un bucle infinito, si se llega al máximo de iteraciones MXKITER sin converger, también se guarda un 1 en el parámetro de control para terminar los cálculos. ITERACIONES, NUMEFA >0 Sol Tsai-Wu Cambios a ultima iteracion Cambio del Tipo del Material Sol Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 57 Si KITER esta mayor que MXKITER CTFIN = 1 Fin del bucle Si Fin del bucle Si Con los comandos siguientes se abre ( *CFOPEN ) un fichero nuevo llamado NUMEFA.dat y se añade (APPEND) los valores nuevos. Puesto que se va a añadir un nuevo valor sin sobrescribir el valor antiguo, en uno de los primeros pasos de la macro se borra el fichero por si ya existe de una ejecución previa. Con el comando *VWRITE se guarda las variables KITER y NUMEFA, el número de iteración actual y el número de elementos fallados. De este modo el fichero NUMEFA.dat permite al usuario revisar los avances de cada iteración, es decir cuántos elementos se rompen en cada iteración y también comprobar, si la macro se ha ejecutado correctamente. Abre un fichero NUMEFA.DAT y añade las informaciones siguientes Escriba el KITER y el NUMEFA *VWRITE,KITER,NUMEFA Cierra el fichero NUMEFA Si los cálculos se han ejecutado bien, a partir del valor de EFAUX, definido antes como el valor máximo de EFALLO, se obtiene el coeficiente de seguridad mínimo ECMIN de todos los elementos invirtiendo el EFAUX. Se resta a 100 el valor de ECMIN y se guarda en VOBJ. El VOBJ es el valor actual de la función objetivo. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 58 Si el valor absoluto de EFAUX esta mayor que 1.0e-8 Guarda la inversa de EFAUX en ECMIN Guarda 100 – ECMIN en VOB Se crea otro fichero ECMIN.dat con el número de iteración actual KITER y el coeficiente de seguridad mínimo de los elementos. Los ficheros ECMIN.dat y NUMEFA.dat permiten al usuario revisar los avances del análisis cada iteración, es decir, el cambio del coeficiente de seguridad en cada iteración y comprobar, si el macro se ha ejecutado correctamente. En la misma iteración en la que NUMEFA se pone 0, el coeficiente de seguridad mínimo debe superar 1. Abre un fichero ECMIN.DAT y añade las informaciones siguientes Escriba el KITER y el ECMIN Cierre el fichero ECMIN.Dat Si la condición anterior no se cumple, el parámetro ECMIN devuelve un valor de fallo 123456789. Si no Guarda 123456789 en ECMIN Fin del bucle Si Fin del bucle Para Hasta aquí se ejecuta el bucle *DO,KITER,1,MXKITER,1 bajo de la condición *IF,CTFIN,EQ,0,THEN. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación LAM_RUL.MAC 59 Se entra en el postprocesador, se selecciona todo y se muestra los resultados de la macro gráficamente. Como al principio de la macro esta puesto el comando PNUM,REAL,1 todos los elementos llevan el color de su constante real actual ( como máximo 11 colores ), pero es más importante el número de la constante real actual RCONACT. Si todos los elementos tienen asociado un valor de 1 en RCONACT, o el número de constante real de un elemento es mayor que el máximo número de propiedades reales inicialmente definidas en el problema, ninguno de los elementos ha fallado. Si todos los elementos tienen asociado un valor diferente de 1, es posible que todas las capas de todos los elementos hayan fallado, aunque no tiene porque ser necesariamente así. En este caso el número de constante real mostrado en los elementos RCONACT es igual a RMAX. Entra al postprocesador Selecciona todo PLDISP,0 El siguiente comando crea el fichero RLIST.dat con todas las constantes reales utilizadas. Esto es interesante para poder comprobar el estado de las cada capa de un elemento concreto e identificar si ha fallado. Guarda el siguiente Output en RLIST.DAT Alista todos los constantes reales Cierra el Output Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Verificación 66 El siguiente modelo se parece mucho al anterior. La única diferencia es, que esta placa está empotrada en los contornos de la derecha y de la izquierda, es decir, no se permite giros según Y en dichos contornos. La Ilustración 30 muestra el planteamiento del problema. Ilustración 30: Planteamiento: Placa con seis capas, “empotrado” por 2 lados La siguiente tabla muestra las constantes reales creadas por el macro. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Verificación 67 [0/45/-45]s [0/90/0]s R C1 C2 C3 C4 C5 C6 R C1 C2 C3 C4 C5 C6 1 0 0 0 0 0 0 1 0 0 0 0 0 0 33 0 0 0 0 0 1 34 1 0 0 0 0 1 34 1 0 0 0 0 1 36 1 1 0 0 0 1 36 1 1 0 0 0 1 40 1 1 1 0 0 1 50 1 0 0 0 1 1 50 1 0 0 0 1 1 58 1 0 0 1 1 1 60 1 1 0 1 1 1 62 1 0 1 1 1 1 64 1 1 1 1 1 1 Tabla 8: Constantes Reales de la placa con seis capas, empotrada por dos lados Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Verificación 68 A la derecha se ve el resultado de la ejecución de LAM_RUL con un laminado [0/45/-45]s, apoyado como explicado en la ilustración anterior. Se ve otra vez hay acoplamiento entre las capas 45º y -45º. Las columnas marcados con un 1 son elementos en los que no se ha roto ninguna capa. Ilustración 31: LAM_RUL; “empotrado” [0/45/-45]s Este ilustración muestra los tipos de laminados par el mismo problema con una placa con orientaciones [0/90/0]s. El resultado se parece otra vez a un material isótropo. En la parte inferior se ha puesto la deformada de la placa y se ve que en las líneas de inflexión (zonas de momento flector nulo) el laminado no ha fallado (constante R de laminado 1 que es el inicial). Ilustración 32: LAM_RUL; “empotrado” [0/90/0]s Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Verificación 69 A la derecha se ve el planteamiento con un laminado [0/90/0]s, pero esta vez apoyado en las cuatro líneas del contorno. R C1 C2 C3 C4 C5 C6 1 0 0 0 0 0 0 2 1 0 0 0 0 0 4 1 1 0 0 0 0 36 1 1 0 0 0 1 40 1 1 1 0 0 1 52 1 1 0 0 1 1 56 1 1 1 0 1 1 64 1 1 1 1 1 1 Tabla 9: Constantes Reales de la placa con seis capas, apoyada por cuatro lados Ilustración 33: Planteamiento: Placa con seis capas, apoyado por 4 lados El resultado no es exactamente simétrico porque el laminado no tiene igual número de capas a 0º que a 90º. En la zona central, con constante real 64, fallan todas las capas de los elementos ya que el momento flector es máximo. Alrededor de esta zona los elementos con constante real 56 rompen todas sus capas menos la cuarta. Ilustración 34: LAM_RUL; “apoyado” [0/90/0]s Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Verificación 70 A la derecha se ve el planteamiento de un laminado [0/90/0]s, pero esta vez empotrado en las cuatro líneas del contorno. Ilustración 35: Planteamiento: Placa con seis capas, empotrado por 4 lados EL resultado es casi simétrico. R C1 C2 C3 C4 C5 C6 1 0 0 0 0 0 0 2 1 0 0 0 0 0 4 1 1 0 0 0 0 33 0 0 0 0 0 1 34 1 0 0 0 0 1 36 1 1 0 0 0 1 40 1 1 1 0 0 1 49 0 0 0 0 1 1 50 1 0 0 0 1 1 51 0 1 0 0 1 1 56 1 1 1 0 1 1 58 1 0 0 1 1 1 59 0 1 0 1 1 1 62 1 0 1 1 1 1 Tabla 10: Constantes Reales de la placa con seis capas, empotrada por cuatro lados Ilustración 36: LAM_RUL; “empotrado” [0/90/0]s Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Modulo de evaluación Verificación 71 La Ilustración 37 muestra la velocidad de convergencia en los diferentes problemas estudiados y puede observarse que el procedimiento utilizado converge muy rápidamente. Ilustración 37: Velocidad de convergencia en distintos modelos 0 250 500 750 1000 1250 1500 1750 2000 2250 1 2 3 [0/45/-45] Apoayado en 2 lados [0/45/-45] Empotrado en 2 lados [0/90/0] Apoayado en 2 lados [0/90/0] Empotrado en 2 lados [0/90/0] Apoayado en 4 lados [0/90/0] Empotrado en 4 lados [0/90/0] Empotrado en 4 lados; opt NUMEFA Iteraciones Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Procedimiento 72 3. Optimización de diseño en Ansys7 3.1. Procedimiento Para obtener un diseño óptimo se puede utilizar técnicas de optimización. El diseño debe cumplir todas las condiciones y requisitos especificados, minimizando al mismo tiempo un factor o parámetro deseado. Estos parámetros pueden ser el peso, el volumen, las tensiones, espesores, formas, radios, geometrías, etc. Para poder minimizar estos parámetros, ANSYS requiere la definición de algunas variables y funciones. 3.1.1. Variables de optimización En ANSYS hay distintos tipos de variables de optimización. Estas se representan mediante parámetros definidos por el usuario:  Variables del diseño  Variables del estado  Función objetivo Para conseguir el diseño óptimo ANSYS necesita la definición de parámetros independientes, las Design Variables (DVs) o variables de diseño. ANSYS variará estas variables y comparará el efecto de la variación en el comportamiento del diseño. Hace falta establecer unos límites superior e inferior de las variables de diseño. Si las variables de diseño son ángulos, será aconsejable limitarlas desde 0° a 180°, si son espesores unos límites válidos desde un punto de vista práctico, por ejemplo en función de la geometría como el ancho. Hay que tener en cuenta, que ANSYS también maneja valores negativos. Por eso también pueden salir espesores negativos si los límites están mal elegidos. En un problema de optimización en ANSYS se puede definir hasta 60 variables de diseño. La definición de 7 Compara con [5] Release 11.0 Documentation for ANSYS Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Procedimiento 73 demasiadas variables de diseño puede resultar en tiempos de cálculos no manejables o un colapso del programa. Formula 12: Variables del diseño Se utiliza el formato OPVAR, Par, DV, límite inferior, límite superior, tolerancia. ANSYS también permite ejecutar una optimización con restricciones. Estas restricciones se pueden definir con las State Variables (SVs) o variables de estado. Estos parámetros no son independientes como las variables de diseño. Normalmente estas variables dependen de parámetros o valores que son función de las variables de diseño. Por esto también se llaman variables dependientes. Estos variables también pueden tener límites superior e inferior o sólo uno de los dos. Un ejemplo de variable del estado es la tensión total, que no debe superar cierto nivel para que no falle el material. Otra posibilidad son los coeficientes de seguridad. ANSYS permite definir hasta 100 variables de estado. Formula 13: Variables del estado Se utiliza el formato OPVAR, Par, SV, límite inferior, límite superior, tolerancia. Otra variable dependiente es la Objective Function o función objetivo. Este variable es diferente de las variables de estado, porque es la que el usuario desea minimizar y debe ser una función de las variables de diseño, para que, cuando se cambian estas variables, también cambie el valor de la función. El peso total puede ser la función objetivo o también las tensiones críticas. Se puede maximizar un valor minimizando el parámetro negativo, por ejemplo el coeficiente de seguridad. Solo se puede definir una función objetivo. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Procedimiento 74 Formula 14: Función objetivo Se utiliza el formato OPVAR, Par, OBJ,,,tolerancia. 3.1.2. Terminología de optimización del diseño en ANSYS Para entender mejor el proceso de optimización del diseño en ANSYS hace falta explicar más de la terminología. Un conjunto de parámetros de una configuración del problema se llama design o diseño. Este diseño es caracterizado por todas las variables de optimización, pero también de los otros parámetros del problema. Un diseño que cumple con todas las condiciones puestas con las variables del estado y también las del diseño se llama feasible design o diseño factible. Un infeasible design o diseño no factible es un diseño en lo que solo uno o más condiciones no son cumplidas. El diseño que cumple todas las condiciones con el valor de la función objetivo está marcado con estrellas en las lista de todos los diseños y llamado best design o diseño mejor/optimo. En el caso que todos los diseños no son factibles, el diseño que es más cera al ser factible es el óptimo, aunque no cumple todas o incluso ninguna de las condiciones. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Procedimiento 75 Ilustración 38: Comparación de un diseño y un diseño óptimo Un fichero de ANSYS de tipo input se llama analysis file o fichero de análisis. Este incluye el análisis completo del componente con preprocessor, solution y postprocessor y debe contener el modelo entero del problema con todos los parámetros y toda la información de entrada y salida, que luego podrá ser utilizada como variables de optimización. Un loopfile o fichero de iteración es automáticamente creado a partir del fichero de análisis y utilizado por las herramientas y procesos de optimización para realizar bucles de análisis. Un conjunto de ejecución de un ciclo de análisis se llama loop o iteración. Esto es como una ejecución entera de un fichero de análisis. En el fichero jobname.OPO se guarda el output de la última iteración realizada. Una o más iteraciones de análisis que resultan en un diseño nuevo se llaman optimizatión iteration o iteración de optimización o simplemente iteración. Normalmente un nuevo diseño esta creado por una sola iteración, pero en el first order method o método de primer orden necesita más que una iteración. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización First Order Method 82  El cambio en la función objetivo del diseño anterior al diseño actual es menor que la tolerancia de la función objetivo. 3.2.2.2. Consideraciones especiales para el método de primer orden El método de primer orden requiere más esfuerzo computacional pero es más preciso que el método de la aproximación mediante sub-problemas. Aunque este método es más preciso no siempre llega a la solución óptima. Hay que tener cuidado en las siguientes situaciones:  El método de primer orden puede convergir a un diseño no factible. Probablemente se ha encontrado un mínimo local en este caso o no hay ningún espacio de diseño factible. Para obtener soluciones mejores es aconsejable ejecutar un análisis de la aproximación de subproblema. También se puede buscar un espacio del diseño factible generando diseños aleatorios ( OPTYPE,RAND ) y luego utilizar estos como punto de partida para el método de primer orden.  Como el método de primer orden empieza en un punto existente y va buscando el mínimo en el espacio del diseño, es más probable encontrar un mínimo local. Esto suele pasar si el punto inicial está más cerca de mínimo local que del mínimo global. En este caso, también es aconsejable ejecutar un análisis de la aproximación de sub-problema o una generación aleatoria de diseño. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización First Order Method 83 9 Ilustración 40: Mínimo local / Mínimo Global  Un número alto de iteraciones y un coste computacional alto puede ser el resultado de una tolerancia de la función objetivo demasiado pequeña. 9 ANSYS help file, Design optimization,Capitulo 1. ilustracion 1.4, Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Comparación de métodos 84 3.2.3. Comparación de métodos de optimización Para evaluar los dos métodos se compara los resultados de una optimización de un problema. El problema elegido es la geometría “triangular” visto en la Ilustración 38 del tema 3.1.2. El planteamiento exacto y las unidades son menos importantes puesto que sólo se quiere comparar el proceso y los resultados. Las variables de diseño son el espesor T1 con un límite inferior de 20,5 y un límite superior de 40 y el radio interior FIL con un límite inferior de 5 y un límite superior de 15. La variable del estado es la tensión máxima equivalente de Von Mises SMAX sin límite inferior y con un límite superior de 150. Se minimiza el volumen total VTOT con una tolerancia de 1. OPVAR,T1,DV,20.5,40 OPVAR,FIL,DV,5,15 OPVAR,SMAX,SV,,150 OPVAR,VTOT,OBJ,,,1 En la Tabla 11, la Ilustración 41 y la Ilustración 42 de la página siguiente se muestran los resultados. Los valores de las variables de diseños óptimos están subrayados mientras que los de diseños no factibles están en cursiva. Los diseños no factibles superan el valor máximo de la restricción. El diseño optimo del método de la aproximación del sub-problema también supera este valor, pero queda dentro de la tolerancia especificada. En comparación al método del primer orden, el método de aproximación parece más aleatorio que sistemático, sin embargo llega a un resultado muy parecido al correcto, como puede verse en la parte superior de la tabla y en la Ilustración 41. El procedimiento del método de primer orden es más fácil de comprender, disminuye el espesor al valor mínimo y baja sistemáticamente el radio interior hasta llegar al valor máximo de tensión, como puede verse en la parte inferior de la tabla y la Ilustración 42. Aunque este método parece más lógico, lleva más riesgo de encontrar un mínimo local, explicado en el punto anterior. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Comparación de métodos 85 Variable Tipo Set 1 Set 2 Set 3 Set 4 Set 5 Set 6 Set 7 Set 8 Set 9 Set 10 Set 11 Set 12 Método de aproximación del sub-problema SMAX SV 56,304 124,81 59,444 54,579 115,69 154,10 124,16 155,70 126,95 141,35 147,60 150,18 T1 DV 30,000 37,020 28,066 30,982 22,683 21,278 22,304 21,015 21,795 20,857 20,623 20,563 FIL DV 10,000 9,5719 11,924 11,179 6,4033 5,3410 6,1850 5,6886 6,6032 6,6558 6,5326 6,5001 VTOT OBJ 22.967 24.640 22.503 23.377 19.461 18.503 19.221 18.380 18.975 18.409 18.242 18.199 Método del primer orden SMAX SV 56,304 117,20 135,00 130,87 141,92 142,62 146,81 147,19 147,66 147,95 148,41 T1 DV 30,000 20,500 20,500 20,500 20,500 20,500 20,500 20,500 20,502 20,502 20,502 FIL DV 10,000 9,2883 7,5914 7,3652 7,0201 6,8380 6,7452 6,7080 6,6717 6,6508 6,6156 VTOT OBJ 22.976 18.578 18.317 18.284 18.233 18.207 18.193 18.188 18.184 18.181 18.176 Tabla 11: Comparación de métodos de optimización Ilustración 41: Método de la aproximación del sub-problema Ilustración 42: Método del primer orden T1 FIL SMAX 0 20 40 60 80 100 120 140 160 0 5 10 15 20 25 30 35 40 1 2 3 4 5 6 7 8 9 10 11 12 T1 FIL SMAX 0 20 40 60 80 100 120 140 160 0 5 10 15 20 25 30 35 40 1 2 3 4 5 6 7 8 9 10 11 12 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Variables de la optimización 86 3.2.4. Herramientas de optimización Además de los métodos de optimización, ANSYS ofrece herramientas que se puede utilizar para mejorar el proceso de diseño. Se puede realizar varias iteraciones aleatorias de diseño y utilizar estos datos iniciales como puntos del inicio para los métodos anteriormente explicados. Para medir y entender el espacio de diseño de un problema, ANSYS tiene ciertas herramientas de optimización. La función objetivo solamente permite minimizar o maximizar un parámetro, estas herramientas no requieren esta función objetivo o las variables de estado, sino solo las variables de diseño. ANSYS ofrece cinco herramientas. La primera realiza una sola iteración y produce una solución de análisis de elementos finitos. El llamado Single Loop Run, o ejecución de una iteración, permite, utilizando múltiples ejecuciones con variables del diseño cambiados, estudios de “y si”. Otra herramienta que utiliza varias iteraciones es el Random Design Generation o generación de diseño aleatorio. Se puede definir un número máximo de iteraciones y un número de iteraciones factibles. En cada iteración se cambia aleatoriamente los variables de diseño. Esta herramienta es muy útil para estudiar el espacio del diseño y establecer diseños factibles. Una herramienta que empieza con un diseño de referencia, generando varias secuencias de diseño, se llama Sweep Generation o generación de barrido. Utilizando incrementos uniformes de las variables de diseño, esta herramienta cambia solo una variable en cada iteración. Se pueden evaluar la función objetivo y las variables de estado con ayuda de esta herramienta. El Factorial Evaluation o evaluación factorial es una herramienta estadística. Se generan diseños variando las variables de diseño en sus combinaciones extremas. Esta técnica utiliza análisis total o fraccional factoriales como la tecnología conocida como design of experiment o diseño de experimentos. Con la evaluación factorial se puede estudiar las variables dependientes, la función objetivo y las variables de estado, sus efectos básicos y los efectos de sus interacciones. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Variables de la optimización 87 La última herramienta suministrada por ANSYS es el Gradient Evaluation o evaluación del gradiente que permite al usuario definir un diseño de referencia y calcula con respecto a las variables de diseño los gradientes de la función objetivo y las variables de estado. De este modo se puede estudiar sensibilidades locales de diseño. Además también se puede definir herramientas propias con el User-supplied Design Tool. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Variables de la optimización 88 3.3. Elección de las variables de la optimización Cualquier variable de optimización debe ser positiva. Si la iteración del diseño empieza con una variable, por ejemplo un ángulo, negativo, el diseño es no factible y el valor se cambia en la próxima iteración por un valor positivo en el rango permitido. 3.3.1. Elección de las variables del diseño Las variables de diseño son valores restrictivamente positivos como parámetros de geometría, por ejemplo longitudes, espesores, diámetros o coordenadas y también ángulos: Hay que tener en cuenta algunos aspectos:  Demasiados variables de diseño aumentan la posibilidad de encontrar un mínimo local en vez de un mínimo global o en el caso de un problema altamente no linear incluso la posibilidad de divergencia. Por eso se debe utilizar el menor número posible de variables de diseño. Más variables aumentan también el coste computacional. Para baja el número de variables se puede utilizar una técnica llamada design variable linking o enlace de variables de diseño.  Un rango demasiado alto de los variables del diseño puede resultar en una representación mala del espacio del diseño, un rango demasiado bajo puede excluir el diseño óptimo. Como solo se permite valores positivos, se debe definir un límite superior.  Hay que elegir variables del diseño que permitan encontrar un diseño óptimo válido desde el punto de vista práctico. Se puede, por ejemplo, elegir la longitud de una geometría para minimizar el peso o el volumen. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Variables de la optimización 89 3.3.2. Elección de las variables del estado Normalmente el diseño está restringido por cantidades de repuesta. Estos son las variables de estado, como tensiones, deformaciones, temperaturas, frecuencias, energía adsorbida, tiempo, y muchas más. En teoría cualquier parámetro puede ser definido como variable de estado, no solamente cantidades calculadas por ANSYS. Hay que tener en cuenta algunos aspectos:  ANSYS nunca interpreta como límite inferior o superior un cero, sino que debe haber límite mínimo o máximo no nulo. Tanto las variables de diseño como las de estado toman sólo valores positivos.  Para restringir el diseño correctamente hay que definir suficientes variables de estado. Como el diseño cambia en cada iteración, también lo hacen la posición y la tensión máxima. Por eso no es aconsejable en un análisis de tensiones elegir solo la tensión máxima como variable de estado. Tampoco es aconsejable definir demasiados variables de estado.  Si es posible, se deben elegir variables del estado que tengan una relación linear o cuadrática con las variables de diseño con el método de la aproximación de sub-problemas. Un ejemplo: en un triangulo rectángulo, donde las variables de diseño pueden ser las longitudes a y b, la variable de estado la superficie del triangulo A, como A = ½ ab.  Hay que especificar un rango razonable, es decir ni demasiado grande, ni demasiado pequeño, cuando la variable de estado tiene límite inferior y superior para poder encontrar un diseño factible. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización Variables de la optimización 90 3.3.3. Elección de la función objetivo La cantidad que se quiere minimizar o maximizar es la función objetivo. Hay que tener en cuenta algunos aspectos eligiendo esta función:  ANSYS solo permite minimizar una función objetivo y como se ha indicado antes, todos las variables de optimización, la función objetivo incluida, debe ser positivas. Por lo tanto, no se puede utilizar el planteamiento usual para maximizar el parámetro x, de: min x1 = -x. En el optimizador de ANSYS existen dos conceptos para maximizar: x1 = Y – x ( Y siendo un valor mucho mayor que x ) o x1 = 1/x. El primer concepto es preferible puesto que x también puede ser igual a cero y la utilización de la inversa es menos precisa con el método de subproblemas.  Para evitar problemas numéricos la función objetivo debe permanecer positiva. Para asegurar esto se puede tomar Y mucho mayor a x en el primer planteamiento. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Optimización LAM_RUL_OPT.MAC 91 3.4. La macro LAM_RUL_OPT.MAC En esta macro se utiliza el método de aproximación de sub-problema, porque esta puede ser aplicada a la mayoría de problemas ingenieriles y tiene menos coste computacional. Por eso la macro sirve para la mayoría de usuarios. Con la macro se intenta maximizar el coeficiente de seguridad mínimo en los elementos por variación de las orientaciones de las capas. Antes de ejecutar esta macro debe ejecutarse la macro LAM_RUL. Para asegurar, que no quedan ficheros creados por una ejecución anterior de la macro, se borran algunos ficheros. Se entra en el optimizador y se llama al fichero AFOPT, que se acaba de crear en la macro LAM_RUL. Como se ha explicado antes, ANSYS sólo permite definir variables positivas para obtener diseños factibles. Esto tiene sentido si se quiere modificar valores de geometria como longitudes, espesores, etc. Sin embargo , en el caso presente, se quiere modificar los orientaciones de las capas representados por los angulos TETA1 a TETA3. Los ángulos si que pueden tomar valores negativos, por ejemplo [0/-45/45]s o [30/-30]s. Para emepzar con un diseño factible hay que asegurar que estos angulos tienen valores positivos. Esto se consigue con los bucles *IF siguientes. LAM_RUL_OPT.MAC Preparacion Ejecuccion Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Placa con tres capas 98 SET 2 SET 3 SET 4 SET 5 SET 6 SET 7 SET 8 SET 9 SET 10 SET 11 SET 12 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 152.49 124.63 152.61 57.653 125.13 173.93 172.15 43.547 12.084 10.587 12.643 TETA2 DV 82.294 96.761 0.60020 142.69 12.602 113.70 144.76 0.41189 0.37420 65.486 0.37813 TETA3 DV 69.839 111.23 84.438 104.78 62.511 27.162 84.201 153.37 104.49 159.33 147.44 VOBJ OBJ 99.889 99.860 97.173 99.785 99.434 99.635 99.794 97.064 97.185 99.678 96.850 SET 13 SET 14 SET 15 SET 16 SET 17 SET 18 SET 19 *SET 20* (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 37.717 35.313 10.071 0.49614 0.40270 0.40208 0.37572 0.36948 TETA2 DV 0.37172 0.37143 0.36481 0.36481 136.63 0.36481 0.36481 0.36481 TETA3 DV 138.46 173.00 177.95 179.19 179.51 179.52 179.61 179.63 VOBJ OBJ 97.004 96.436 96.204 96.172 99.243 96.167 96.166 96.166 Tabla 12: Placa_c3: Diseños de optimización Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Placa con seis capas 99 4.2. Placa con seis capas El modelo placa_c6_sfa es una placa cuadrada definida por las coordenadas: K1 = (0;0), K2 = (1;0), K3 = (1;1), K4 = (0;1). Se utiliza un laminado inicial [0/90/0]s con espesores T1,T2 y T3 = 2,12e-3. Sobre todo el área se aplica una presión distribuida 1.1e6. Se ha planteado el problema de optimizar las orientaciones de dicha placa para que la resistencia a rotura de la última lámina sea máxima. A la derecha se ve el resultado de la optimización. Las orientaciones optimas de este laminado son [48,440/19,747/117,43]. La Tabla 15 muestra todos los diseños de la optimización. Ilustración 46: LAM_RUL_OPT: “empotrado” [0/90/0]s -> [48,4/19,7/117,4/] Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Placa con seis capas 100 R C1 C2 C3 C4 C5 C6 R C1 C2 C3 C4 C5 C6 1 0 0 0 0 0 0 50 1 0 0 0 1 1 2 1 0 0 0 0 0 51 0 1 0 0 1 1 4 1 1 0 0 0 0 52 1 1 0 0 1 1 8 1 1 1 0 0 0 54 1 0 1 0 1 1 16 1 1 1 1 0 0 56 1 1 1 0 1 1 18 1 0 0 0 1 0 57 0 0 0 1 1 1 33 0 0 0 0 0 1 58 1 0 0 1 1 1 34 1 0 0 0 0 1 59 0 1 0 1 1 1 36 1 1 0 0 0 1 60 1 1 0 1 1 1 40 1 1 1 0 0 1 61 0 0 1 1 1 1 48 1 1 1 1 0 1 62 1 0 1 1 1 1 49 0 0 0 0 1 1 64 1 1 1 1 1 1 Tabla 13: Constantes Reales del diseño óptimo de la placa con seis capas, empotrado por cuatro lados El número de constantes reales se ha aumentado de 14 después de la ejecución de la macro LAM_RUL a 24. Se nota que se ha utilizado casi todos los posibles constantes entre 48 y 64. Los números altos no implican que se han roto muchas capas, pero a partir del 33 se rompe la capa 6 – la más lejana de la fuera aplicada - en todas las constantes reales. ECMIN inicial ECMIN optimizado 1.08065683 1.48614855 Tabla 14: Coeficiente de seguridad mínimo antes y después de la optimización En la tabla 9 se muestran los coeficientes de seguridad antes y después de la optimización. Antes de la optimización el laminado de la Ilustración 46 tiene las orientaciones [0/90/0]s. El ECMIN inicial es 1,08065683 con un número total de capas de elementos rotas de 988. La optimización con la macro LAM_RUL_OPT cambia las orientaciones de las capas de [0/90/0]s a [48,4/19,7/117,4]s. Con estos ángulos solo se rompen 1602 capas en los elementos, más capas que con ángulos no optimizados que eran 992. El ECMIN en este caso es 1,48614855, casi el doble del coeficiente de seguridad inicial. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Placa con seis capas 101 SET 2 SET 3 SET 4 SET 5 SET 6 SET 7 SET 8 SET 9 SET 10 SET 11 SET 12 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 152.52 124.68 152.64 57.774 125.18 12.631 83.142 62.461 61.908 17.196 141.38 TETA2 DV 82.391 96.844 0.77860 142.73 12.768 36.510 171.69 93.555 78.545 20.753 159.20 TETA3 DV 69.949 111.29 84.533 104.86 62.628 157.28 158.91 29.793 85.437 70.160 21.367 VOBJ OBJ 98.958 98.912 98.971 98.907 98.950 98.917 98.964 98.901 98.722 98.877 98.808 SET 13 SET 14 SET 15 SET 16 SET 17 SET 18 SET 19 SET 20 SET 21 SET 22 *SET 23* (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 81.549 49.045 71.072 70.816 61.011 53.230 52.397 47.684 42.173 47.575 48.440 TETA2 DV 62.322 21.668 55.764 57.524 48.726 56.136 47.956 50.632 54.299 31.556 19.747 TETA3 DV 61.894 112.42 151.02 148.81 129.41 122.82 122.18 117.35 114.17 161.53 117.43 VOBJ OBJ 98.910 98.537 98.989 98.970 98.965 98.975 98.946 98.898 98.878 98.646 98.514 SET 24 SET 25 SET 26 SET 27 SET 28 SET 29 SET 30 SET 31 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 44.569 61.322 60.397 13.648 37.749 59.922 60.397 59.654 TETA2 DV 53.004 38.808 39.268 76.184 24.747 37.654 39.268 37.382 TETA3 DV 139.08 107.38 108.36 137.21 126.09 119.52 108.36 119.46 VOBJ OBJ 98.843 98.984 99.000 98.936 98.946 98.997 99.000 98.997 Tabla 15: “empotrado” [0/90/0]s: Diseños de optimización Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Cúpula 102 4.3. Cúpula El modelo de cúpula esférica de radio 5 m esta construido con un laminado con seis capas. Los espesores son T1,T2 y T3 = 1,5e-3, la orientación de las capas son [90/0/90]s y se aplica una carga vertical asociada a la placa mediante una densidad equivalente de 3e3. No se permite movimientos de las líneas 5, 6, 7 y 8 en las direcciones radial y vertical. Sobre todo el área se aplica una fuerza de presión de 1.2e6 y la aceleración de gravedad. La Ilustración 47 muestra el planteamiento del problema, en el anexo, bajo 8.7, se encuentra el fichero del planteamiento. En la Ilustración 48 se ve la cúpula después de la ejecución del la macro LAM_RUL. La constante real ha cambiado en la mayoría del área de 9 a 1. En las zonas de concentración de tensiones hay un cambio de constantes reales que indica una degradación por fallo de algunos elementos. En este problema también hay elementos que se rompan en diferentes iteraciones. El ECMIN de la primera iteración es 0,917824375 y el NUMEFA es 464, el ECMIN de la segunda iteración es 0, 998953805 y se rompen 24 capas en elementos más. El último coeficiente de seguridad final ECMIN es 1.00009427 La optimización con la macro LAM_RUL_OPT cambia las orientaciones de las capas de [90/0/90]s a [125,13/12,602/62,511]s o bien [130/10/60]s ). La constante real utilizada con estos ángulos es la una, quiere decir que ninguno de los elementos ha roto. El ECMIN es 1,05470378 en todas las iteraciones, esto es 1,149 veces mejor que la primera y 1,055 veces mejor que la última iteración no optimizada. El NUMEFA es igual a 0 lo que indica que en la última iteración no se han roto ninguna capa y el procedimiento ha convergido. Tabla 17 muestra todos los diseños del optimizador. Se puede mejorar mucho los resultados de la optimización modificando los límites de las variables de diseño a los valores esperados. La Tabla 18 muestra los diseños con TETA1 restringido de 0° a 60°, TETA2 de 60° a 120° y TETA3 de 120° a 180° grados. Con estos límites encontrar las orientaciones óptimas resulta menos costoso. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Cúpula 103 Ilustración 47: Cúpula: Planteamiento Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Cúpula 104 Ilustración 48: Cúpula: LAM_RUL R c1 c2 c3 c4 c5 c6 1 0 0 0 0 0 0 3 0 1 0 0 0 0 17 0 0 0 0 1 0 19 0 1 0 0 1 0 Tabla 16: Constantes Reales de la cúpula Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Cúpula 105 Ilustración 49: Cúpula: LAM_RUL_OPT Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Cúpula 106 SET 2 SET 3 SET 4 SET 5 *SET 6* SET 7 SET 8 SET 9 SET 10 SET 11 SET 12 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 152.49 124.63 152.61 57.653 125.13 26.722 110.74 127.59 107.19 129.95 117.14 TETA2 DV 82.294 96.761 0.60020 142.69 12.602 34.624 29.989 138.25 29.590 35.371 28.412 TETA3 DV 69.839 111.23 84.438 104.78 62.511 18.943 147.17 17.792 77.129 13.187 76.737 VOBJ OBJ 99.099 99.648 98.998 99.000 98.945 99.586 99.291 99.344 98.992 99.366 98.962 SET 13 SET 14 SET 15 SET 16 SET 17 SET 18 SET 19 SET 20 SET 21 SET 22 SET 23 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 35.869 82.968 165.57 25.598 94.077 96.156 96.618 95.162 96.781 98.585 99.273 TETA2 DV 128.53 74.085 47.102 138.45 75.118 72.778 75.994 74.998 73.629 69.645 72.725 TETA3 DV 19.689 68.862 17.568 61.003 68.436 68.156 68.200 68.476 68.306 68.509 68.518 VOBJ OBJ 99.032 99.708 99.454 98.971 99.723 99.727 99.723 99.724 99.726 99.729 99.727 SET 24 SET 25 (FEASIBLE) (FEASIBLE) TETA1 DV 98.499 96.061 TETA2 DV 69.842 70.802 TETA3 DV 68.383 68.902 VOBJ OBJ 99.729 99.729 Tabla 17: Cúpula: Diseños de optimización con limites 0 - 180/0 - 180/0 - 180 Los resultados parecen lógicos. Los cambios de las orientaciones a [125,1/12,6/62,5]s son próximos a las orientaciones esperadas [ϑ/ ϑ +60/ ϑ+120]s. La constante real 1, el ECMIN mayor que 1 y el NUMEFA igual a 0 son coherentes y confirman que la macros se han ejecutados bien. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Verificación Cúpula 107 SET 2 SET 3 SET 4 SET 5 SET 6 SET 7 SET 8 SET 9 SET 10 SET 11 SET 12 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 50.840 41.561 50.880 19.258 41.727 42.113 52.018 29.251 19.373 95.125 47.266 TETA2 DV 87.431 92.254 60.200 107.56 64.200 116.76 117.23 116.83 85.964 66.817 65.347 TETA3 DV 143.28 157.08 148.15 154.93 140.84 172.42 172.96 150.55 150.93 173.91 147.72 VOBJ OBJ 98.999 98.977 99.000 98.961 98.998 99.432 99.428 98.996 98.743 99.299 98.921 SET 13 SET 14 SET 15 SET 16 SET 17 SET 18 SET 19 SET 20 SET 21 SET 22 SET 23 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 56.374 55.073 23.489 25.886 24.934 24.912 24.886 24.948 24.869 24.277 71.714 TETA2 DV 66.112 110.70 80.623 78.312 79.395 79.183 79.098 79.153 79.190 81.595 111.85 TETA3 DV 159.84 131.78 150.30 150.29 149.70 149.73 149.72 149.69 149.71 148.73 127.82 VOBJ OBJ 98.997 99.327 98.650 98.746 98.685 98.693 98.695 98.694 98.691 98.578 99.352 SET 24 SET 25 SET 26 SET 27 SET 28 SET 29 *SET 30* SET 31 SET 32 SET 33 SET 34 (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) (FEASIBLE) TETA1 DV 70.359 16.787 24.551 28.794 12.945 28.851 25.348 24.057 33.480 25.173 25.088 TETA2 DV 110.40 104.05 84.877 88.201 90.471 89.781 85.127 73.010 95.794 85.633 85.524 TETA3 DV 128.29 134.20 147.16 142.55 145.58 144.94 145.52 135.56 143.80 144.31 144.45 VOBJ OBJ 99.328 98.970 98.515 98.965 98.805 98.991 98.471 98.872 98.918 98.999 99.000 Tabla 18: Diseños de optimización con limites 0-60/60-120/120-180 Los resultados son mucho mejores que los anteriores, gracias a los límites refinados. Los cambios de las orientaciones a [25,3/85,1/145,5]s coinciden con las orientaciones esperadas [ϑ/ ϑ +60/ ϑ+120]s. El ECMIN optimizado se mejora de 1,055 a 1,529, lo que confirma que la solución obtenida antes era un mínimo local. Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Bibliografía 114 7. Bibliografía [1] Diapositivas de la asignatura “Diseño de materiales compuestos” del DIMM, Tema 5: Análisis de laminados, Teoría Clásica de Laminados [2] Diapositivas de la asignatura “Diseño de materiales compuestos” del DIMM, Tema 7: Criterios de fallo de lámina unidireccional bajo tensiones multiaxiales [3] Diapositivas de la asignatura “Diseño de materiales compuestos” del DIMM, Tema 8: Resistencia de laminados [4] Release 11.0 Documentation for ANSYS -> ANSYS Parametric Design Language [5] Release 11.0 Documentation for ANSYS -> Advanced Analysis Techniques Guide -> Design Optimizacion Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 115 8. Anexo 8.1. Macro DEF_MAT sin comentarios *DIM,MATTABLA,ARRAY,100,4,1 FACT_RED1 = 1.0E-7 FACT_RED2 = 1.0E-7 *DO,IMAT,1,100,1 *GET,EE,EX,IMAT,TEMP,20 *IF,EE,GE,1,THEN *GET,EXK,EX,IMAT,TEMP,20 *GET,EYK,EY,IMAT,TEMP,20 *GET,EZK,EZ,IMAT,TEMP,20 *GET,NUXYK,NUXY,IMAT,TEMP,20 *GET,NUYZK,NUYZ,IMAT,TEMP,20 *GET,NUXZK,NUXZ,IMAT,TEMP,20 *GET,GXYK,GXY,IMAT,TEMP,20 *GET,GYZK,GYZ,IMAT,TEMP,20 *GET,GXZK,GXZ,IMAT,TEMP,20 JMAT = IMAT+100 MP,REFT,JMAT,20 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 116 MP,EX,JMAT,EXK MP,EY,JMAT,FACT_RED1*EYK MP,EZ,JMAT,EZK MP,NUXY,JMAT,FACT_RED1*NUXYK MP,NUYZ,JMAT,NUYZK MP,NUXZ,JMAT,NUXZK MP,GXY,JMAT,FACT_RED1*GXYK MP,GYZ,JMAT,GYZK MP,GXZ,JMAT,GXZK JMAT = IMAT+200 MP,REFT,JMAT,20 MP,EX,JMAT,FACT_RED2*EXK MP,EY,JMAT,EYK MP,EZ,JMAT,EZK MP,NUXY,JMAT,FACT_RED2*NUXYK MP,NUYZ,JMAT,NUYZK MP,NUXZ,JMAT,NUXZK MP,GXY,JMAT,FACT_RED2*GXYK MP,GYZ,JMAT,GYZK Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 117 MP,GXZ,JMAT,GXZK JMAT = IMAT+300 MP,REFT,JMAT,20 MP,EX,JMAT,FACT_RED2*EXK MP,EY,JMAT,FACT_RED2*EYK MP,EZ,JMAT,EZK MP,NUXY,JMAT,FACT_RED2*NUXYK MP,NUYZ,JMAT,NUYZK MP,NUXZ,JMAT,NUXZK MP,GXY,JMAT,FACT_RED2*GXYK MP,GYZ,JMAT,GYZK MP,GXZ,JMAT,GXZK TBCOPY,ALL,IMAT+100,IMAT TBCOPY,ALL,IMAT+200,IMAT TBCOPY,ALL,IMAT+300,IMAT MATTABLA(IMAT,1,1) = IMAT MATTABLA(IMAT,2,1) = 100+IMAT MATTABLA(IMAT,3,1) = 200+IMAT MATTABLA(IMAT,4,1) = 300+IMAT *ENDIF Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 118 *ENDDO Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 119 8.2. Macro NRCON sin comentarios *IF,RNUM,EQ,0,THEN NUMCMP,REAL *GET, RNUM, RCON, 0, NUM, COUNT, *GET, RMAX, RCON, 0, NUM, MAX VRCON = *DIM,AUXVEC,ARRAY,RNUM,1,1 *DIM,VRCON,ARRAY,RNUM,4,1 JCON=0 *DO,IRCON,1,RMAX,1 *GET, RRAUX, RCON, IRCON, CONST, 1, *IF,RRAUX,GE,1,THEN JCON = JCON + 1 VRCON(JCON,1,1) = IRCON *GET,NCAPAS,RCON,IRCON,CONST,1 VRCON(JCON,2,1) = NCAPAS AUXVEC(JCON,1,1) = NCAPAS ESEL,S,REAL,,IRCON JELEM=0 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 120 *GET,MXELEM,ELEM,0,COUNT *DO,IELEM,1,MXELEM,1 JELEM = ELNEXT(JELEM) EREAL(JELEM,1) = IRCON EREAL(JELEM,2) = IRCON EREAL(JELEM,3) = 0 EREAL(JELEM,4) = NCAPAS *ENDDO *IF,JCON,EQ,1,THEN INICOD = RMAX + 1 FINCOD = RMAX - 1 + 2**NCAPAS *ELSE INICOD = FINCOD + 1 FINCOD = FINCOD - 1 + 2**NCAPAS *ENDIF VRCON(JCON,3,1) = INICOD VRCON(JCON,4,1) = FINCOD *ENDIF *ENDDO Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 121 *VOPER, MM, AUXVEC, MAX MXCAPAS=MM(1,1) *DIM,ELECOEF,ARRAY,NTELEM,MXCAPAS,1 *ENDIF AUXVEC= MM = ELEFAL= ELESEC= *DIM,ELEFAL,ARRAY,NTELEM,MXCAPAS,1 *DIM,ELESEC,ARRAY,NTELEM,MXCAPAS+1,1 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 122 8.3. Macro RNEW sin comentarios RCONINI = EREAL(JELEM,1) RCONACT = EREAL(JELEM,2) CAPAS = EREAL(JELEM,4) *GET, RRAUX, RCON, RCONACT, CONST, 1, *IF,RRAUX,LT,1,THEN R,RCONACT,CAPAS,0,0,0,0,0 NCAP=NINT(CAPAS/2) *DO,ICAP,1,NCAP-1,1 ICONST=12+6*(ICAP-1)+1 *GET,IMAT1,RCON,RCONINI,CONST,ICONST IRCAP = 2*(ICAP-1)+1 *IF,ELEFAL(JELEM,IRCAP,1),EQ,0,THEN MAT1 = MATTABLA(IMAT1,1,1) *ELSEIF,ELEFAL(JELEM,IRCAP,1),EQ,1,THEN MAT1 = MATTABLA(IMAT1,2,1) *ELSEIF,ELEFAL(JELEM,IRCAP,1),EQ,2,THEN MAT1 = MATTABLA(IMAT1,3,1) *ENDIF Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 123 ICONST=12+6*(ICAP-1)+2 *GET,TECTA1,RCON,RCONINI,CONST,ICONST ICONST=12+6*(ICAP-1)+3 *GET,TC1,RCON,RCONINI,CONST,ICONST ICONST=12+6*(ICAP-1)+4 *GET,IMAT2,RCON,RCONINI,CONST,ICONST IRCAP = 2*(ICAP-1)+2 *IF,ELEFAL(JELEM,IRCAP,1),EQ,0,THEN MAT2 = MATTABLA(IMAT2,1,1) *ELSEIF,ELEFAL(JELEM,IRCAP,1),EQ,1,THEN MAT2 = MATTABLA(IMAT2,2,1) *ELSEIF,ELEFAL(JELEM,IRCAP,1),EQ,2,THEN MAT2 = MATTABLA(IMAT2,3,1) *ENDIF ICONST=12+6*(ICAP-1)+5 *GET,TECTA2,RCON,RCONINI,CONST,ICONST ICONST=12+6*(ICAP-1)+6 *GET,TC2,RCON,RCONINI,CONST,ICONST ICONST=12+6*(ICAP-1)+1 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 130 KEYOPT,1,4,0 KEYOPT,1,5,1 KEYOPT,1,6,1 KEYOPT,1,8,1 KEYOPT,1,9,0 KEYOPT,1,10,0 KEYOPT,1,11,0 R,9 RMODIF,9,1,3,0,0,0,0,0 RMODIF,9,13,1,Teta1,T1,1,Teta2,T2, RMODIF,9,19,1,Teta3,T3, NVARIA = 45 *DIM,VV,ARRAY,15,3,1 *VREAD,VV,'MAT_PROP','DAT',,KIJ,1,15,3 (G9.4) EX1 = VV(1,1) EY1 = VV(2,1) EZ1 = VV(3,1) NUXY1 = VV(4,1) NUYZ1 = VV(5,1) NUXZ1 = VV(6,1) GXY1 = VV(7,1) GYZ1 = VV(8,1) GXZ1 = VV(9,1) SXT1 = VV(10,1) Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 131 SXC1 = -VV(11,1) SYT1 = VV(12,1) SYC1 = -VV(13,1) SXYS1 = VV(14,1) FXYN1 = -VV(15,1) VV = NVARIA = TB,FAIL,1,1 TBTEMP,,CRIT TBDATA,1,0,0,2,0,0,0 TBTEMP,20 TBDATA,10,SXT1,SXC1,SYT1,SYC1,1E12,-1E12 TBDATA,,SXYS1,1E12,1E12,2*FXYN1,0,0 MPTEMP,,,,,,,, MPTEMP,1,0 MPDATA,EX,1,,EX1 MPDATA,EY,1,,EY1 MPDATA,EZ,1,,EZ1 MPDATA,NUXY,1,,NUXY1 MPDATA,NUYZ,1,,NUYZ1 MPDATA,NUXZ,1,,NUXZ1 MPDATA,GXY,1,,GXY1 MPDATA,GYZ,1,,GYZ1 MPDATA,GXZ,1,,GXZ1 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 132 K,1,X1,Y1,, K,2,X2,Y2,, K,3,X3,Y3,, K,4,X4,Y4,, LSTR, 1, 2 LSTR, 2, 3 LSTR, 3, 4 LSTR, 4, 1 A,1,2,3,4 AATT,1,9,1,0 AESIZE,ALL,PCM, MSHAPE,0,2D MSHKEY,1 AMESH,ALL DL,4, ,UX, DK,1,UY, , ,0,UZ, , , , , , DK,4,UZ, , ,0, , , , , , , SFL,2,PRES,Pressure, FINISH LAM_RUL Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 133 8.6. Placa_c6_sfa /PNUM,REAL,1 L = 1 B = 1 X1 = 0 Y1 = 0 X2 = L Y2 = 0 X3 = L Y3 = B X4 = 0 Y4 = B T1 = 2.12/1e3 T2 = 2.12/1e3 T3 = 2.12/1e3 Teta1 = 0 Teta2 = 45 Teta3 = -45 Pressure= -1.25e6 PCM = 0.05 VV = /PREP7 ET,1,SHELL99 KEYOPT,1,2,0 KEYOPT,1,3,0 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 134 KEYOPT,1,4,0 KEYOPT,1,5,1 KEYOPT,1,6,1 KEYOPT,1,8,1 KEYOPT,1,9,0 KEYOPT,1,10,0 KEYOPT,1,11,0 R,9 RMODIF,9,1,6,0,0,0,0,0 RMODIF,9,13,1,Teta1,T1,1,Teta2,T2, RMODIF,9,19,1,Teta3,T3,1,Teta3,T3 RMODIF,9,25,1,Teta2,T2,1,Teta1,T1 NVARIA = 45 *DIM,VV,ARRAY,15,3,1 *VREAD,VV,'MAT_PROP','DAT',,KIJ,1,15,3 (G9.4) EX1 = VV(1,1) EY1 = VV(2,1) EZ1 = VV(3,1) NUXY1 = VV(4,1) NUYZ1 = VV(5,1) NUXZ1 = VV(6,1) GXY1 = VV(7,1) GYZ1 = VV(8,1) GXZ1 = VV(9,1) Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 135 SXT1 = VV(10,1) SXC1 = -VV(11,1) SYT1 = VV(12,1) SYC1 = -VV(13,1) SXYS1 = VV(14,1) FXYN1 = -VV(15,1) VV = NVARIA = TB,FAIL,1,1 TBTEMP,,CRIT TBDATA,1,0,0,2,0,0,0 TBTEMP,20 TBDATA,10,SXT1,SXC1,SYT1,SYC1,1E12,-1E12 TBDATA,,SXYS1,1E12,1E12,2*FXYN1,0,0 MPTEMP,,,,,,,, MPTEMP,1,0 MPDATA,EX,1,,EX1 MPDATA,EY,1,,EY1 MPDATA,EZ,1,,EZ1 MPDATA,NUXY,1,,NUXY1 MPDATA,NUYZ,1,,NUYZ1 MPDATA,NUXZ,1,,NUXZ1 MPDATA,GXY,1,,GXY1 MPDATA,GYZ,1,,GYZ1 MPDATA,GXZ,1,,GXZ1 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 136 K,1,X1,Y1,, K,2,X2,Y2,, K,3,X3,Y3,, K,4,X4,Y4,, LSTR, 1, 2 LSTR, 2, 3 LSTR, 3, 4 LSTR, 4, 1 A,1,2,3,4 AATT,1,9,1,0 AESIZE,ALL,PCM, MSHAPE,0,2D MSHKEY,1 AMESH,ALL DL,2,,ALL DL,4,,ALL SFA,1,1,PRES,Pressure FINISH LAM_RUL Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 137 8.7. Cúpula /PNUM,REAL,1 RNUM = 0 RCIRC = 5 T1 = 1.5/1e3 T2 = 1.5/1e3 T3 = 1.5/1e3 Teta1 = 90 Teta2 = 0 Teta3 = 90 Pressure= 1.2e6 DENS1 = 3e3 PCM = 0.4 /PREP7 ET,1,SHELL99 KEYOPT,1,2,0 KEYOPT,1,3,0 KEYOPT,1,4,0 KEYOPT,1,5,1 KEYOPT,1,6,1 KEYOPT,1,8,1 KEYOPT,1,9,0 KEYOPT,1,10,0 KEYOPT,1,11,0 Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 138 R,9 RMODIF,9,1,6,0,0,0,0,0 RMODIF,9,13,1,Teta1,T1,1,Teta2,T2, RMODIF,9,19,1,Teta3,T3,1,Teta3,T3, RMODIF,9,25,1,Teta2,T2,1,Teta1,T1, *DIM,VV,ARRAY,15,3,1 *VREAD,VV,'MAT_PROP','DAT',,KIJ,1,15,3 (G9.4) EX1 = VV(1,1) EY1 = VV(2,1) EZ1 = VV(3,1) NUXY1 = VV(4,1) NUYZ1 = VV(5,1) NUXZ1 = VV(6,1) GXY1 = VV(7,1) GYZ1 = VV(8,1) GXZ1 = VV(9,1) SXT1 = VV(10,1) SXC1 = -VV(11,1) SYT1 = VV(12,1) SYC1 = -VV(13,1) SXYS1 = VV(14,1) FXYN1 = -VV(15,1) VV = Universidad Politécnica de Valencia Departamento de Ingeniería Mecánica y Materiales Tesis de Máster Anexo 139 TB,FAIL,1,1 TBTEMP,,CRIT TBDATA,1,0,0,2,0,0,0 TBTEMP,20 TBDATA,10,SXT1,SXC1,SYT1,SYC1,1E12,-1E12 TBDATA,,SXYS1,1E12,1E12,2*FXYN1,0,0 MPTEMP,,,,,,,, MPTEMP,1,0 MPDATA,EX,1,,EX1 MPDATA,EY,1,,EY1 MPDATA,EZ,1,,EZ1 MPDATA,NUXY,1,,NUXY1 MPDATA,NUYZ,1,,NUYZ1 MPDATA,NUXZ,1,,NUXZ1 MPDATA,GXY,1,,GXY1 MPDATA,GYZ,1,,GYZ1 MPDATA,GXZ,1,,GXZ1 MPDATA,DENS,1,,DENS1 WPRO,,90.000000, /PREP7 CYL4,0,0,RCIRC ADELE,1 LDELE,2 LDELE,3 LDELE,4