Análisis estructural por elementos finitos de puente curvo a cuatro puntos de apoyo de sección transversal tipo viga cajón Wilinton López Rojas, David Leiton Lasso & Diana Soto Pineda Profesor Jairo Andrés Paredes López, PhD. Análisis Estructural por elementos finitos Universidad Nacional de Colombia Sede Manizales Ingeniería Civil y Arquitectura Manizales 13 de Octubre de 2018 Contenido Introducción .................................................................................................................................... 7 Marco teórico .................................................................................................................................. 8 Método de los elementos finitos ................................................................................................. 8 Formulación Isoperimétrica ........................................................................................................ 9 Elementos isoperimétricos de 9 nodos (2D) ......................................................................... 10 Pesos de cada nodo ............................................................................................................... 11 Integración numérica por cuadraturas ................................................................................... 11 Derivadas de las funciones de forma .................................................................................... 12 Derivadas de las funciones de forma y coordenadas nodales cartesianas ............................ 13 Matriz Jacobiana ................................................................................................................... 14 Matriz cinemática.................................................................................................................. 14 Elementos isoperimétricos de 20 nodos (3D) ....................................................................... 15 Objetivo de estudio ....................................................................................................................... 23 Análisis sección transversal en Iso 9 ........................................................................................ 23 Descripción del modelo ........................................................................................................ 24 Geometría de la sección analizada ........................................................................................ 25 Malla de la sección analizada ............................................................................................... 26 Zona de restricciones ............................................................................................................ 26 Material ................................................................................................................................. 27 Resultados del post proceso del Iso 9 ................................................................................... 27 Deformación en la sección debido a izaje............................................................................. 27 Esfuerzos en X ...................................................................................................................... 28 Esfuerzos en Y ...................................................................................................................... 29 Análisis puente en Iso 20 .......................................................................................................... 30 Descripción del modelo ........................................................................................................ 30 Geometría del puente analizado ............................................................................................ 30 Ubicación de los puntos de la geometría del puente ............................................................. 33 Definición de las cargas ........................................................................................................ 42 Revisión del Código Colombiano de puentes (CCP14)........................................................ 42 Factor de mayorización ......................................................................................................... 43 Carga en nodos de ubicación del camión .............................................................................. 43 Archivo de cargas ................................................................................................................. 44 Restricciones ......................................................................................................................... 45 Archivos de restricciones ...................................................................................................... 45 Malla del puente .................................................................................................................... 46 Resultados puente con elementos Iso 20 .................................................................................. 47 Gráficas 2D ........................................................................................................................... 47 Gráficas de esfuerzos en puente vista 3D ............................................................................. 47 Esfuerzos en X ...................................................................................................................... 47 Resultados de esfuerzos en vista 3D ......................................................................................... 50 Esfuerzos en Y ...................................................................................................................... 51 Esfuerzos en Z....................................................................................................................... 52 Esfuerzos cortantes 𝝉𝒙𝒚........................................................................................................ 53 Esfuerzos cortantes 𝝉𝒙𝒛 ........................................................................................................ 54 Esfuerzos cortantes 𝝉𝒚𝒛 ........................................................................................................ 55 Esfuerzo principal 1 .............................................................................................................. 56 Esfuerzo principal 2 .............................................................................................................. 57 Esfuerzo principal 3 .............................................................................................................. 58 Deformación unitaria en X.................................................................................................... 59 Deformación unitaria en Y.................................................................................................... 59 Deformación unitaria en Z. ................................................................................................... 59 Deformación unitaria en XY ................................................................................................. 60 Deformación unitaria en XZ ................................................................................................. 61 Deformación unitaria en YZ ................................................................................................. 61 Deformación principal 1 ....................................................................................................... 62 Deformación principal 2 ....................................................................................................... 62 Deformación principal 3 ....................................................................................................... 63 Deformación del puente ........................................................................................................ 63 Conclusiones ................................................................................................................................. 64 Bibliografía ................................................................................................................................... 65 Anexo 1. Líneas de código para análisis de elemento de 9 nodos ............................................ 66 Anexo 2. Líneas de código para Iso 20 ..................................................................................... 85 Lista de figuras Figura 1.0 Proceso para análisis con FEM. (Ferreira, 2009) ......................................................... 8 Figura Mapeo de un elemento padre en un elemento isoperimétrico. (Hutton V., 2004) ....... 9 Figura 3.0 Consideraciones para definir un elemento como isoperimétrico de 4 nodos. (Paredes López J. A., Elemento Isoparámetrico, 2018) ........................................................................ 9 Figura 4.0 Elemento isoperimétrico de 9 nodos en coordenadas naturales. (Paredes López J. A., Elemento cuadrilátero isoparamétrico de nueve nodos, 2018) ............................................. 10 Figura 5.0 Elemento hexaédrico de 20 nodos. (Felippa A., 2004) .............................................. 15 Figura 6.0 Sitio de la sección a analizar con iso 9 (2D). .............................................................. 24 Figura 7.0 Situación de izaje: a dos puntos. (Solís Díaz, 2016) ................................................... 24 Figura 8.0 Sección del puente con losa inferior en cota a = 0.2 m. .............................................. 25 Figura 9.0 Geometría de la sección con las respectivas superficies. ............................................ 25 Figura 10.0 Malla generada con elementos cuadriláteros de nueve nodos. .................................. 26 Figura 11.0 Ubicación de cargas ................................................................................................... 27 Figura 12.0 Deformación en y de la sección sometida a peso propio y dos puntos de izaje. ....... 28 Figura 13.0 Esfuerzos en X debido a izaje y peso propio. ............................................................ 28 Figura 14.0 Esfuerzos en Y debido a peso propio y 2 puntos de izaje. ........................................ 29 Figura 15.0 Los esfuerzos cortantes en el plano XY. ................................................................... 29 Figura 16.0 Trazabilidad de los parámetros a cumplir en el análisis del Iso 20. .......................... 30 Figura 17.0 Sección del puente curvo que corresponde a los apoyos de los extremos. La distancia a varía de 0.4 m extremos en apoyos a 0.2 m en luces. ....................................................... 30 Figura 18.0 Esquema para cálculo de puntos................................................................................ 31 Figura 19.0 Herramienta usada para la estimación de las distancias necesarias. (NASA (National Aeronautics ans Space Administration) , 2015) ................................................................... 31 Figura 20.0 Losa inferior con las 3 luces pedidas. ........................................................................ 32 Figura 21.0 Losa superior del puente. ........................................................................................... 32 Figura 22.0 Modelo 3D del puente en GiD................................................................................... 33 23.0 Las características del camión de diseño según figura 3.6.1.2.2-1. (República de Colombia, Ministerio de Transporte, Invias, 2014) ................................................................................ 43 Figura 24.0 Desplazamiento debido a las cargas aplicadas. ......................................................... 44 Figura 25.0 Esfuerzo en Z: esfuerzos en losa superior. ................................................................ 48 Figura 26.0 Esfuerzos en Y: esfuerzos en losa superior. .............................................................. 48 Figura 27.0 Vista YX de esfuerzos en xz. .................................................................................... 48 Figura 28.0 Vista en corte de esfuerzos en xy. ............................................................................. 49 Figura 29.0 Vista en sección de esfuerzos en yz. ......................................................................... 49 Figura 30.0 Esfuerzos en X (Sxx) vista 1. .................................................................................... 50 Figura 31.0 Esfuerzos en X (Sxx) vista 2. ................................................................................... 50 Figura 32.0 Esfuerzos en Y (Syy) vista 1. .................................................................................... 51 Figura 33.0 Esfuerzos en Y (Syy) vista 2. .................................................................................... 51 Figura 34.0 Esfuerzos en Z (Szz) vista 1. ..................................................................................... 52 Figura 35.0 Esfuerzos en Z (Szz) vista 2. ..................................................................................... 52 Figura 36.0 Esfuerzos cortantes 𝜏𝑥𝑦............................................................................................ 53 Figura 37.0 Esfuerzos cortantes 𝜏𝑥𝑦 vista 2. ............................................................................... 53 Figura 38.0 Esfuerzos cortantes 𝜏𝑥𝑧 vista 1. ................................................................................ 54 Figura 39.0 Esfuerzos cortantes 𝜏𝑥𝑧 vista 2. ................................................................................ 54 Figura 40.0 Esfuerzos cortantes 𝜏𝑦𝑧 vista 1. ............................................................................... 55 Figura 41.0 Esfuerzos cortantes 𝜏𝑦𝑧 vista 2. ............................................................................... 55 Figura 42.0 Esfuerzo principal 1 vista 1. ..................................................................................... 56 Figura 43.0 Esfuerzo principal 1 vista 2. ...................................................................................... 56 44.0 Esfuerzo principal 2 vista 1................................................................................................... 57 Figura 45.0 Esfuerzo principal 2 vista 2. ...................................................................................... 57 Figura 46.0 Esfuerzo principal 3 vista 1. ...................................................................................... 58 Figura 47.0 Esfuerzo principal 3 vista 2. ...................................................................................... 58 Figura 48.0 Deformación unitaria en X. ...................................................................................... 59 Figura 49.0 Deformación unitaria en Y. ...................................................................................... 59 Figura 50.0 Deformación unitaria en Z......................................................................................... 60 Figura 51.0 Deformación unitaria en XY. .................................................................................... 60 Figura 52.0 Deformación unitaria en XZ. ..................................................................................... 61 Figura 53.0 Deformación unitaria en YZ. ..................................................................................... 62 Figura 54.0 Deformación principal 1. ........................................................................................... 62 55.0 Deformación principal 2. ...................................................................................................... 62 Figura 56.0 Deformación principal 3. .......................................................................................... 63 Figura 57.0 Vista deformada del puente. ...................................................................................... 63 Figura 58.0 Vista original vs vista deformada. ............................................................................. 64 Tablas Tabla 1. Signos y pesos de cada nodo del elemento cuadrilátero de nueve nodos en los puntos de Gauss. .................................................................................................................................... 11 Tabla 2.0 Coordenadas para del punto 1. ...................................................................................... 33 Tabla 3.0 Coordenadas del punto 15............................................................................................. 34 Tabla 4.0 Coordenadas del punto 17............................................................................................. 34 Tabla 5.0 Coordenadas del punto 6............................................................................................... 34 Tabla 6.0 Coordenadas del punto 5............................................................................................... 35 Tabla 7.0 Coordenadas del punto 2............................................................................................... 35 Tabla 8.0 Coordenadas del punto 16............................................................................................. 35 Tabla 9.0 Coordenadas del punto 18............................................................................................. 35 Tabla 10.0 Coordenadas del punto 3............................................................................................. 36 Tabla 11.0 Coordenadas del punto 4............................................................................................. 36 Tabla 12.0 Coordenadas del punto 13........................................................................................... 36 Tabla 13.0 Coordenadas del punto 7............................................................................................. 37 Tabla 14.0 Coordenadas del punto 9............................................................................................. 37 Tabla 15.0 Coordenadas del punto a 19. ....................................................................................... 37 Tabla 16.0 Coordenadas del punto 11........................................................................................... 38 Tabla 17.0 Coordenadas del punto 12........................................................................................... 38 Tabla 18.0 Coordenadas del punto 20........................................................................................... 38 Tabla 19.0 Coordenadas del punto 10........................................................................................... 39 Tabla 20.0 Coordenadas del punto 8............................................................................................. 39 Tabla 21.0 Coordenadas del punto 14.......................................................................................... 40 Tabla 22.0 Coordenadas del punto 21........................................................................................... 40 Tabla 23.0 Coordenadas del punto 23........................................................................................... 40 Tabla 24.0 Coordenadas del punto 25........................................................................................... 40 Tabla 25.0 Coordenadas del punto 26........................................................................................... 41 Tabla 26.0 Coordenadas del punto 27........................................................................................... 41 Tabla 27.0 Coordenadas del punto 28........................................................................................... 41 Tabla 28.0 Selección del factor de mayorización –resistencia I (CCP14- Tabla 3.4.1.1. (República de Colombia, Ministerio de Transporte, Invias, 2014)....................................... 42 Tabla 29.0 Cagas en nodos debido a camión de diseño. ............................................................... 43 Tabla 30.0 Nodos cargados primeras 12 posiciones. .................................................................... 44 Tabla 31.0 Posiciones resumen del archivo de restricciones. ....................................................... 46 Tabla 32.0 Visualización del comportamiento de la deformación en el puente debido a las cargas y restricciones. ...................................................................................................................... 46 Tabla 33.0 Divisiones de las piezas en el puente para generación de malla. ............................... 46 Tabla 34.0 Visualización de las divisiones en la malla. ............................................................... 47 Introducción Este trabajo escrito contiene la totalidad del desarrollo metodológico del análisis estructural usando el método de los elementos finitos con el programa GiD, mediante la generación de la geometría de un puente curvo con cuatro puntos de apoyo de sección transversal tipo viga cajón. GiD es un procesador de pre-proceso y post-procesal, parametrizable y cómodo de emplear para simulaciones numéricas en ciencia e ingeniería que fue diseñado para cubrir todas las necesidades comunes en el campo de simulaciones numéricas desde el pre-procesamiento posterior, modelado geométrico (CAD), generación de malla, definición de datos de análisis, transferencia de datos a software de análisis, operaciones de post procesamiento y visualización de resultados. Para el inicio del análisis, fue necesario generar la geometría del puente en un software de dibujo por computador llamado AutoCAD, los puntos de conexión de esta geometría fueron exportados en un archivo Excel y posteriormente organizados por cada subdivisión, lo anterior debido a que al intentar realizar la misma geometría en GiD se presentaron solapes de líneas, pero crear los puntos ya establecidos previamente, se generaron los volúmenes necesarios que constituyen todo el puente con tres luces curvas. Al terminar la verificación de todos los volúmenes que conforman la geometría del puente, se procedió a realizar un esquema de las subdivisiones de las líneas de cada volumen, y se calculó manualmente la cantidad de elementos que tendría todo el modelo, pues la cantidad de memoria necesaria para post-procesamiento se define por la cantidad de elementos y los nodos de estos. La malla que se creó fue exportada a un archivo de excel, donde se organizaron los datos que fueron llevados a Note Pad, se verifico que la cantidad de elementos fuera congruente con la cantidad de elementos estimada manualmente, así se verifico que la malla no presentará errores. Se procedió a revisar el Código Colombiano de Puente 14 (CCP 14), esto para calcular las cargas bajo las que estaría sometido el puente en una ubicación específica, luego de establecer las cargas se enlistaron los elementos y de estos los nodos que estaría sometidos a dichas cargas para armar un archivo txt con dichas cargas. Teniendo en cuenta que el enunciado del problema habla de 4 puntos de apoyo, de los cuales 2 son apoyos simples y 2 son apoyos rígidos (resistentes a torsión), se enlistaron los nodos sometidos a dichas restricciones, posteriormente se armó el archivo txt donde se ubicó cero en los ejes correspondientes sometidos a la restricciones de movimiento, y también se generó un txt con las propiedades de material. Estos archivos se crearon con el fin de usar un código en Matlab para los elementos isoperimétricos de 20 nodos (3D), y así usar el archivo de resultados para el análisis de desplazamientos, deformaciones y esfuerzos. Además, se realizó un análisis con elementos isoperimétricos de 9 nodos en una sección transversal del puente y considerando dos puntos de izaje, dicho análisis considerando peso propio y modelo de deformación plana, para obtener el campo esfuerzosdesplazamientos de la sección (Leiton Lasso, López Rojas, & Soto Pineda, 2018). Marco teórico Método de los elementos finitos A razón de analizar diversos sistemas ingenieriles, se requiere el desarrollo de un modelo matemático para describir dicho sistema. En el proceso desarrollo de modelo matemático, es necesario establecer algunas suposiciones que sirven para crear simplificaciones, de forma que las expresiones matemáticas son desarrollos para describir el comportamiento del sistema, siendo por lo general ecuaciones diferenciales con condiciones de frontera, pero es complejo obtener soluciones precisas que describan el sistema ingenieril mediante un desarrollo manual. Actualmente existen computadoras de alto desempeño que hacen posible solucionar dichas ecuaciones diferenciales, junto con las diversas técnicas de soluciones numéricas han sido desarrolladas y aplicadas para resolver numerosos problemas de ingeniería para obtener soluciones aproximadas. En esencia, el método de los elementos finitos (FEM, finite element method) es una de las más grandes técnicas de soluciones numéricas; entre las ventajas del FEM se identifica el que un programa computacional puede ser desarrollado para analizar varios tipos de problemas, en particular, cualquier forma compleja discretizada y con condiciones de borde puede ser manejada aplicando el método de los elementos finitos (Kwon W. & Bang, 2000). De este método se pueden identificar los siguientes pasos de análisis: Discretización del dominio Escribir las matrices de rigidez de los elementos Ensamblar la matri de rigidez global Post-proceso Aplicar condiciones de borde Figura 1.0 Proceso para análisis con FEM. (Ferreira, 2009) Formulación Isoperimétrica El método de elementos finitos es una técnica eficaz para analizar sistemas en ingeniería. Problemas que comprenden geometrías complejas requieren de elementos diferentes a los elementos usuales como son los triángulos, rectángulos y tetraedros, ya que no siempre pueden ser usados eficientemente para geometrías irregulares. El término isoperimétrico refiere a que las funciones de forma del elemento se usan para definir desplazamientos, usando un sistema de coordenadas natural (Hutton V., 2004). El elemento isoperimétrico es básicamente la derivación de cuatro lados de un elemento rectangular a través de un proceso de mapeo, siendo el elemento rectangular el elemento padre con sus coordenadas naturales y el elemento cuadrilátero en un sistema cartesiano de coordenadas globales (x, y) (Paredes López J. A., Elemento Isoparámetrico, 2018). La geometría del elemento cuadrilátero respecto a las coordenadas natrales se describe por: x xi*Ni y yi*Ni Figura Mapeo de un elemento padre en un elemento isoperimétrico. (Hutton V., 2004) Para considerar un elemento rectangular definido en el sistema de coordenadas como un isoperimétrico se debe cumplir que (Paredes López J. A., Elemento Isoparámetrico, 2018): La transformación sea tal que las coordenadas en el sistema natural son: () = ±1 Las funciones que relacionan las coordenadas de () con las coordenadas (x,y) son usadas para realizar una interpolación de los desplazamientos. Figura 3.0 Consideraciones para definir un elemento como isoperimétrico de 4 nodos. (Paredes López J. A., Elemento Isoparámetrico, 2018) Elementos isoperimétricos de 9 nodos (2D) La formulación que se realiza para un elemento isoperimétrico de 4 nodos se expande para un elemento isoperimétrico de 9 nodos, se tendrían 9 funciones de forma y las derivadas de estas funciones forma se realizan respecto a y a Las ecuaciones de esta formulación isoperimétrica de nueve nodos son (Felippa A., 2004) : Funciones de forma: Iso de 9 nodos 1 𝑁 1 = 4 ∙ (1 − 𝜉) ∙ (1 − 𝜂) ∙ 𝜉𝜂 𝑁2=− 1 3.0 ∙ (1 + 𝜉) ∙ (1 − 𝜂) ∙ 𝜉𝜂 4.0 𝑁 3 = 4 ∙ (1 + 𝜉) ∙ (1 + 𝜂) ∙ 𝜉𝜂 5.0 4 1 1 𝑁 4 = − 4 ∙ (1 − 𝜉) ∙ (1 + 𝜂) ∙ 𝜉𝜂 6.0 1 𝑁 5 = − 2 ∙ (1 + 𝜉 2 ) ∙ (1 − 𝜂) ∙ 𝜂 7.0 1 𝑁 6 = 2 ∙ (1 + 𝜉) ∙ (1 − 𝜂2 ) ∙ 𝜉 8.0 1 𝑁 7 = 2 ∙ (1 − 𝜉 2 ) ∙ (1 − 𝜂) ∙ 𝜂 1 9.0 𝑁 8 = − 2 ∙ (1 − 𝜉) ∙ (1 − 𝜂2 ) ∙ 𝜉 10.0 𝑁 9 = (1 − 𝜉 2 ) ∙ (1 − 𝜂2 ) 11.0 Figura 4.0 Elemento isoperimétrico de 9 nodos en coordenadas naturales. (Paredes López J. A., Elemento cuadrilátero isoparamétrico de nueve nodos, 2018) Pesos de cada nodo Cada ubicación de los nodos tiene signo y peso asignado, donde es el peso quien se encarga de dar el nivel de precisión al ensamblar la matriz de rigidez de todo elemento, lo cual se debe hacer en cada punto de Gauss asociado a cada nodo. A continuación se presenta una tabla con las coordenadas y los pesos asociados a cada nodo del elemento isoperimétrico de nueve nodos: Nodo 1 2 3 4 5 6 7 8 9 𝝃 −1 +1 +1 −1 0 +1 𝜼 −1 −1 +1 +1 −1 0 𝒘𝒋 5/9 5/9 5/9 5/9 8/9 5/9 𝒘𝒌 5/9 5/9 5/9 5/9 5/9 8/9 0 −1 0 +1 0 0 8/9 5/9 8/9 5/9 8/9 8/9 Tabla 1. Signos y pesos de cada nodo del elemento cuadrilátero de nueve nodos en los puntos de Gauss. Integración numérica por cuadraturas Las formas para la numérica o cuadraturas se establecen como métodos que son útiles para evaluar aproximadamente integrales definidas (Skiba, 2005). Siendo necesarias en los casos 1 y 2: Caso 1. Si la integral de una función es extremadamente dificil de expresar en términos de funciones elementales. Caso 2. La función es dada sólo puntos discretos o sea datos experimentales. En el método de los elementos finitos, la fórmula de cuadratura que tiene un uso amplio es la cuadratura de Gauss – Legendre según la forma polinomial de las integrales típicas (Paredes López J. A., Elemento Isoparámetrico, 2018). 1 𝐼 = ∫ 𝑓(𝜉)𝑑𝜉 12.0 −1 La integral de la ecuación 39.0 se estima que puede ser calculada por n puntos de la sumatoria: 𝑛 𝐼 = ∑ 𝜔𝑗 𝑓(𝜉𝑗 ) 𝑗=1 De donde: 13.0 2𝑛 − 1 = 𝑔𝑟𝑎𝑑𝑜 𝑑𝑒𝑙 𝑝𝑜𝑙𝑖𝑛𝑜𝑚𝑖𝑜 14.0 𝜉𝑗 = 𝑝𝑢𝑛𝑡𝑜𝑠 𝑓𝑖𝑗𝑜𝑠 𝑒𝑛𝑡𝑟𝑒 (−1 , 1) 𝜔𝑗 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 𝑎𝑠𝑜𝑐𝑖𝑎𝑑𝑎𝑠 𝑎 𝜉𝑗 El valor de los parámetros se escogen para que el error en la sumatoria sea cero en el caso polinomial, de donde 𝜉𝑗 son las raíces de los polinomios de Legendre, y 𝜔𝑗 serían las funciones de estas raíces. Derivadas de las funciones de forma Las derivadas de las funciones de forma de realizan respecto a y a de manera que se obtendrán 18 derivadas de las funciones de forma que son: 𝜕𝑁1 = 0.25 ∙ (1-2𝜉) ∙ (1 − 𝜂) ∙ 𝜂 15.0 = − 0.25 ∙ (1 + 2𝜉) ∙ (1 − 𝜂) ∙ 𝜂 16.0 𝜕𝜉 𝜕𝑁2 𝜕𝜉 𝜕𝑁3 𝜕𝜉 𝜕𝑁4 𝜕𝜉 = 0.25 ∙ (1 + 2𝜉) ∙ (1 − 𝜂) ∙ 𝜂 17.0 = 0.25 ∙ (1 + 2𝜉) ∙ (1 − 𝜂) ∙ 𝜂 18.0 𝜕𝑁5 = 𝜉 ∙ (1 − 𝜂) ∙ 𝜂 19.0 = 0.5 (1 + 2𝜉) ∙ (1 − 𝜂2 ) 20.0 𝜕𝜉 Derivadas de las funciones de forma respecto a: 𝜉 Iso de 9 nodos 𝜕𝑁6 𝜕𝜉 𝜕𝑁7 = −𝜉 ∙ (1 + 𝜂) ∙ 𝜂 21.0 = − 0.5 (1 − 2𝜉) ∙ (1 − 𝜂2 ) 22.0 𝜕𝜉 𝜕𝑁8 𝜕𝜉 𝜕𝑁9 = −2𝜉 ∙ (1 − 𝜂2 ) 23.0 = 0.25 ∙ (1-𝜉) ∙ (1 − 2𝜂) ∙ 𝜉 24.0 𝜕𝜉 𝜕𝑁1 𝜕𝜂 𝜕𝑁2 𝜕𝜂 = - 0.25 ∙ (1 + 𝜉) ∙ (1 − 2𝜂) ∙ 𝜉 𝜕𝑁3 𝜕𝜂 Derivadas de las funciones de forma respecto a: 𝜂 Iso de 9 nodos 𝜕𝑁4 𝜕𝜂 25.0 = 0.25 ∙ (1 + 𝜉) ∙ (1 + 2𝜂) ∙ 𝜉 26.0 = 0.25 ∙ (1 + 𝜉) ∙ (1 + 2𝜂) ∙ 𝜉 27.0 𝜕𝑁5 𝜕𝜂 = −0.5 ∙ (1 − 𝜉 2 ) ∙ (1 − 2𝜂) 𝜕𝑁6 = −𝜂 ∙ (1 + 𝜉) ∙ 𝜉 29.0 = 0.5 ∙ (1 − 𝜉 2 ) ∙ (1 + 2𝜂) 30.0 𝜕𝜂 𝜕𝑁7 𝜕𝜂 28.0 𝜕𝑁8 = 𝜂 ∙ (1 − 𝜉) ∙ 𝜉 31.0 = −2𝜂(1 − 𝜉 2 )2𝜂) 32.0 𝜕𝜂 𝜕𝑁9 𝜕𝜂 Derivadas de las funciones de forma y coordenadas nodales cartesianas Al tener todas las derivadas de forma respecto a 𝜉 y ha 𝜂, se realiza la multiplicación de cada una de estar por la coordenada en x y en y correspondiente, esto para luego calcular las matrices cinemáticas de cada punto de Gauss como se muestra a continuación: La ecuación 30.0 va desde la derivada de forma respecto a 𝜉 numero 1 multiplicada por la coordenada en y1 y se suma con la segunda derivada de forma respecto a 𝜉 y se multiplica por la coordenada en y9, esto se repite para todas las derivadas y todas las coordenadas en x y en y, de forma que al final se tendrán cuatro ecuaciones que corresponden a la transformación de coordenadas, con esos cuatro términos es posible calcular luego el Jacobiano. 𝜕𝑦 1 𝜕𝑁1 𝜕𝑁2 𝜕𝑁3 𝜕𝑁4 𝜕𝑁9 = ∙ [𝑦1 ( ) + 𝑦2 ( ) + 𝑦3 ( ) + 𝑦4 ( ) + ⋯ + 𝑦9 ( )] = 𝑏1 𝜕𝜂 4 𝜕𝜉 𝜕𝜉 𝜕𝜉 𝜕𝜉 𝜕𝜉 33.0 𝜕𝑦 1 𝜕𝑁1 𝜕𝑁2 𝜕𝑁3 𝜕𝑁4 𝜕𝑁9 = ∙ [𝑦1 ( ) + 𝑦2 ( ) + 𝑦3 ( ) + 𝑦4 ( ) + ⋯ + 𝑦9 ( )] = 𝑏2 𝜕𝜉 4 𝜕𝜂 𝜕𝜂 𝜕𝜂 𝜕𝜂 𝜕𝜂 34.0 𝜕𝑥 1 𝜕𝑁1 𝜕𝑁2 𝜕𝑁3 𝜕𝑁4 𝜕𝑁9 = ∙ [𝑥1 ( ) + 𝑥2 ( ) + 𝑥3 ( ) + 𝑥4 ( ) + ⋯ + 𝑥9 ( )] = 𝑐1 𝜕𝜉 4 𝜕𝜂 𝜕𝜂 𝜕𝜂 𝜕𝜂 𝜕𝜂 35.0 𝜕𝑥 1 𝜕𝑁1 𝜕𝑁2 𝜕𝑁3 𝜕𝑁4 𝜕𝑁9 = ∙ [𝑥1 ( ) + 𝑥2 ( ) + 𝑥3 ( ) + 𝑥4 ( ) + ⋯ + 𝑥9 ( )] = 𝑐2 𝜕𝜂 4 𝜕𝜉 𝜕𝜉 𝜕𝜉 𝜕𝜉 𝜕𝜉 36.0 Matriz Jacobiana La matriz Jacobiana recibe su nombre por el matemático Carl Gustav Jacobi; la matriz Jacobiana es una matriz formada por las derivadas parciales de primer orden en el actual caso pertinente de x y y respecto a 𝜉 y a 𝜂. La forma de la matriz depende de la base o coordenadas elegidas, su determinante se conoce como jacobiano, este jacobiano da la información pertinente del comportamiento de la función respecto a un punto dado (Mathai, 1997). La siguiente es la forma de la matriz Jacobiana para el sistema de coordenadas del presente trabajo: 𝜕𝑥 𝜕𝜉 𝑀𝑎𝑡𝑟𝑖𝑧 𝐽𝑎𝑐𝑜𝑏𝑖𝑎𝑛𝑎 = 𝜕𝑥 [𝜕𝜂 𝜕𝑦 𝜕𝜉 𝜕𝑦 𝜕𝜂] 37.0 El determinante de esta matriz se conoce como Jacobiano, cuyos 4 términos son el resultado de las ecuaciones 30, 31, 32 y 33, y se ve así: 𝐽 = 𝑐1 ∙ 𝑏1 − 𝑐2 ∙ 𝑏2 38.0 Matriz cinemática Para ensamblar la matriz cinemática se ensambla a partir de cálculo de los siguientes términos: 𝛽1 = 𝑏1 𝜕𝑁1 𝜕𝑁1 − 𝑏2 𝜕𝜉 𝜕𝜂 39.0 𝜁1 = 𝑐1 𝜕𝑁1 𝜕𝑁1 − 𝑐2 𝜕𝜉 𝜕𝜂 40.0 La matriz cinemática general tendría la siguiente forma: 𝛽𝑖 𝐵𝑖 = [ 0 𝜁𝑖 0 𝜁𝑖 ] 𝛽𝑖 41.0 Luego es necesario calcular también la matriz constitutiva del material: 1 𝐸 𝑣 𝐶= ∙⌈ 1 − 𝑣2 0 𝑣 1 0 0 0 ⌉ 1 (1 − 𝑣) 2 41.1 Esta matriz cinemática se calcula para cada punto de Gauss multiplicándola por los correspondientes pesos, el ensamble final de las matrices cinemáticas se multiplicaran por el inverso del jacobiano y el espesor del elemento. 𝐾 𝑒 = 𝑡 ∙ 𝜔𝑗 ∙ 𝜔𝑘 ∙ 𝐵 𝑇 ∙ 𝐶𝐵 ∙ 𝐽 41.2 Elementos isoperimétricos de 20 nodos (3D) El hexaedro de 20 nodos es el análogo del cuadrilátero de 8 nodos. Figura 5.0 Elemento hexaédrico de 20 nodos. (Felippa A., 2004) Las funciones de forma para este elemento son 20 funciones de forma en total (Paredes López J. , 2018): Para los nodos de las esquinas; los nodos 1, 2, 3,…8 1 ∙ (𝜉 − 1) ∙ (𝜂 − 1) ∙ (𝜁 − 1) ∙ (𝜂 + 𝜉 + 𝜁 + 2) 8 42.0 1 𝑁2 = − ∙ (𝜉 + 1) ∙ (𝜂 − 1) ∙ (𝜁 − 1) ∙ (𝜂 − 𝜉 + 𝜁 + 2) 8 43.0 1 𝑁3 = − ∙ (𝜉 − 1) ∙ (𝜂 + 1) ∙ (𝜁 − 1) ∙ (𝜂 + 𝜉 − 𝜁 − 2) 8 44.0 1 𝑁4 = − ∙ (𝜉 − 1) ∙ (𝜂 + 1) ∙ (𝜁 − 1) ∙ (𝜂 − 𝜉 + 𝜁 + 2) 8 45.0 1 𝑁5 = − ∙ (𝜉 − 1) ∙ (𝜂 − 1) ∙ (𝜁 + 1) ∙ (𝜂 + 𝜉 − 𝜁 + 2) 8 46.0 𝑁6 = 1 ∙ (𝜉 + 1) ∙ (𝜂 − 1) ∙ (𝜁 + 1) ∙ (𝜂 − 𝜉 − 𝜁 + 2) 8 47.0 𝑁7 = 1 ∙ (𝜉 + 1) ∙ (𝜂 + 1) ∙ (𝜁 + 1) ∙ (𝜂 + 𝜉 + 𝜁 − 2) 8 48.0 1 𝑁8 = − ∙ (𝜉 − 1) ∙ (𝜂 + 1) ∙ (𝜁 + 1) ∙ (𝜂 − 𝜉 + 𝜁 − 2) 8 49.0 𝑁1 = Las funciones de forma para los nodos intermedios 9,11, 17 y 19 de donde (𝜉 = 0) 1 𝑁9 = − ∙ (𝜉 2 − 1) ∙ (𝜂 − 1) ∙ (𝜁 − 1) 4 50.0 𝑁11 = 1 ∙ (𝜉 2 − 1) ∙ (𝜂 + 1) ∙ (𝜁 − 1) 4 51.0 𝑁17 = 1 ∙ (𝜉 2 − 1) ∙ (𝜂 − 1) ∙ (𝜁 + 1) 4 52.0 1 𝑁19 = − ∙ (𝜉 2 − 1) ∙ (𝜂 + 1) ∙ (𝜁 + 1) 4 53.0 Las funciones de forma para los nodos intermedios 10, 12, 18 y 20 (𝜂 = 0) 𝑁10 = 1 ∙ (𝜂2 − 1) ∙ (𝜉 + 1) ∙ (𝜁 − 1) 4 54.0 1 𝑁12 = − ∙ (𝜂2 − 1) ∙ (𝜉 − 1) ∙ (𝜁 − 1) 4 55.0 1 𝑁18 = − ∙ (𝜂2 − 1) ∙ (𝜉 + 1) ∙ (𝜁 + 1) 4 56.0 1 ∙ (𝜂2 − 1) ∙ (𝜉 − 1) ∙ (𝜁 + 1) 4 57.0 𝑁20 = Las funciones de forma para los nodos intermedios 13, 14, 15 y 16 1 𝑁13 = − ∙ (𝜁 2 − 1) ∙ (𝜂 − 1) ∙ (𝜁 − 1) 4 58.0 1 ∙ (𝜁 2 − 1) ∙ (𝜂 − 1) ∙ (𝜁 + 1) 4 59.0 1 𝑁14 = − ∙ (𝜁 2 − 1) ∙ (𝜂 + 1) ∙ (𝜁 + 1) 4 60.0 1 ∙ (𝜁 2 − 1) ∙ (𝜂 + 1) ∙ (𝜁 − 1) 4 61.0 𝑁12 = 𝑁16 = Las derivadas de las funciones de forma de las esquinas de los nodos 1, 2, 3,….8 𝜕𝑁1 𝜕𝜉 𝜕𝑁2 𝜕𝜉 𝜕𝑁3 𝜕𝜉 𝜕𝑁4 𝜕𝜉 𝜕𝑁5 𝜕𝜉 = =− =− =− =− (𝜂−1)∙(𝜁−1)∙(𝜂+2𝜉+𝜁+1) 8 (𝜂−1)∙(𝜁−1)∙(𝜂−2𝜉+𝜁+1) 8 (𝜂+1)∙(𝜁−1)∙(𝜂+2𝜉−𝜁−1) 8 (𝜂+1)∙(𝜁−1)∙(2𝜉−𝜂+𝜁+1) 8 (𝜂−1)∙(𝜁+1)∙(2𝜉+𝜂−𝜁+1) 8 62.0 63.0 64.0 65.0 66.0 𝜕𝑁6 𝜕𝜉 𝜕𝑁7 𝜕𝜉 𝜕𝑁8 = = =− 𝜕𝜉 (𝜂−1)∙(𝜁+1)∙(𝜂−2𝜉−𝜁+1) 8 (𝜂+1)∙(𝜁+1)∙(𝜂+2𝜉+𝜁−1) 8 (𝜂+1)∙(𝜁+1)∙(𝜂−2𝜉+𝜁−1) 8 67.0 68.0 69.0 Con respecto a 𝜂: 𝜕𝑁1 𝜕𝜂 𝜕𝑁2 𝜕𝜂 𝜕𝑁3 𝜕𝜂 𝜕𝑁4 𝜕𝜂 𝜕𝑁5 𝜕𝜂 =− =− =− =− 𝜕𝑁6 𝜕𝜂 𝜕𝑁7 𝜕𝜂 𝜕𝑁8 𝜕𝜂 Con respecto a 𝜁 : = = = =− (𝜉−1)∙(𝜁−1)∙(2𝜂+𝜉+𝜁+1) 8 (𝜉+1)∙(𝜁−1)∙(2𝜂−𝜉+𝜁+1) 8 (𝜉+1)∙(𝜁−1)∙(2𝜂+𝜉−𝜁−1) 8 (𝜉−1)∙(𝜁−1)∙(𝜉−2𝜂+𝜁+1) 8 (𝜉−1)∙(𝜁+1)∙(2𝜂+𝜉−𝜁+1) 8 (𝜉+1)∙(𝜁+1)∙(2𝜂−𝜉−𝜁−1) 8 (𝜉+1)∙(𝜁+1)∙(2𝜂+𝜉+𝜁−1) 8 (𝜉−1)∙(𝜁+1)∙(2𝜂−𝜉+𝜁−1) 8 70.0 71.0 72.0 73.0 74.0 75.0 76.0 77.0 𝜕𝑁1 𝜕𝜁 𝜕𝑁2 𝜕𝜁 𝜕𝑁3 𝜕𝜁 𝜕𝑁4 𝜕𝜁 𝜕𝑁5 𝜕𝜁 =− =− =− =− 𝜕𝑁6 𝜕𝜁 𝜕𝑁7 𝜕𝜁 𝜕𝑁8 𝜕𝜁 = (𝜂−1)∙(𝜉−1)∙(𝜂+𝜉+2𝜁+1) 8 (𝜂−1)∙(𝜉+1)∙(𝜂−𝜉+2𝜁+1) 8 (𝜂−1)∙(𝜉+1)∙(𝜂+𝜉−2𝜁−1) 8 (𝜂+1)∙(𝜉−1)∙(𝜉−𝜂+2𝜁+1) 8 (𝜂−1)∙(𝜉−1)∙(𝜂+𝜉−2𝜁+1) 8 (𝜂−1)∙(𝜉+1)∙(𝜂−𝜉−2𝜁+1) = 8 (𝜂+1)∙(𝜉+1)∙(𝜂+𝜉+2𝜁−1) = 8 =− (𝜂+1)∙(𝜉−1)∙(𝜂−𝜉+2𝜁−1) 8 78.0 79.0 80.0 81.0 82.0 83.0 84.0 85.0 Las derivadas de las funciones de forma para los nodos intermedios 9, 11, 17 y 19 (𝜉 = 0) 𝜕𝑁9 𝜕𝜉 =− 𝜕𝑁11 𝜕𝜉 𝜕𝑁17 𝜕𝜉 = = (𝜉)∙(𝜂−1)∙(𝜁−1) 2 (𝜉)∙(𝜂+1)∙(𝜁−1) 2 (𝜉)∙(𝜂−1)∙(𝜁+1) 2 86.0 87.0 88.0 𝜕𝑁19 =− 𝜕𝜉 𝜕𝑁9 𝜕𝜂 =− 𝜕𝑁11 𝜕𝜂 𝜕𝑁17 𝜕𝜂 𝜕𝑁19 𝜕𝜂 𝜕𝑁9 𝜕𝜁 = =− 𝜕𝜁 𝜕𝑁17 𝜕𝜁 𝜕𝜁 = =− 𝜕𝑁11 𝜕𝑁19 (𝜉)∙(𝜂+1)∙(𝜁+1) = = =− 2 2 (𝜉 −1)∙(𝜁−1) 4 89.0 90.0 (𝜉2 −1)∙(𝜁−1) 4 91.0 (𝜉2 −1)∙(𝜁+1) 4 92.0 (𝜉2 −1)∙(𝜁−1) 4 93.0 (𝜉2 −1)∙(𝜂−1) 4 94.0 (𝜉2 −1)∙(𝜂+1) 4 95.0 (𝜉2 −1)∙(𝜂−1) 4 96.0 (𝜉2 −1)∙(𝜂+1) 4 97.0 Las derivadas de las funciones de forma para los nodos intermedios 10, 12, 18 y 20 (𝜂 = 0) 𝜕𝑁10 𝜕𝜉 𝜕𝑁12 𝜕𝜉 = =− (𝜉2 −1)∙(𝜁−1) 4 98.0 (𝜉2 −1)∙(𝜁−1) 4 99.0 𝜕𝑁18 𝜕𝜉 =− 𝜕𝑁20 𝜕𝜉 𝜕𝑁10 𝜕𝜂 𝜕𝑁12 𝜕𝜂 𝜕𝜂 𝜕𝜂 𝜕𝑁10 𝜕𝜁 𝜕𝑁12 𝜕𝜁 = =− 𝜕𝜁 = 4 (𝜂)∙(𝜉−1)∙(𝜁−1) = 100.0 (𝜉2 −1)∙(𝜁+1) 2 2 (𝜂)∙(𝜉+1)∙(𝜁+1) 2 (𝜂)∙(𝜉−1)∙(𝜁+1) 2 101.0 102.0 103.0 104.0 105.0 ( 𝜂2 −1)∙(𝜉+1) =− 𝜕𝑁20 4 (𝜂)∙(𝜉+1)∙(𝜁−1) =− 𝜕𝑁20 𝜕𝑁18 = =− 𝜕𝑁18 𝜕𝜁 = (𝜉2 −1)∙(𝜁+1) 4 106.0 (𝜂2 −1)∙(𝜉−1) 4 107.0 (𝜂2 −1)∙(𝜉+1) 4 108.0 (𝜂2 −1)∙(𝜉−1) 4 Las derivadas de las funciones de forma para los nodos intermedios 13, 14, 15 y 16 (𝜁 = 0) 109.0 𝜕𝑁13 𝜕𝜉 =− 𝜕𝑁14 = 𝜕𝜉 𝜕𝑁15 𝜕𝑁16 𝜕𝜉 𝜕𝜂 𝜕𝜂 𝜕𝑁15 𝜕𝜂 𝜕𝑁16 𝜕𝑁13 𝜕𝜁 𝜕𝜁 𝜕𝑁15 𝜕𝜁 = = =− 111.0 (𝜁2 −1)∙(𝜂+1) 4 112.0 (𝜁2 −1)∙(𝜂+1) 4 113.0 ( 𝜁2 −1)∙(𝜉−1) 4 114.0 ( 𝜁2 −1)∙(𝜉+1) =− =− 𝜕𝑁14 4 = = 110.0 (𝜁2 −1)∙(𝜂−1) =− 𝜕𝑁14 𝜕𝜂 4 =− 𝜕𝜉 𝜕𝑁13 (𝜁2 −1)∙(𝜂−1) 4 115.0 ( 𝜁2 −1)∙(𝜉+1) 4 116.0 (𝜂2 −1)∙(𝜉−1) 4 (𝜁)∙(𝜂−1)∙(𝜉−1) 2 (𝜁)∙(𝜂−1)∙(𝜉+1) 2 (𝜁)∙(𝜂+1)∙(𝜉+1) 2 117.0 118.0 119.0 120.0 𝜕𝑁16 𝜕𝜁 = (𝜁)∙(𝜂+1)∙(𝜉−1) 121.0 2 Para un elemento de 20 nodos el vector de desplazamientos nodales tiene una columna con 40 filas, ya que 20 son desplazamientos en x de cada nodo y 20 desplazamientos en y de cada nodo: 𝑢1 𝑣1 𝜔1 𝑢2 𝑑 = 𝑣2 𝜔2 ⋮ 𝑢20 𝑣20 [ 𝜔20 ] Luego la matriz de funciones de forma del iso 20 es: 𝑁1 N=[0 0 0 𝑁1 0 0 𝑁2 0 0 𝑁1 0 0 𝑁2 0 0 𝑁20 0 … 0 𝑁2 0 122. 0 𝑁20 0 0 0 ] 𝑁20 123.0 De multiplicar los desplazamientos nodales y la matriz de funciones de forma del iso 20, se puede obtener el vector de desplazamientos. En el caso de las funciones de forma que dependen de 𝜉, 𝜂, 𝜁 es necesario establecer estas derivadas respecto a x, y, y z. La matriz cinemática del iso 20 se ensambla de manera similar a la matriz cinemática del iso 9, esto para cada punto de Gauss, luego el resultado será una matriz de rigidez global del elemento, esta se ensambla como se describió en las ecuaciones 38 a la 41.2. Objetivo de estudio Analizar el comportamiento de un puente curvo de sección transversal tipo viga cajón con cuatro puntos de apoyo, el cual será sometido a unas cargas a elección del Código Colombiano de Puentes 14 (CCP 14) y una sección a peso propio, usando un código en Matlab definiendo en GiD elementos Iso 9 e Iso 20. Análisis sección transversal en Iso 9 El puente curvo que se está analizando en este trabajo, presenta la oportunidad de estimar el comportamiento de la sección que se eligió, sin aplicar ninguna carga pero si considerando la gravedad de forma que debido a las restricciones impuestas se reflejará el comportamiento por estar a peso propio. La siguiente figura muestra señalada la sección que se eligió para este análisis: Figura 6.0 Sitio de la sección a analizar con iso 9 (2D). Descripción del modelo Para que la sección transversal este bajo peso propio, se partió de la premisa que este se da cuando la sección se encuentra en el aíre, esto ocurre al realizarle un izaje de la sección. Figura 7.0 Situación de izaje: a dos puntos. (Solís Díaz, 2016) Geometría de la sección analizada Se procedió a escoger una sección en el puente curvo que fuera interesante analizar, por lo que la sección que resulta de cortar el puente en el punto máximo del arco que se forma en cada luz donde se encuentra la disminución de área de la parte central inferior que empieza en 0.40m en los apoyos y va disminuyendo hasta que en el punto máximo de la curva es 0.20 m. La geometría ya dibujada en GiD se presenta en las siguientes imágenes: Figura 8.0 Sección del puente con losa inferior en cota a = 0.2 m. Figura 9.0 Geometría de la sección con las respectivas superficies. La imagen 9.0 muestra la configuración de las superficies de la sección analizada por iso 9. Malla de la sección analizada Se generó una malla no estructurada para identificar el efecto del iso 9 y se obtuvo la malla que se presenta en la siguiente imagen: Figura 10.0 Malla generada con elementos cuadriláteros de nueve nodos. Se revisó que la malla no tuviera inconsistencias de forma que al exportar el archivo de malla se pudiera obtener conexión nodal continua para que el código en Matlab no presentará errores al ser ejecutado. Zona de restricciones La sección del puente que se analiza por peso propio tiene ciertas especificaciones que permiten analizarla, siendo una de ellas tener en cuenta los puntos de izaje del la sección. Los puntos de izaje se ubicaron en los puntos lateral izquierdo y derecho, esto para evitar que por el peso se de una falla en las alas si se ubicaran los puntos de izaje ahí. El archivo .txt de restricciones tendrá los nodos seleccionados con cero para la dirección 2 que es la dirección Y, en la imagen siguiente se puede ver los puntos donde se ubicó la restricción. La carga será por lo tanto el peso propio del elemento, de forma que el archivo .txt de cargas no tendrá valor alguno. Figura 11.0 Ubicación de cargas Material La sección está hecha de concreto y además se considerará la gravedad para el análisis, por lo que en el archivo de dgenerales.txt se digitarán los datos asociados al material y a las condiciones que propician el análisis por peso propio. Además se especifica un espesor en el archivo de Matlab para que este pueda hacer los respectivos cálculos interiormente. Resultados del post proceso del Iso 9 Deformación en la sección debido a izaje Figura 12.0 Deformación en y de la sección sometida a peso propio y dos puntos de izaje. En este imagen es evidente que al ser sostenida la sección en sentido Y se presenta una deformación debido a su propio peso en las alas de la sección como se espera analíticamente. Esfuerzos en X Figura 13.0 Esfuerzos en X debido a izaje y peso propio. Los esfuerzos en X llegan a un máximo valor de 3310.3 KPa en los puntos donde hay cambios de área evidentes como son las puntas de las alas y las esquinas interiores de la viga. Esfuerzos en Y Figura 14.0 Esfuerzos en Y debido a peso propio y 2 puntos de izaje. La zona que está sometida a un mayor esfuerzo en Y es aquella que esta agarrada por el izaje, como consecuencia es posible que se pudieses presentar una falla en esa zona debido a este esfuerzo. Figura 15.0 Los esfuerzos cortantes en el plano XY. En los puntos de izaje es justamente donde se producen los esfuerzos cortantes y así lo muestra la gráfica de resultados en el post-proceso. Análisis puente en Iso 20 Para el análisis con el Iso 20, se creó uso todo el puente curvo bajo las condiciones que se trazaron, las cuales son: Puente curvo tipo viga cajón, con 4 apoyos (dos rígidos, dos simples) Del CCP 14 se eligio la carga que se aplicaría La malla sería en Iso 20 para los analisis pertinentes en el post proceso Figura 16.0 Trazabilidad de los parámetros a cumplir en el análisis del Iso 20. Descripción del modelo El puente curvo esta hecho de concreto, tiene un radio de curvatura al eje longitudinal de 141 metros, se encuentra apoyado en 4 puntos de donde dos son imples y los otros dos son rígidos, además el enunciado expresa que habrá una reducción de área a causa de que en el punto máximo de la luz la losa inferior pasará de 0.4 metros a 0.2 metros. Los datos de la geometría de la sección que corresponde a los apoyos de los extremos es la siguiente: Figura 17.0 Sección del puente curvo que corresponde a los apoyos de los extremos. La distancia a varía de 0.4 m extremos en apoyos a 0.2 m en luces. Geometría del puente analizado En la construcción de la geometría del puente se afrontaron varios retos; entre ellos el más evidente fue lograr un modelo geométricamente continuo, pero esto no fue posible fácilmente. Primero fue necesario realizar esquemas manualmente pues así se podían calcular los puntos que se dibujarían en el GiD. Hubieron intentos fallidos como dibujar la geometría y que esta no permitiera generar una malla adecuada porque existían inconsistencias, lo cual se resolvió al optar por dibujar los puntos exactos. A continuación una imagen del esquema que fue realizado para la generación de puntos de la geometría: Figura 18.0 Esquema para cálculo de puntos. Una de las herramientas usadas en el cálculo de los puntos fue usar las coordenadas polares y rectangulares para estimar distancias como se muestra a continuación: Figura 19.0 Herramienta usada para la estimación de las distancias necesarias. (NASA (National Aeronautics ans Space Administration) , 2015) El resultado de haber realizado una geometría con precisión fue obtener el modelo que se muestra a continuación: Figura 20.0 Losa inferior con las 3 luces pedidas. Figura 21.0 Losa superior del puente. Figura 22.0 Modelo 3D del puente en GiD. Ubicación de los puntos de la geometría del puente Luego de haberse realizado el cálculo de cada punto mediante el uso de coordenadas polares, se identificó que el programa GiD requería de buena precisión de forma que se concluyó que es necesario realizar ese tipo de estimaciones con la mayor cantidad de decimales posible. Al final se organizó en un archivo de excel si se obtuvieron las siguientes tablas (López Rojas , 2018) : 1 1 2 3 4 5 6 7 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 x 2,34999999999999000 2,86811178543772000 4,41869667270149000 6,99053040325950000 10,56499617842530000 15,11621942125490000 20,61125507550990000 borde exterior coordenadas xyz y z 0,00000000000000000 0,00000000000000000 0,20000000000000000 12,16827696712270000 0,00000000000000000 24,24847111615060000 0,20000000000000000 36,15313723633980000 0,00000000000000000 47,79610071618410000 0,20000000000000000 59,09308133778140000 0,00000000000000000 69,96230335820610000 Tabla 2.0 Coordenadas para del punto 1. 15 1 2 3 4 5 6 7 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 2,34999999999999000 2,86811178543772000 4,41869667270149000 6,99053040325950000 10,56499617842530000 15,11621942125490000 20,61125507550990000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,00000000000000000 12,16827696712270000 24,24847111615060000 36,15313723633980000 47,79610071618410000 59,09308133778140000 69,96230335820610000 Tabla 3.0 Coordenadas del punto 15. 17 1 2 3 4 5 6 7 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 x 2,34999999999999000 2,86811178543772000 4,41869667270149000 6,99053040325950000 10,56499617842530000 15,11621942125490000 20,61125507550990000 Punto 17 y 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 z 0,00000000000000000 12,16827696712270000 24,24847111615060000 36,15313723633980000 47,79610071618410000 59,09308133778140000 69,96230335820610000 Tabla 4.0 Coordenadas del punto 17. 6 1 2 3 4 5 6 7 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 x x 0,00000000000000000 0,52661728802786500 2,10265711406262000 4,71671095825539000 8,34985640210184000 12,97579410263770000 18,56103816616620000 Punto 6 y 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 z 0,00000000000000000 12,36803561799760000 24,64654241983870000 36,74663966390110000 48,58073806639740000 60,06317383616620000 71,11082877135160000 Tabla 5.0 Coordenadas del punto 6. 5 1 2 3 4 angulos en radianes 0,000 0,085 0,170 0,255 0,00000000000000000 0,52661728802786500 2,10265711406262000 4,71671095825539000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 0,00000000000000000 12,36803561799760000 24,64654241983870000 36,74663966390110000 5 6 7 0,340 0,426 0,511 8,34985640210184000 2,80000000000000000 12,97579410263770000 2,80000000000000000 18,56103816616620000 2,80000000000000000 48,58073806639740000 60,06317383616620000 71,11082877135160000 Tabla 6.0 Coordenadas del punto 5. 8 9 10 11 12 13 14 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 x 6,65000000000001000 7,15254852537916000 8,65655629063642000 11,15113619624580000 14,61823066276180000 19,03274234468210000 24,36271580324520000 2,000 borde interior coordenadas xyz y 0,00000000000000000 0,20000000000000000 0,00000000000000000 0,20000000000000000 0,00000000000000000 0,20000000000000000 0,00000000000000000 z 0,00000000000000000 11,80276113786230000 23,52008532642340000 35,06715407101490000 46,36038130941080000 57,31801846839640000 67,86074621925890000 Tabla 7.0 Coordenadas del punto 2. 16 8 9 10 11 12 13 14 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 6,65000000000001000 7,15254852537916000 8,65655629063642000 11,15113619624580000 14,61823066276180000 19,03274234468210000 24,36271580324520000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,00000000000000000 11,80276113786230000 23,52008532642340000 35,06715407101490000 46,36038130941080000 57,31801846839640000 67,86074621925890000 Tabla 8.0 Coordenadas del punto 16. 18 8 9 10 11 12 13 14 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 6,65000000000001000 7,15254852537916000 8,65655629063642000 11,15113619624580000 14,61823066276180000 19,03274234468210000 24,36271580324520000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 Tabla 9.0 Coordenadas del punto 18. 0,00000000000000000 11,80276113786230000 23,52008532642340000 35,06715407101490000 46,36038130941080000 57,31801846839640000 67,86074621925890000 3 8 9 10 11 12 13 14 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 9,00000000000000000 9,49404302278901000 10,97259584927530000 13,42495564124990000 16,83337043908520000 21,17316766329930000 26,41293271258890000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 0,00000000000000000 11,60300248698740000 23,12201402273530000 34,47365164345360000 45,57574395919750000 56,34792597001160000 66,71222080611340000 Tabla 10.0 Coordenadas del punto 3. 4 8 9 10 11 12 13 14 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 9,0000000000000000 9,4940430227890100 10,9725958492753000 13,4249556412499000 16,8333704390852000 21,1731676632993000 26,4129327125889000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 0,0000000000000000 11,6030024869874000 23,1220140227353000 34,4736516434536000 45,5757439591975000 56,3479259700116000 66,7122208061134000 Tabla 11.0 Coordenadas del punto 4. 13 borde interior EXTERIOR coordenadas xyz angulos en radianes 15 16 17 18 19 20 21 0,000 0,085 0,170 0,255 0,340 0,426 0,511 x 2,65000000000001000 3,16702597659642000 4,71436129720857000 7,28080522602599000 10,84777997965800000 15,38946520661030000 20,87298489372400000 y 0,00000000000000000 0,20000000000000000 0,00000000000000000 0,20000000000000000 0,00000000000000000 0,20000000000000000 0,00000000000000000 Tabla 12.0 Coordenadas del punto 13. z 0,00000000000000000 12,14277586275570000 24,19765350291380000 36,07737096899160000 47,69593424594410000 58,96923974224290000 69,81568309269810000 7 15 16 17 18 19 20 21 angulos en radianes 0,000 2,65000000000001000 0,40000000000000000 0,00000000000000000 0,085 3,16702597659642000 0,40000000000000000 12,14277586275570000 0,170 4,71436129720857000 0,40000000000000000 24,19765350291380000 0,255 7,28080522602599000 0,40000000000000000 36,07737096899160000 0,340 10,84777997965800000 0,40000000000000000 47,69593424594410000 0,426 15,38946520661030000 0,40000000000000000 58,96923974224290000 0,511 20,87298489372400000 0,40000000000000000 69,81568309269810000 Tabla 13.0 Coordenadas del punto 7. 9 15 16 17 18 19 20 21 angulos en radianes 0,000 2,65000000000001000 2,40000000000000000 0,00000000000000000 0,085 3,16702597659642000 2,40000000000000000 12,14277586275570000 0,170 4,71436129720857000 2,40000000000000000 24,19765350291380000 0,255 7,28080522602599000 2,40000000000000000 36,07737096899160000 0,340 10,84777997965800000 2,40000000000000000 47,69593424594410000 0,426 15,38946520661030000 2,40000000000000000 58,96923974224290000 0,511 20,87298489372400000 2,40000000000000000 69,81568309269810000 Tabla 14.0 Coordenadas del punto 9. 19 15 16 17 18 19 20 21 angulos en radianes 0,000 2,94999999999999000 2,80000000000000000 0,00000000000000000 0,085 3,46594016775512000 2,80000000000000000 12,11727475838870000 0,170 5,01002592171565000 2,80000000000000000 24,14683588967700000 0,255 7,57108004879245000 2,80000000000000000 36,00160470164330000 0,340 11,13056378089080000 2,80000000000000000 47,59576777570410000 0,426 15,66271099196560000 2,80000000000000000 58,84539814670440000 0,511 21,13471471193810000 2,80000000000000000 69,66906282719020000 Tabla 15.0 Coordenadas del punto a 19. 11 15 16 17 18 19 20 21 angulos en radianes 0,000 2,9499999999999900 2,6000000000000000 0,0000000000000000 0,085 3,4659401677551200 2,6000000000000000 12,1172747583887000 0,170 5,0100259217156500 2,6000000000000000 24,1468358896770000 0,255 7,5710800487924500 2,6000000000000000 36,0016047016433000 0,340 11,1305637808908000 2,6000000000000000 47,5957677757041000 0,426 15,6627109919656000 2,6000000000000000 58,8453981467044000 0,511 21,1347147119381000 2,6000000000000000 69,6690628271902000 Tabla 16.0 Coordenadas del punto 11. 12 22 23 24 25 26 27 28 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 6,05000000000001000 6,55472014306176000 8,06522704162225000 10,57058655071280000 14,05266306029620000 18,48625077397130000 23,83925616681700000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 2,60000000000000000 0,00000000000000000 11,85376334659630000 23,62172055289690000 35,21868660571140000 46,56071424989080000 57,56570165947340000 68,15398675027480000 Tabla 17.0 Coordenadas del punto 12. 20 22 23 24 25 26 27 28 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 6,0500000000000100 6,5547201430617600 8,0652270416222500 10,5705865507128000 14,0526630602962000 18,4862507739713000 23,8392561668170000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 2,8000000000000000 Tabla 18.0 Coordenadas del punto 20. 0,0000000000000000 11,8537633465963000 23,6217205528969000 35,2186866057114000 46,5607142498908000 57,5657016594734000 68,1539867502748000 10 22 23 24 25 26 27 28 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 6,34999999999999000 6,85363433422046000 8,36089166612931000 10,86086137347930000 14,33544686152900000 18,75949655932670000 24,10098598503110000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 2,40000000000000000 0,00000000000000000 11,82826224222930000 23,57090293966020000 35,14292033836320000 46,46054777965080000 57,44186006393490000 68,00736648476680000 Tabla 19.0 Coordenadas del punto 10. 8 22 23 24 25 26 27 28 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 6,34999999999999000 6,85363433422046000 8,36089166612931000 10,86086137347930000 14,33544686152900000 18,75949655932670000 24,10098598503110000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,40000000000000000 0,00000000000000000 11,82826224222930000 23,57090293966020000 35,14292033836320000 46,46054777965080000 57,44186006393490000 68,00736648476680000 Tabla 20.0 Coordenadas del punto 8. angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 x 6,34999999999999000 6,85363433422046000 8,36089166612931000 10,86086137347930000 14,33544686152900000 18,75949655932670000 24,10098598503110000 14 borde interior exterior interior coordenadas xyz y z 0,00000000000000000 0,00000000000000000 0,20000000000000000 11,82826224222930000 0,00000000000000000 23,57090293966020000 0,20000000000000000 35,14292033836320000 0,00000000000000000 46,46054777965080000 0,20000000000000000 57,44186006393490000 0,00000000000000000 68,00736648476680000 Tabla 21.0 Coordenadas del punto 14. 21 Angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 x 2,65000000000001000 3,16702597659642000 4,71436129720857000 7,28080522602599000 10,84777997965800000 15,38946520661030000 20,87298489372400000 y z 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 0,00000000000000000 12,14277586275570000 24,19765350291380000 36,07737096899160000 47,69593424594410000 58,96923974224290000 69,81568309269810000 Tabla 22.0 Coordenadas del punto 21. 23 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 6,34999999999999000 6,85363433422046000 8,36089166612931000 10,86086137347930000 14,33544686152900000 18,75949655932670000 24,10098598503110000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 0,00000000000000000 11,82826224222930000 23,57090293966020000 35,14292033836320000 46,46054777965080000 57,44186006393490000 68,00736648476680000 Tabla 23.0 Coordenadas del punto 23. 25 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 7,50000000000000000 7,99947206699551000 9,49427272673981000 11,97358152741750000 15,41945143292130000 19,80693873652230000 25,10428362151850000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 2,80000000000000000 Tabla 24.0 Coordenadas del punto 25. 0,00000000000000000 11,73050800882240000 23,37610208891920000 34,85248298019490000 46,07657631039750000 56,96713394770400000 67,44532213365310000 26 angulos en radianes 0,000 1,50000000000000000 2,80000000000000000 0,085 2,02118824382140000 2,80000000000000000 0,170 3,58098023659807000 2,80000000000000000 0,255 6,16808507208779000 2,80000000000000000 0,340 9,76377540826573000 2,80000000000000000 0,426 14,34202302941460000 2,80000000000000000 0,511 19,86968725723670000 2,80000000000000000 0,00000000000000000 12,24053009616250000 24,39245435365480000 36,36780832715990000 48,07990571519740000 59,44396585847380000 70,37772744381190000 Tabla 25.0 Coordenadas del punto 26. 27 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 7,50000000000000000 7,99947206699551000 9,49427272673981000 11,97358152741750000 15,41945143292130000 19,80693873652230000 25,10428362151850000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 0,00000000000000000 11,73050800882240000 23,37610208891920000 34,85248298019490000 46,07657631039750000 56,96713394770400000 67,44532213365310000 Tabla 26.0 Coordenadas del punto 27. 28 angulos en radianes 0,000 0,085 0,170 0,255 0,340 0,426 0,511 1,50000000000000000 2,02118824382140000 3,58098023659807000 6,16808507208779000 9,76377540826573000 14,34202302941460000 19,86968725723670000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 2,47234042553191000 Tabla 27.0 Coordenadas del punto 28. 0,00000000000000000 12,240530096162500t00 24,39245435365480000 36,36780832715990000 48,07990571519740000 59,44396585847380000 70,37772744381190000 Definición de las cargas Revisión del Código Colombiano de puentes (CCP14) El procedimiento realizado para establecer las cargas a aplicar en una zona del puente consistió en realizar la revisión del CCP14, y así elegir cual tipo de carga sería aplicable. Se optó por la carga de carril de diseño, según la norma, la carga de carril de diseño debe consistir en una carga de 10.3 kN/m que debe ser uniformemente distribuida en dirección longitudinal, y en el sentido transversal la carga de carril de diseño debe suponerse uniformemente distribuida sobre un ancho de 3000 mm, este tipo de cargas tienen la especificación de que no deben someterse a amplificación con carga dinámica (República de Colombia, Ministerio de Transporte, Invias, 2014). Tabla 28.0 Selección del factor de mayorización –resistencia I (CCP14- Tabla 3.4.1.1. (República de Colombia, Ministerio de Transporte, Invias, 2014) Factor de mayorización Se eligió el estado límite conocido como resistencia I, este estado refiere a combinación básica de cargas relacionadas con el uso vehicular normal del puente sin viento. El factor de mayorización de 1.75 se seleccionó de la tabla 3.4.1.1 – Combinaciones de factores de carga del CCP14. Carga en nodos de ubicación del camión Los datos para el camión de diseño son: 23.0 Las características del camión de diseño según figura 3.6.1.2.2-1. (República de Colombia, Ministerio de Transporte, Invias, 2014) La ubicación de los nodos del camión con case enlisto así: Nodo Eje Y Carga (Kn) 18110 18085 20650 2 -294 20612 2 -294 26046 2 -294 26000 2 -294 2 2 2 2 2 2 -73.5 -73.5 -294 -294 -294 -294 Tabla 29.0 Cagas en nodos debido a camión de diseño. En la siguiente imagen se puede evidenciar como se ve afectado en puente por la ubicación de las cargas, teniendo en cuenta que se aplicaron las cargas en 2520 nodos en la zona con mayor longitud de los vectores de desplazamiento: Figura 24.0 Desplazamiento debido a las cargas aplicadas. Archivo de cargas El archivo de cargas .txt se conformó por los nodos que se eligieron, los cuales se enlistaron como se muestra en forma resumida en la siguiente tabla: Ítem 1 2 3 4 5 6 7 8 9 10 11 12 Nodo 14915 15270 14748 15625 15100 15259 15975 15448 14894 16324 15611 15791 Eje 2 2 2 2 2 2 2 2 2 2 2 2 Tabla 30.0 Nodos cargados primeras 12 posiciones. Carga (kN) -0.343 -0.343 -0.343 -0.343 -0.343 -0.343 -0.343 -0.343 -0.343 -0.343 -0.343 -0.343 Restricciones Inicialmente se realizó un análisis del enunciado del problema donde especifica que el puente tiene 4 apoyos, de estos dos apoyos son apoyos simples y los otros don son apoyos rígidos, de forma que se realizaron las respectivas restricciones en los extremos y en los medios. En los extremos se eligió restringir un extremo en la dirección 1 y 2, para el otro extremo en la dirección1, 2 y 3, para los de la mitad se restringió solo en la dirección 2. Archivos de restricciones Luego de obtener los nodos restringidos, se creó un archivo .txt donde se indicó con cero el eje restringido, y en la siguiente tabla se presentan resumen de posiciones del archivo de restricciones: Ítem 1 2 3 4 5 6 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Nodo 42779 42801 42830 42848 42866 42912 2178 2338 2781 2660 674 639 586 674 639 586 2530 731 797 42779 674 639 586 2530 731 797 Eje 2 2 2 2 2 2 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 Carga 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 Tabla 31.0 Posiciones resumen del archivo de restricciones. Tabla 32.0 Visualización del comportamiento de la deformación en el puente debido a las cargas y restricciones. Malla del puente Para generar la malla del puente se creyó pertinente crear varias capas, debido a la complejidad de la figura, dejar todo el modelo en una sola capa dificulta la selección de las líneas ya que son muchas. Sección del puente Divisiones horizontales 5 Ala izquierda 5 Ala derecha 1 Lateral derecho 1 Lateral izquierdo 11 Losa inferior 20 Losa superior Divisiones verticales 1 1 5 5 1 1 Tabla 33.0 Divisiones de las piezas en el puente para generación de malla. Las divisiones realizadas resultaron en una malla estructurada que esta por capas como se ve en la siguiente imagen: Tabla 34.0 Visualización de las divisiones en la malla. Resultados puente con elementos Iso 20 Las siguientes imágenes corresponden al campo de resultados en esfuerzos, esfuerzos principales, deformaciones unitarias, y desplazamientos del puente curvo. Se encuentran gráficas en 2D y en el puente en 3D. Gráficas 2D Gráficas de esfuerzos en puente vista 3D Esfuerzos en X Figura 25.0 Esfuerzo en Z: esfuerzos en losa superior. Esfuerzo en Z: Teniendo en cuenta que la carga aplicada a la estructura se ubicó en el vano central, los mayores esfuerzos se presentan en el vano donde se aplicó la carga y en los apoyos centrales donde se genera la reacción. En los vanos extremos los esfuerzos se presentan en una magnitud menor. Figura 26.0 Esfuerzos en Y: esfuerzos en losa superior. Esfuerzo en Y: Teniendo en cuenta que para localizar el camión se consideró el teorema de Barett que permite calcular la máxima deflexión, que para este caso de análisis se escogió vano central, el máximo esfuerzo se produce justamente en esta posición. Figura 27.0 Vista YX de esfuerzos en xz. Figura 28.0 Vista en corte de esfuerzos en xy. En las secciones de los apoyos centrales del puente se generan los esfuerzos máximos a cortantes ya que, por la geometría curva, la localización de la carga de carril de diseño y el camión de diseño en la parte exterior de la calzada genera una excentricidad que ocasiona que estas secciones estén sometidas a torsión. Figura 29.0 Vista en sección de esfuerzos en yz. Resultados de esfuerzos en vista 3D Figura 30.0 Esfuerzos en X (Sxx) vista 1. Los esfuerzos en X varían de 29890 KPa hasta - 41889 Kpa, siendo su mayor influencia evidente en los puntos de apoyo ubicados en los puntos más altos de la luz. Para los esfuerzos siguientes, la mayor influencia también se da en los puntos restringidos de las luces como se espera. Figura 31.0 Esfuerzos en X (Sxx) vista 2. Esfuerzos en Y Figura 32.0 Esfuerzos en Y (Syy) vista 1. Figura 33.0 Esfuerzos en Y (Syy) vista 2. Esfuerzos en Z Figura 34.0 Esfuerzos en Z (Szz) vista 1. Figura 35.0 Esfuerzos en Z (Szz) vista 2. Esfuerzos cortantes 𝝉𝒙𝒚 Figura 36.0 Esfuerzos cortantes 𝜏𝑥𝑦 Figura 37.0 Esfuerzos cortantes 𝜏𝑥𝑦 vista 2. Esfuerzos cortantes 𝝉𝒙𝒛 Figura 38.0 Esfuerzos cortantes 𝜏𝑥𝑧 vista 1. Figura 39.0 Esfuerzos cortantes 𝜏𝑥𝑧 vista 2. Esfuerzos cortantes 𝝉𝒚𝒛 Figura 40.0 Esfuerzos cortantes 𝜏𝑦𝑧 vista 1. Figura 41.0 Esfuerzos cortantes 𝜏𝑦𝑧 vista 2. Esfuerzo principal 1 Figura 42.0 Esfuerzo principal 1 vista 1. Figura 43.0 Esfuerzo principal 1 vista 2. Esfuerzo principal 2 44.0 Esfuerzo principal 2 vista 1. Figura 45.0 Esfuerzo principal 2 vista 2. Esfuerzo principal 3 Figura 46.0 Esfuerzo principal 3 vista 1. Figura 47.0 Esfuerzo principal 3 vista 2. Deformación unitaria en X Figura 48.0 Deformación unitaria en X. Deformación unitaria en Y Figura 49.0 Deformación unitaria en Y. Deformación unitaria en Z. Figura 50.0 Deformación unitaria en Z. Deformación unitaria en XY Figura 51.0 Deformación unitaria en XY. Deformación unitaria en XZ Figura 52.0 Deformación unitaria en XZ. Deformación unitaria en YZ Figura 53.0 Deformación unitaria en YZ. Deformación principal 1 Figura 54.0 Deformación principal 1. Deformación principal 2 55.0 Deformación principal 2. Deformación principal 3 Figura 56.0 Deformación principal 3. Deformación del puente Figura 57.0 Vista deformada del puente. Figura 58.0 Vista original vs vista deformada. Conclusiones 1. El análisis por el método de los elementos finitos es eficiente porque permite discretizar un sistema y realizar análisis de varias variables que de otra forma sería imposible realizar, sin embargo la precisión de los resultados depende de la experticia del usuario que este ejecutando el análisis ya que si no tiene los conocimientos ingenieriles adecuados puede que no vea errores que den resultados poco precisos; también está que el uso del software de análisis puede requerir también una experiencia previa y horas de dedicación para obtener una agilidad de manejo considerable. 2. La geometría es el punto de partida más importante, pues cuando la geometría presentaba errores la malla se generaba con errores que se podían identificar al exportar los archivos a excel pues la conectividad nodal era discontinua, razón por la cual fue importante realizar un análisis previo para crear los puntos que posteriormente se crearon en GiD para realizar el modelo en 3D. 3. Es interesante los datos del post proceso de la sección evaluada con iso 9, ya que los resultados concernientes a deformación y a esfuerzos son congruentes por con resultados que se esperan analíticamente, entonces se puede concluir que el peso propio de un elemento estructural si produce esfuerzos y deformación que hay que tener en cuenta en la construcción geométrica de estas para permitir que al ser izadas para ensamble no se presente una falla por peso propio. 4. En el puente se identificó una torsión producida por las cargas que fueron aplicadas, esto se evidencia en los esfuerzos cortantes y también en el modelo de deformación del puente, esto sucede debido a la forma del puente y por lo cual se instalan dos apoyos rígidos que le dan el aporte contra torsión que asegura que no se presente una falla del mismo mientras esté en funcionamiento. Bibliografía (s.f.). Felippa A., C. (2004). Introduction to finite element methods. University of Colorado at Boulder, Course Notes, Department of Aerospace Engineeing Sciences, Colorado. Ferreira, A. (2009). MATLAB Codes for Finite Element Analysis: Solids and Structures. Universidade do Porto, Fac. Engenharia. Porto, Portugal: Springer Science Business Media B.V. Hutton V., D. (2004). Fundamentals of Finite Element Analysis. New York: McGraw-Hill. Kwon W., Y., & Bang, H. (2000). The Finite Element Method using Matlab. Library of Congress Cataloging in Publication Data. Leiton Lasso, D. E., López Rojas, W., & Soto Pineda, D. Y. (2018). Estudiantes: Análisis Estructural por Elementos Finitos. Universidad Nacional de Colombia, Ingeniería Civil y Arquitectura, Manizales. López Rojas , W. (2018). Análisis por coordenadas de la geometría de puente curvo tipo viga cajón con 3 luces. Manizales. Mathai, A. M. (1997). Jacobian of Matrix Transformations and Funtions of Matrix Argument. McGill Universit , Deparment of Mathematics & Statistics . World Scientific Publishing Co. Pte. Ltd. NASA (National Aeronautics ans Space Administration) . (05 de Mayo de 2015). NASA. Obtenido de https://www.grc.nasa.gov/www/k-12/airplane/coords.html Paredes López, J. (2018). Elemento Hexaédrico de 20 nodos. Manizales. Paredes López, J. A. (2018). Elemento cuadrilátero isoparamétrico de nueve nodos. Universidad Nacional de Colombia. Manizales: Guía de estudio. Clase de análisis estructural por elementos finitos. Paredes López, J. A. (2018). Elemento Isoparámetrico. Universidad Nacional de Colombia , Manizales. República de Colombia, Ministerio de Transporte, Invias. (2014). Norma Colombiana de diseño de puentes CCP14. Bogotá : Asociación Colombiana de Ingeniería Sísmica - AIS. Skiba, Y. (2005). Métodos y esquemas numéricos: un análisis computacional. Universidad Nacional Autónoma de México. México,D.F.: Dirección general de publicaciones y fomento editorial. Solís Díaz, J. M. (03 de Agosto de 2016). Radio Rebelde. Obtenido de http://www.radiorebelde.cu/noticia/comienza-colocacion-vigas-postensadas-puentematancero-guanima-20160803/ Anexo 1. Líneas de código para análisis de elemento de 9 nodos %% %Programa para problemas lineales planos de elementos finitos; octubre 2016 %Jairo Andrés Paredes López - japaredesl@unal.edu.co %Profesor Asociado - UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MANIZALES % Departamento de Ingeniería Civil - Posgrados de Estructuras %% clear,clc, close all; tic ttim=0; timeacu=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % LECTURA DE ENTRADA DE DATOS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nudo= load ('coord.txt','-ascii'); %Lee las coordenadas nodales:coord.txt elements=load ('malla.txt','-ascii'); %Lee la conectividad nodal: malla.txt triang=elementos restric=load('restric.txt','-ascii');%Lee los desplazamientos impuestos (nodo direccion - magnitud) cargas=load('cargas.txt','-ascii'); %Lee los desplazamientos impuestos dgen=load('dgenerales.txt','-ascii'); ttim = timing('Lectura de datos',ttim); %Reporting time timeacu=timeacu+ttim; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DEFINICIÓN DE CONDICIONES GENERALES DEL PROBLEMA A ANALIZAR % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elemtpe=dgen(1); % 3 triangulo 3 nodos; 4 rectangulo 4 nodos; 5 isoparametrico 4 nodos; 9 iso 9nodos analytype=dgen(2); % 1 tensio plana; 2 deformacion plana ee=dgen(3); %espesor nmat=dgen(4); %Nùmero de MATERIALES numelem=size(elements,1); %numero de elementos del problema numnudos=size(nudo,1); %numero de nudos de la malla dim=2*numnudos; %dimension de la matriz de rigidez global: doft numrestric=size(restric,1); %numero de grados de libertad restringidos uk=restric(:,3); %subvector de desplazamientos conocidos %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PROPIEDADES MECÁNICAS DE LOS MATERIALES Y MATRICES CONSTITUTIVAS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %PROPIEDADES DE LOS MATERIALES Emat=zeros(nmat,1); % Vector con los valores de MODULO DE ELASTICIDAD de c/material vmat=zeros(nmat,1); % Vector con los valores de Modulo de Poisson de c/material romat=zeros(nmat,1);% Vector con los valores de densidad de c/material for i=1:nmat Emat(i)=dgen(4+i); vmat(i)=dgen(4+nmat+i); romat(i)=dgen(4+2*nmat+i); end grav=dgen(4+3*nmat+1); % % % (2.1e7) (0.2); %kN/m2 MÓDULOS DE ELASTICIDAD %MÓdulos de Poisson %Densidades % Gravedad, si grav=0.0, el peso propio=0.0 %MATRIZ CONSTITUTIVA DE ELASTICIDAD ISOTROPICA " C " Para cada material Cmat=zeros(3,3,nmat); if analytype == 1 % para tension plana for i =1:nmat E=Emat(i); v=vmat(i); C=E*[1/(1-v^2) v/(1-v^2) 0; v/(1-v^2) 1/(1-v^2) 0; 0 0 0.5/(1+v)]; Cmat(:,:,i)=C; end else if analytype == 2 %para deformación plana for i =1:nmat E=Emat(i); v=vmat(i); C=E/((1+v)*(1-2*v))*[(1-v) v 0 ; v (1-v) 0 ; 0 0 (1-2*v)*0.5]; Cmat(:,:,i)=C; end else error('error de definicion en el tipo de analisis') end end %% ---------------------------------------------------------------------switch elemtpe case 3 %% MATRIZ CINEMATICA B B=zeros(3,6,numelem); Ke=zeros(6,6,numelem); for i =1:numelem corx=nudo(elements(i,1:3),1); x1=corx(1); y1=cory(1); x2=corx(2); y2=cory(2); x3=corx(3); y3=cory(3); cory=nudo(elements(i,1:3),2); A(i)=0.5*det([1 x1 y1;1 x2 y2;1 x3 y3]); %Area del triangulo i a1=x2*y3-x3*y2; b1=y2-y3; c1=x3-x2; a2=x3*y1-x1*y3; b2=y3-y1; c2=x1-x3; a3=x1*y2-x2*y1; b3=y1-y2; c3=x2-x1; Baux=[b1 0 b2 0 c1 0 c1 b1 c2 0 b3 0; c2 0 c3; b2 c3 b3]; B(:,:,i)=Baux/(A(i)*2); %% MATRIZ DE RIGIDEZ DE CADA ELEMENTO Be=B(:,:,i); C=Cmat(:,:,elements(i,4)); % en el archivo malla en la columna 4 numero del material Ke(:,:,i)=ee*Be'*C*Be*A(i); end ttim = timing('calculo de matriz de rigidez elemental',ttim); %Reporting time timeacu=timeacu+ttim; %% ENSAMBLE DE LA MATRIZ GLOGAL DE RIGIDEZ Kg=sparse(dim,dim); for t=1:numelem fila=[2*elements(t,1)-1 2*elements(t,1) 2*elements(t,2)-1 2*elements(t,2) 2*elements(t,3)-1 2*elements(t,3)]; Kg(fila,fila)=Kg(fila,fila)+Ke(:,:,t); end ttim = timing('ensamble',ttim); %Reporting time timeacu=timeacu+ttim; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % VECTOR DE FUERZAS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Vector de fuerzas volumétricas de cada elemento fbe=zeros(6,numelem); fb=zeros(dim,1); %Verctor global de fuerzas volumétricas if grav~=0.0; %cálculo vector de fuerzas volumétricas de cada elemento for i =1:numelem fbe(:,i)=-0.3333333333*ee*A(i)*romat(elements(i,4))*grav*[0 1 0 1 0 1 ]; end % Calculo del vector global de fuerzas volumétricas for i=1:numelem for j=1:3 fb(elements(i,j)*2-1)=fb(elements(i,j)*2-1)+fbe(j*2-1,i); fb(elements(i,j)*2)=fb(elements(i,j)*2)+fbe(j*2,i); end end end fg=zeros(dim,1);%VECTOR Global DE FUERZAS distribuidas for i =1:size(cargas,1); loc=cargas(i,1)*2+(cargas(i,2)-2); fg(loc)=fg(loc)+cargas(i,3); end fg=fg+fb; % Vector global de cargas total %-----------------------------------------------------------------%Define los grados de libertad restringidos for k=1:size(restric,1) ficol(k)=restric(k,1)*2+(restric(k,2)-2); end %Define los grados de libertad NO restringidos n=0; for i=1:dim if i~=ficol n=n+1; noficol(n)=i; ii(n)=i; end end %GENERA EL VECTOR DE FUERZAS REDUCIDO fa=fg(noficol); %GENERA LAs subMATRIces DE Kg ka=Kg(ficol,ficol); kb=Kg(ficol,noficol); kc=Kg(noficol,ficol); kk=Kg(noficol,noficol); %% CALCULA EL VECTOR DE DESPLAZAMIENTOS unk=kk\(fa-kc*uk); u=unk; fr=ka*uk+kb*unk-fb(ficol); % fb(ficol) : fuerzas volumetricas aplicadas en los nodos restringidos ttim = timing('solucion',ttim); %Reporting time D=zeros(dim,1);%VECTOR DE DESPLAZAMIENTOS CON LOS DESPLAZAMIENTOS DEL APOYO n=0; for i=noficol;n=n+1; D(i)=u(n); end n=0; for i=ficol;n=n+1; D(i)=uk(n); end %% VECTOR DE DESPLAZAMIENTOS DE CADA ELEMENTO De De=sparse(6,numelem); for i=1:numelem fila=[2*elements(i,1)-1 2*elements(i,1) 2*elements(i,2)-1 2*elements(i,2) 2*elements(i,3)-1 2*elements(i,3)]; De(:,i)=D(fila); end %% CALCULO DE LA DEFORMACION unitaria DE CADA ELEMENTO Strain Strain=zeros(3,numelem); for i =1:numelem Strain(:,i)=B(:,:,i)*De(:,i); end %% CALCULO DE LAS TENSIONES EN CADA ELEMENTO Stress=zeros(3,numelem); for i =1:numelem C=Cmat(:,:,elements(i,4)); Stress(:,i)=C*B(:,:,i)*De(:,i); end ttim = timing('esfuerzos y deformaciones',ttim); %Reporting time timeacu=timeacu+ttim; %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% %% %%%%%%%%%%%%%%%% ESCRIBE ARCHIVO DE RESULTADOS %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% fid = fopen('salida.post.res', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.txt'); end fprintf(fid, 'GID Post Results File 1.0\n'); fprintf(fid, '\n'); fprintf(fid, 'GaussPoints "GP_TRIANGLE_1" Elemtype Triangle \n'); fprintf(fid, 'Number of Gauss Points: 1\n'); fprintf(fid, 'Natural Coordinates : Internal\n'); fprintf(fid, 'End GaussPoints\n'); fprintf(fid, '\n'); fprintf(fid, 'Result "STRESSES" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_TRIANGLE_1"\n'); fprintf(fid, 'ComponentNames "Sxx" "Syy" "Sxy"\n'); fprintf(fid, 'Values \n'); for i=1:numelem fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,Stress(1,i), Stress(2,i), Stress(3,i)); if i==numelem; fprintf(fid, 'End Values \n');end end fprintf(fid, 'Result "disp" "disp" 1.0 Vector OnNodes "GP_TRIANGLE_1"\n'); fprintf(fid, 'ComponentNames "Dx" "Dy" \n'); fprintf(fid, 'Values \n'); for i=1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f\n', i,D(i*2-1), D(i*2)); if i==size(nudo,1); end fclose(fid); fprintf(fid, 'End Values \n');end fid = fopen('salida.post.msh', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.post.msh'); end fprintf(fid, 'MESH dimension 3 ElemType Triangle Nnode 3\n'); fprintf(fid, 'Coordinates\n'); for i=1:1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,nudo(i,1), nudo(i,2), 0.0); if i==size(nudo,1); fprintf(fid, 'End Coordinates \n');end end fprintf(fid, 'Elements\n'); for i=1:numelem fprintf(fid, '%d %d %d %d %d\n', i,elements(i,1), elements(i,2), elements(i,3), elements(i,4)); if i==numelem; fprintf(fid, 'End Elements \n');end end fclose(fid); ttim = timing('escritura',ttim); %Reporting time timeacu=timeacu+ttim toc timeacu=timeacu+toc %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % cASO DE ELEMENTO RECTANGULAR DE 4 NODOS % % % case 4 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %MATRIZ de Rigidez elemental Ke Ke=zeros(8,8,numelem); fbe=zeros(8,numelem); for i=1:numelem corx=nudo(elements(i,1:4),1); cory=nudo(elements(i,1:4),2); conecti=zeros(1,4); for j=1:4 if (corx(j)==min(corx)& cory(j)==min(cory)) conecti(1)= elements(i,j); elseif (corx(j)==max(corx)& cory(j)==min(cory)) conecti(2)= elements(i,j); elseif (corx(j)==max(corx)& cory(j)==max(cory)) conecti(3)= elements(i,j); else conecti(4)= elements(i,j); end end elements(i,1:4)= conecti(:); end %% MATRIZ de Rigidez elemental Ke Ke=zeros(8,8,numelem); for i=1:numelem corx=nudo(elements(i,1:4),1); cory=nudo(elements(i,1:4),2); b=abs(corx(3)-corx(1))/2; h=abs(cory(3)-cory(1))/2; C=Cmat(:,:,elements(i,5)); c1=C(1,1);c2=C(1,2);c3=C(2,2);c4=C(3,3); Kee =[ 1/3/b*h*c1+1/3*b/h*c4 1/4*c2+1/4*c4 -1/3/b*h*c1+1/6*b/h*c4 1/4*c2-1/4*c4 -1/6/b*h*c1-1/6*b/h*c4 -1/4*c2-1/4*c4 1/6/b*h*c1-1/3*b/h*c4 -1/4*c2+1/4*c4; 1/4*c2+1/4*c4 1/3/b*h*c4+1/3*b/h*c3 -1/4*c2+1/4*c4 1/3/b*h*c4+1/6*b/h*c3 -1/4*c2-1/4*c4 -1/6/b*h*c4-1/6*b/h*c3 1/4*c2-1/4*c4 1/6/b*h*c4-1/3*b/h*c3; -1/3/b*h*c1+1/6*b/h*c4 -1/4*c2+1/4*c4 1/3/b*h*c1+1/3*b/h*c4 1/4*c2-1/4*c4 1/6/b*h*c1-1/3*b/h*c4 1/4*c2-1/4*c4 -1/6/b*h*c1-1/6*b/h*c4 1/4*c2+1/4*c4; 1/4*c2-1/4*c4 -1/3/b*h*c4+1/6*b/h*c3 -1/4*c2-1/4*c4 1/3/b*h*c4+1/3*b/h*c3 -1/4*c2+1/4*c4 1/6/b*h*c4-1/3*b/h*c3 1/4*c2+1/4*c4 -1/6/b*h*c4-1/6*b/h*c3; -1/6/b*h*c1-1/6*b/h*c4 -1/4*c2-1/4*c4 1/6/b*h*c1-1/3*b/h*c4 1/4*c2+1/4*c4 1/3/b*h*c1+1/3*b/h*c4 1/4*c2+1/4*c4 -1/3/b*h*c1+1/6*b/h*c4 1/4*c2-1/4*c4; -1/4*c2-1/4*c4 -1/6/b*h*c4-1/6*b/h*c3 1/4*c2-1/4*c4 1/6/b*h*c41/3*b/h*c3 1/4*c2+1/4*c4 1/3/b*h*c4+1/3*b/h*c3 -1/4*c2+1/4*c4 1/3/b*h*c4+1/6*b/h*c3; 1/6/b*h*c1-1/3*b/h*c4 1/4*c2-1/4*c4 -1/6/b*h*c1-1/6*b/h*c4 1/4*c2+1/4*c4 -1/3/b*h*c1+1/6*b/h*c4 -1/4*c2+1/4*c4 1/3/b*h*c1+1/3*b/h*c4 -1/4*c2-1/4*c4; -1/4*c2+1/4*c4 1/6/b*h*c4-1/3*b/h*c3 1/4*c2+1/4*c4 -1/6/b*h*c41/6*b/h*c3 1/4*c2-1/4*c4 -1/3/b*h*c4+1/6*b/h*c3 -1/4*c2-1/4*c4 1/3/b*h*c4+1/3*b/h*c3]; Ke(:,:,i)=ee*Kee; end %% %% ENSAMBRLE DE LA MATRIZ GLOGAL DE RIGIDEZ Kg=sparse(dim,dim); for t=1:numelem fila=[2*elements(t,1)-1 2*elements(t,1) 2*elements(t,2)-1 2*elements(t,2)... 2*elements(t,3)-1 2*elements(t,3) 2*elements(t,4)-1 2*elements(t,4)]; Kg(fila,fila)=Kg(fila,fila)+Ke(:,:,t); end %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % VECTOR DE FUERZAS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Vector de fuerzas volumétricas de cada elemento fbe=zeros(8,numelem); fb=zeros(dim,1); %Vector global de fuerzas volumétricas fg=zeros(dim,1);%VECTOR Global DE FUERZAS distribuidas if grav~=0.0; %cálculo vector de fuerzas volumétricas de cada elemento for i =1:numelem %Vector de fuerzas volumétricas de cada elemento fbe(:,i)=-ee*b*h*romat(elements(i,5))*grav*[0 1 0 1 0 1 0 1]; end % Calculo del vector global de fuerzas volumétricas for i=1:numelem for j=1:4 fb(elements(i,j)*2-1)=fb(elements(i,j)*2-1)+fbe(j*2-1,i); fb(elements(i,j)*2)=fb(elements(i,j)*2)+fbe(j*2,i); end end end for i =1:size(cargas,1); loc=cargas(i,1)*2+(cargas(i,2)-2); fg(loc)=fg(loc)+cargas(i,3); end fg=fg+fb; % Vector global de cargas total %% %% Define los grados de libertad restringidos for k=1:size(restric,1) ficol(k)=restric(k,1)*2+(restric(k,2)-2); end %% Define los grados de libertad NO restringidos n=0; for i=1:dim if i~=ficol n=n+1; noficol(n)=i; end end %% GENERA EL VECTOR DE FUERZAS APLICADAS REDUCIDO fa=fg(noficol); %% GENERA LAs subMATRIces DE Kg ka=Kg(ficol,ficol); kb=Kg(ficol,noficol); kc=Kg(noficol,ficol); kk=Kg(noficol,noficol); %% -----------------------------------------------------------------------%% CALCULA EL VECTOR DE DESPLAZAMIENTOS unk=kk\(fa-kc*uk); fr=ka*uk+kb*unk-fb(ficol); % fb(ficol) : fuerzas volumetricas aplicadas en los nodos restringidos D=zeros(dim,1);%VECTOR DE DESPLAZAMIENTOS CON LOS DESPLAZAMIENTOS DEL APOYO n=0; for i=noficol;n=n+1; D(i)=unk(n); end n=0; for i=ficol;n=n+1; D(i)=uk(n); end %VECTOR DE DESPLAZAMIENTOS DE CADA ELEMENTO De De=sparse(8,numelem); for i=1:numelem fila=[2*elements(i,1)-1 2*elements(i,1) 2*elements(i,2)-1 2*elements(i,2)... 2*elements(i,3)-1 2*elements(i,3) 2*elements(i,4)-1 2*elements(i,4)]; De(:,i)=D(fila); end %% CALCULO DE LA DEFORMACION unitaria y esfuerzos DE CADA ELEMENTO Strain=zeros(4,3,numelem); Stress=zeros(4,3,numelem); for i =1:numelem C=Cmat(:,:,elements(i,5)); corx=nudo(elements(i,1:4),1); cory=nudo(elements(i,1:4),2); b=abs(corx(3)-corx(1))/2; h=abs(cory(3)-cory(1))/2; % % % corx=[-b b b -b]; cory=[-h -h h h]; %corx=[0 0 0 0]; cory=[0 0 0 0]; corx=[-b/2 b/2 b/2 -b/2]; cory=[-h/2 -h/2 h/2 h/2]; pg= 3^(1/2)/3; % cuadratura de Gauss para 2 puntos 0.577350269189626; corx=pg*b*[-1 1 1 -1]; cory=pg*[-h -h h h]; for k=1:4 x= corx(k);y=cory(k); B=1/(4*b*h)*[-(h-y) 0 -(b-x) 0 (h-y) 0 -(b-x) 0 -(b+x) -(h-y) -(b+x) (h-y) (h+y) 0 (b+x) 0 -(h+y) 0 (b+x) 0 (b-x) (h+y) (b-x) -(h+y)]; Strain(k,:,i) = B*De(:,i); Stress(k,:,i) = C*B*De(:,i); end end %% %% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% ESCRIBE ARCHIVO DE RESULTADOS %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% fid = fopen('salida.post.res', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.txt'); end fprintf(fid, 'GID Post Results File 1.0\n'); fprintf(fid, '\n'); fprintf(fid, 'GaussPoints "GP_Quadrilateral_4" Elemtype Quadrilateral \n'); fprintf(fid, 'Number of Gauss Points: 4\n'); fprintf(fid, 'Natural Coordinates : Internal\n'); fprintf(fid, 'End GaussPoints\n'); fprintf(fid, '\n'); fprintf(fid, 'Result "STRESSES" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_Quadrilateral_4"\n'); fprintf(fid, 'ComponentNames "Sxx" "Syy" "Sxy"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:4 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,Stress(j,1,i),Stress(j,2,i),Stress(j,3,i)); else fprintf(fid, '%15.8f %15.8f %15.8f\n', Stress(j,1,i),Stress(j,2,i),Stress(j,3,i)); end end if i==numelem; fprintf(fid, 'End Values \n');end end fprintf(fid, 'Result "STRAINS" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_Quadrilateral_4"\n'); fprintf(fid, 'ComponentNames "Exx" "Eyy" "Txy"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:4 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,Strain(j,1,i),Strain(j,2,i),Strain(j,3,i)); else fprintf(fid, '%15.8f %15.8f %15.8f\n', Strain(j,1,i),Strain(j,2,i),Strain(j,3,i)); end end if i==numelem; fprintf(fid, 'End Values \n');end end fprintf(fid, 'Result "disp" "disp" 1.0 Vector OnNodes "GP_Quadrilateral_4"\n'); fprintf(fid, 'ComponentNames "Dx" "Dy" \n'); fprintf(fid, 'Values \n'); for i=1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f\n', i,D(i*2-1), D(i*2)); if i==size(nudo,1); end fclose(fid); fprintf(fid, 'End Values \n');end fid = fopen('salida.post.msh', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.post.msh'); end fprintf(fid, 'MESH dimension 3 ElemType Quadrilateral Nnode 4\n'); fprintf(fid, 'Coordinates\n'); for i=1:1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,nudo(i,1), nudo(i,2), 0.0); if i==size(nudo,1); fprintf(fid, 'End Coordinates \n');end end fprintf(fid, 'Elements\n'); for i=1:numelem fprintf(fid, '%d %d %d %d %d %d\n', i,elements(i,1), elements(i,2), elements(i,3), elements(i,4),elements(i,5)); if i==numelem; fprintf(fid, 'End Elements \n');end end fclose(fid); %% case 5 Elemento isoparamétrico de 4 nodos %%%%%%%%%%%%%%%%%%%%%% %% case 5 %% MATRIZ de Rigidez elemental Ke y Vector de fuerzas volum de cada elemento Ke=zeros(8,8,numelem); fbe=zeros(8,numelem); pg= (1/3)^(1/2); % cuadratura de Gauss para 2 puntos 0.577350269189626; pgs=pg*[-1 1 1 -1]; % vector de coordenadas Shi de los 4 puntos de Gauss pgr=pg*[-1 -1 1 1]; % vector de coordenadas Eta de los 4 puntos de Gauss B3=cell(1,numelem); for i=1:numelem corx=nudo(elements(i,1:4),1); cory=nudo(elements(i,1:4),2); % vectores de coordenadas nodales de % cada elemento bf=[0 -romat(elements(i,5))*grav]; C=Cmat(:,:,elements(i,5)); Kee=sparse(8,8); fbee=zeros(8,1); for ipg=1:4 shi=pgs(ipg); eta=pgr(ipg); dns=1/4*[eta-1 1-eta 1+eta -eta-1]; dnr=1/4*[shi-1 -shi-1 1+shi 1-shi]; b1=dot(dnr,cory); b2=dot(dns,cory); c1=dot(dns,corx); c2=dot(dnr,corx); J=c1*b1-c2*b2; Bc=1/J*[b1*dns(1)-b2*dnr(1) b1*dns(3)-b2*dnr(3) 0 0 b1*dns(2)-b2*dnr(2) b1*dns(4)-b2*dnr(4) 0; 0 0 c1*dnr(1)-c2*dns(1) 0 c1*dnr(2)c2*dns(2) 0 c1*dnr(3)-c2*dns(3) 0 c1*dnr(4)c2*dns(4); c1*dnr(1)-c2*dns(1) b1*dns(1)-b2*dnr(1) c1*dnr(2)-c2*dns(2) b1*dns(2)b2*dnr(2) c1*dnr(3)-c2*dns(3) b1*dns(3)-b2*dnr(3) c1*dnr(4)-c2*dns(4) b1*dns(4)b2*dnr(4)]; Kepg = Kee = Bc'*C*Bc*J; Kee+Kepg; if ipg==4; B4{1,i}=Bc; J4{1,i}=J; end N1=0.25*(1-shi)*(1-eta); N2=0.25*(1+shi)*(1-eta); N3=0.25*(1+shi)*(1+eta); N4=0.25*(1-shi)*(1+eta); N=[N1 0 N2 0 N3 0 0 N1 0 N2 0 N3 N4 0; 0 N4]; fbpg = N'*bf'*J; fbee = fbee+fbpg; end Ke(:,:,i)=ee*Kee(:,:); fbe(:,i)=ee*fbee; end ttim = timing('calculo de matriz de rigidez elemental',ttim); %Reporting time timeacu=timeacu+ttim; %% ENSAMBRLE DE LA MATRIZ GLOGAL DE RIGIDEZ y vector global de fuerzas volumétricas Kg=sparse(dim,dim); fb=sparse(dim,1);%VECTOR Global DE FUERZAS distribuidas for t=1:numelem fila=[2*elements(t,1)-1 2*elements(t,1) 2*elements(t,2)-1 2*elements(t,2)... 2*elements(t,3)-1 2*elements(t,3) 2*elements(t,4)-1 2*elements(t,4)]; Kg(fila,fila) = Kg(fila,fila) + Ke(:,:,t); fb(fila) = fb(fila) + fbe(:,t); end ttim = timing('ensamble',ttim); %Reporting time timeacu=timeacu+ttim; %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% VECTOR DE FUERZAS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fg=sparse(dim,1);%VECTOR Global DE FUERZAS distribuidas for i =1:size(cargas,1); loc=cargas(i,1)*2+(cargas(i,2)-2); fg(loc)=fg(loc)+cargas(i,3); end fg=fg+fb; % Vector global de cargas total %% %% Define los grados de libertad restringidos for k=1:size(restric,1) ficol(k)=restric(k,1)*2+(restric(k,2)-2); end %% Define los grados de libertad NO restringidos n=0; for i=1:dim if i~=ficol n=n+1; noficol(n)=i; end end %% GENERA EL VECTOR DE FUERZAS APLICADAS REDUCIDO fa=fg(noficol); %% GENERA LAs subMATRIces DE Kg ka=Kg(ficol,ficol); kb=Kg(ficol,noficol); kc=Kg(noficol,ficol); kk=Kg(noficol,noficol); %% -----------------------------------------------------------------------%% CALCULA EL VECTOR DE DESPLAZAMIENTOS unk=kk\(fa-kc*uk); fr=ka*uk+kb*unk-fb(ficol); % fb(ficol) : fuerzas volumetricas aplicadas en los nodos restringidos D=zeros(dim,1);%VECTOR DE DESPLAZAMIENTOS CON LOS DESPLAZAMIENTOS DEL APOYO n=0; for i=noficol;n=n+1; D(i)=unk(n); end n=0; for i=ficol;n=n+1; D(i)=uk(n); end %% VECTOR DE DESPLAZAMIENTOS DE CADA ELEMENTO De De=sparse(8,numelem); for i=1:numelem fila=[2*elements(i,1)-1 2*elements(i,1) 2*elements(i,2)-1 2*elements(i,2)... 2*elements(i,3)-1 2*elements(i,3) 2*elements(i,4)-1 2*elements(i,4)]; De(:,i)=D(fila); end %% CALCULO DE LA DEFORMACION unitaria y esfuerzos DE CADA ELEMENTO Strain=zeros(4,3,numelem); Stress=zeros(4,3,numelem); for i =1:numelem corx=nudo(elements(i,1:4),1); C=Cmat(:,:,elements(i,5)); cory=nudo(elements(i,1:4),2); Bc=zeros(3,8); for ipg=1:4 shi=pgs(ipg); eta=pgr(ipg); dns=1/4*[eta-1 1-eta 1+eta -eta-1]; dnr=1/4*[shi-1 -shi-1 1+shi 1-shi]; b1=dot(dnr,cory); b2=dot(dns,cory); c1=dot(dns,corx); c2=dot(dnr,corx); J=c1*b1-c2*b2; Bc=1/J*[b1*dns(1)-b2*dnr(1) 0 b1*dns(2)-b2*dnr(2) 0 b1*dns(3)-b2*dnr(3) 0 b1*dns(4)-b2*dnr(4) 0; 0 c1*dnr(1)-c2*dns(1) 0 c1*dnr(2)c2*dns(2) 0 c1*dnr(3)-c2*dns(3) 0 c1*dnr(4)c2*dns(4); c1*dnr(1)-c2*dns(1) b1*dns(1)-b2*dnr(1) c1*dnr(2)-c2*dns(2) b1*dns(2)b2*dnr(2) c1*dnr(3)-c2*dns(3) b1*dns(3)-b2*dnr(3) c1*dnr(4)-c2*dns(4) b1*dns(4)b2*dnr(4)]; Strain(ipg,:,i)= Bc*De(:,i); Stress(ipg,:,i)=C*Bc*De(:,i); end end %% %% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% ESCRIBE ARCHIVO DE RESULTADOS %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% fid = fopen('salida.post.res', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.txt'); end fprintf(fid, 'GID Post Results File 1.0\n'); fprintf(fid, '\n'); fprintf(fid, 'GaussPoints "GP_Quadrilateral_4" Elemtype Quadrilateral \n'); fprintf(fid, 'Number of Gauss Points: 4\n'); fprintf(fid, 'Natural Coordinates : Internal\n'); fprintf(fid, 'End GaussPoints\n'); fprintf(fid, '\n'); fprintf(fid, 'Result "STRESSES" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_Quadrilateral_4"\n'); fprintf(fid, 'ComponentNames "Sxx" "Syy" "Sxy"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:4 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,Stress(j,1,i),Stress(j,2,i),Stress(j,3,i)); else fprintf(fid, '%15.8f %15.8f %15.8f\n', Stress(j,1,i),Stress(j,2,i),Stress(j,3,i)); end end if i==numelem; fprintf(fid, 'End Values \n');end end fprintf(fid, 'Result "STRAINS" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_Quadrilateral_4"\n'); fprintf(fid, 'ComponentNames "Exx" "Eyy" "Txy"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:4 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,Strain(j,1,i),Strain(j,2,i),Strain(j,3,i)); else fprintf(fid, '%15.8f %15.8f %15.8f\n', Strain(j,1,i),Strain(j,2,i),Strain(j,3,i)); end end if i==numelem; fprintf(fid, 'End Values \n');end end fprintf(fid, 'Result "disp" "disp" 1.0 Vector OnNodes "GP_Quadrilateral_4"\n'); fprintf(fid, 'ComponentNames "Dx" "Dy" \n'); fprintf(fid, 'Values \n'); for i=1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f\n', i,D(i*2-1), D(i*2)); if i==size(nudo,1); end fclose(fid); fprintf(fid, 'End Values \n');end fid = fopen('salida.post.msh', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.post.msh'); end fprintf(fid, 'MESH dimension 3 ElemType Quadrilateral Nnode 4\n'); fprintf(fid, 'Coordinates\n'); for i=1:1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,nudo(i,1), nudo(i,2), 0.0); if i==size(nudo,1); fprintf(fid, 'End Coordinates \n');end end fprintf(fid, 'Elements\n'); for i=1:numelem fprintf(fid, '%d %d %d %d %d %d\n', i,elements(i,1), elements(i,2), elements(i,3), elements(i,4),elements(i,5)); if i==numelem; fprintf(fid, 'End Elements \n');end end fclose(fid); ttim = timing('escritura',ttim); %Reporting time timeacu=timeacu+ttim toc %% case 9 Elemento isoparamétrico de 9 nodos %%%%%%%%%%%%%%%%%%%%%% %% case 9 %% MATRIZ de Rigidez elemental Ke y Vector de fuerzas volum de cada elemento Ke=zeros(18,18,numelem); fbe=zeros(18,numelem); %% Definicion de los 9 puntos de Gauss y sus respectivos pesos pg= (3/5)^0.5; % (3/5)^0.5= 0.774596669241483; wpg7=5/9; % 0.555555555555556; wpg0=8/9; % 0.888888888888889; pgs = pg*[ -1 1 1 -1 0 1 0 -1 0 ]; ws = [wpg7 wpg7 wpg7 wpg7 wpg0 wpg7 wpg0 wpg7 wpg0 ]; pgr = pg*[ -1 -1 1 1 -1 0 1 0 0 ]; wr = [wpg7 wpg7 wpg7 wpg7 wpg7 wpg0 wpg7 wpg0 wpg0]; for i=1:numelem corx=nudo(elements(i,1:9),1); cory=nudo(elements(i,1:9),2); % vectores de coordenadas nodales de % cada elemento bf=[0 -romat(elements(i,10))*grav]; C=Cmat(:,:,elements(i,10)); Kee=sparse(18,18); fbee=zeros(18,1); for ipg=1:9 shi=pgs(ipg); eta=pgr(ipg); dns = 1/4*[ (1-2*shi)*(1-eta)*eta (1+2*shi)*(eta+1)*eta ... -(1-2*shi)*(1+eta)*eta eta^2)... -4*shi*(1+eta)*eta dnr = 1/4*[ (1-shi)*(1-2*eta)*shi (1+shi)*(1+2*eta)*shi ... -(1-shi)*(1+2*eta)*shi 4*eta*(1+shi)*shi ... 2*(1-shi^2)*(1+2*eta) shi^2)]; b1=dot(dnr,cory) b2=dot(dns,cory) ; ; J=c1*b1-c2*b2; BC=1/J*[ b1*dns(1)-b2*dnr(1) 0 b1*dns(2)-b2*dnr(2) 0 b1*dns(3)-b2*dnr(3) 0 b1*dns(4)-b2*dnr(4) 0 b1*dns(5)-b2*dnr(5) 0 b1*dns(6)-b2*dnr(6) 0 b1*dns(7)-b2*dnr(7) 0 b1*dns(8)-b2*dnr(8) 0 b1*dns(9)-b2*dnr(9) -(1+2*shi)*(1-eta)*eta 4*shi*(1-eta)*eta -2*(1-2*shi)*(1-eta^2) 2*(1+2*shi)*(1-8*shi*(1-eta^2)]; -(1+shi)*(1-2*eta)*shi -2*(1-shi^2)*(1-2*eta) 4*eta*(1-shi)*shi -8*eta*(1- c1=dot(dns,corx); c2=dot(dnr,corx); 0 c1*dnr(1)-c2*dns(1) 0 c1*dnr(2)-c2*dns(2) 0 c1*dnr(3)-c2*dns(3) 0 c1*dnr(4)-c2*dns(4) 0 c1*dnr(5)-c2*dns(5) 0 c1*dnr(6)-c2*dns(6) 0 c1*dnr(7)-c2*dns(7) 0 c1*dnr(8)-c2*dns(8) 0 c1*dnr(1)-c2*dns(1); b1*dns(1)-b2*dnr(1); c1*dnr(2)-c2*dns(2); b1*dns(2)-b2*dnr(2); c1*dnr(3)-c2*dns(3); b1*dns(3)-b2*dnr(3); c1*dnr(4)-c2*dns(4); b1*dns(4)-b2*dnr(4); c1*dnr(5)-c2*dns(5); b1*dns(5)-b2*dnr(5); c1*dnr(6)-c2*dns(6); b1*dns(6)-b2*dnr(6); c1*dnr(7)-c2*dns(7); b1*dns(7)-b2*dnr(7); c1*dnr(8)-c2*dns(8); b1*dns(8)-b2*dnr(8); c1*dnr(9)-c2*dns(9); 0 c1*dnr(9)-c2*dns(9) b1*dns(9)-b2*dnr(9)]; Kepg = ws(ipg)*wr(ipg)*BC*C*BC'*J; Kee = Kee + Kepg; N1 N2 N3 N4 = 0.25*(1-shi)*(1-eta)*shi*eta; N5 = -0.5*eta*(1-eta)*(1-shi^2); = -0.25*(1+shi)*(1-eta)*shi*eta; N6 = 0.5*shi*(1+shi)*(1-eta^2); = 0.25*(1+shi)*(1+eta)*shi*eta; N7 = 0.5*eta*(1+eta)*(1-shi^2); = -0.25*(1-shi)*(1+eta)*shi*eta; N8 = -0.5*shi*(1-shi)*(1-eta^2); N9 = (1-shi^2)*(1-eta^2); N = [N1 0 0 N1 N2 0 0 N2 N3 0 0 N3 N4 0 0 N4 N5 0 0 N5 N6 0 0 N6 N7 0 0 N7 N8 0 0 N8 N9 0 0;... N9]; fbpg = ws(ipg)*wr(ipg)*N'*bf'*J; fbee = fbee+fbpg; end Ke(:,:,i) = ee*Kee(:,:); fbe(:,i) = ee*fbee; end %% ENSAMBRLE DE LA MATRIZ GLOGAL DE RIGIDEZ y vector global de fuerzas volumétricas Kg=sparse(dim,dim); fb=sparse(dim,1);%VECTOR Global DE FUERZAS distribuidas for t=1:numelem fila=[2*elements(t,1)-1 2*elements(t,1) 2*elements(t,2)-1 2*elements(t,2)... 2*elements(t,3)-1 2*elements(t,3) 2*elements(t,4)-1 2*elements(t,4)... 2*elements(t,5)-1 2*elements(t,5) 2*elements(t,6)-1 2*elements(t,6)... 2*elements(t,7)-1 2*elements(t,7) 2*elements(t,8)-1 2*elements(t,8)... 2*elements(t,9)-1 2*elements(t,9) ]; Kg(fila,fila) = Kg(fila,fila) + Ke(:,:,t); fb(fila) = fb(fila) + fbe(:,t); end %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% VECTOR DE FUERZAS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fg=sparse(dim,1);%VECTOR Global DE FUERZAS distribuidas for i =1:size(cargas,1); loc=cargas(i,1)*2+(cargas(i,2)-2); fg(loc)=fg(loc)+cargas(i,3); end fg=fg+fb; % Vector global de cargas total %% %% Define los grados de libertad restringidos for k=1:size(restric,1) ficol(k)=restric(k,1)*2+(restric(k,2)-2); end %% Define los grados de libertad NO restringidos n=0; for i=1:dim if i~=ficol n=n+1; noficol(n)=i; end end %% GENERA EL VECTOR DE FUERZAS APLICADAS REDUCIDO fa=fg(noficol); %% GENERA LAs subMATRIces DE Kg ka=Kg(ficol,ficol); kb=Kg(ficol,noficol); kc=Kg(noficol,ficol); kk=Kg(noficol,noficol); %% -----------------------------------------------------------------------%% CALCULA EL VECTOR DE DESPLAZAMIENTOS unk=kk\(fa-kc*uk); D=zeros(dim,1);%VECTOR DE DESPLAZAMIENTOS CON LOS DESPLAZAMIENTOS DEL APOYO D(noficol) = unk; D(ficol) = uk; fr=ka*uk+kb*unk-fb(ficol); % fb(ficol) : fuerzas volumetricas aplicadas en los nodos restringidos %% VECTOR DE DESPLAZAMIENTOS DE CADA ELEMENTO De De=sparse(18,numelem); for t=1:numelem fila=[2*elements(t,1)-1 2*elements(t,3)-1 2*elements(t,5)-1 2*elements(t,7)-1 2*elements(t,9)-1 2*elements(t,1) 2*elements(t,3) 2*elements(t,5) 2*elements(t,7) 2*elements(t,9) 2*elements(t,2)-1 2*elements(t,4)-1 2*elements(t,6)-1 2*elements(t,8)-1 ]; 2*elements(t,2)... 2*elements(t,4)... 2*elements(t,6)... 2*elements(t,8)... De(:,t)=D(fila); end %% CALCULO DE LA DEFORMACION unitaria y esfuerzos DE CADA ELEMENTO Strain=zeros(9,3,numelem); Stress=zeros(9,3,numelem); for i =1:numelem corx=nudo(elements(i,1:9),1); C=Cmat(:,:,elements(i,10)); cory=nudo(elements(i,1:9),2); Bc=zeros(18,3); for ipg=1:9 shi=pgs(ipg); eta=pgr(ipg); dns = 1/4*[ (1-2*shi)*(1-eta)*eta -(1+2*shi)*(1-eta)*eta (1+2*shi)*(eta+1)*eta ... -(1-2*shi)*(1+eta)*eta 4*shi*(1-eta)*eta 2*(1+2*shi)*(1- eta^2)... -4*shi*(1+eta)*eta -2*(1-2*shi)*(1-eta^2) -8*shi*(1-eta^2)]; dnr = 1/4*[ (1-shi)*(1-2*eta)*shi -(1+shi)*(1-2*eta)*shi (1+shi)*(1+2*eta)*shi ... -(1-shi)*(1+2*eta)*shi -2*(1-shi^2)*(1-2*eta) -4*eta*(1+shi)*shi ... 2*(1-shi^2)*(1+2*eta) b1=dot(dnr,cory) b2=dot(dns,cory) ; ; 4*eta*(1-shi)*shi -8*eta*(1-shi^2)]; c1=dot(dns,corx); c2=dot(dnr,corx); J=c1*b1-c2*b2; Bc=1/J*[ b1*dns(1)-b2*dnr(1) 0 b1*dns(2)-b2*dnr(2) 0 b1*dns(3)-b2*dnr(3) 0 b1*dns(4)-b2*dnr(4) 0 b1*dns(5)-b2*dnr(5) 0 b1*dns(6)-b2*dnr(6) 0 b1*dns(7)-b2*dnr(7) 0 b1*dns(8)-b2*dnr(8) 0 b1*dns(9)-b2*dnr(9) 0 0 c1*dnr(1)-c2*dns(1) 0 c1*dnr(2)-c2*dns(2) 0 c1*dnr(3)-c2*dns(3) 0 c1*dnr(4)-c2*dns(4) 0 c1*dnr(5)-c2*dns(5) 0 c1*dnr(6)-c2*dns(6) 0 c1*dnr(7)-c2*dns(7) 0 c1*dnr(8)-c2*dns(8) 0 c1*dnr(9)-c2*dns(9) c1*dnr(1)-c2*dns(1); b1*dns(1)-b2*dnr(1); c1*dnr(2)-c2*dns(2); b1*dns(2)-b2*dnr(2); c1*dnr(3)-c2*dns(3); b1*dns(3)-b2*dnr(3); c1*dnr(4)-c2*dns(4); b1*dns(4)-b2*dnr(4); c1*dnr(5)-c2*dns(5); b1*dns(5)-b2*dnr(5); c1*dnr(6)-c2*dns(6); b1*dns(6)-b2*dnr(6); c1*dnr(7)-c2*dns(7); b1*dns(7)-b2*dnr(7); c1*dnr(8)-c2*dns(8); b1*dns(8)-b2*dnr(8); c1*dnr(9)-c2*dns(9); b1*dns(9)-b2*dnr(9)]; Strain(ipg,:,i) = Bc'*De(:,i); Stress(ipg,:,i) = C*Bc'*De(:,i); end end %% %% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% ESCRIBE ARCHIVO DE RESULTADOS %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% fid = fopen('salida.post.res', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.txt'); end fprintf(fid, 'GID Post Results File 1.0\n'); fprintf(fid, '\n'); fprintf(fid, 'GaussPoints "GP_Quadrilateral_9" Elemtype Quadrilateral \n'); fprintf(fid, 'Number of Gauss Points: 9\n'); fprintf(fid, 'Natural Coordinates : Internal\n'); fprintf(fid, 'End GaussPoints\n'); fprintf(fid, '\n'); fprintf(fid, 'Result "STRESSES" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_Quadrilateral_9"\n'); fprintf(fid, 'ComponentNames "Sxx" "Syy" "Sxy"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:9 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,Stress(j,1,i),Stress(j,2,i),Stress(j,3,i)); else fprintf(fid, '%15.8f %15.8f %15.8f\n', Stress(j,1,i),Stress(j,2,i),Stress(j,3,i)); end end if i==numelem; end fprintf(fid, 'End Values \n');end fprintf(fid, 'Result "STRAIN" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_Quadrilateral_9"\n'); fprintf(fid, 'ComponentNames "Exx" "Eyy" "Exy"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:9 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,Strain(j,1,i),Strain(j,2,i),Strain(j,3,i)); else fprintf(fid, '%15.8f %15.8f %15.8f\n', Strain(j,1,i),Strain(j,2,i),Strain(j,3,i)); end end if i==numelem; fprintf(fid, 'End Values \n');end end fprintf(fid, 'Result "disp" "disp" 1.0 Vector OnNodes "GP_Quadrilateral_9"\n'); fprintf(fid, 'ComponentNames "Dx" "Dy" \n'); fprintf(fid, 'Values \n'); for i=1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f\n', i,D(i*2-1), D(i*2)); if i==size(nudo,1); end fclose(fid); fprintf(fid, 'End Values \n');end fid = fopen('salida.post.msh', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.post.msh'); end fprintf(fid, 'MESH dimension 3 ElemType Quadrilateral Nnode 9\n'); fprintf(fid, 'Coordinates\n'); for i=1:1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,nudo(i,1), nudo(i,2), 0.0); if i==size(nudo,1); fprintf(fid, 'End Coordinates \n');end end fprintf(fid, 'Elements\n'); for i=1:numelem fprintf(fid, '%d %d %d %d %d %d %d %d %d %d %d\n', i,elements(i,1), elements(i,2), elements(i,3), elements(i,4),elements(i,5),... elements(i,6), elements(i,7), elements(i,8), elements(i,9),elements(i,10) ); if i==numelem; fprintf(fid, 'End Elements \n');end end fclose(fid); end disp('trabajo por hacer en clase') Anexo 2. Líneas de código para Iso 20 % %Programa para problemas lineales 3D de elementos finitos; noviembre 2016 %Jairo Andrés Paredes López - japaredesl@unal.edu.co %Profesor Asociado - UNIVERSIDAD NACIONAL DE COLOMBIA - SEDE MANIZALES % Departamento de Ingeniería Civil - Posgrados de Estructuras %% clear,clc, close all; tic ttim=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % LECTURA DE ENTRADA DE DATOS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tic nudo= load ('coord.txt','-ascii'); %Lee las coordenadas nodales:coord.txt elements=load ('malla.txt','-ascii'); %Lee la conectividad nodal: malla.txt triang=elementos restric=load('restric.txt','-ascii');%Lee los desplazamientos impuestos (nodo - direccion - magnitud) cargas=load('cargas.txt','-ascii'); %Lee los desplazamientos impuestos dgen=load('dgenerales.txt','-ascii'); ttim = timing('Lectura de datos',ttim); %Reporting time % timeacu=timeacu+ttim; % nudorest= load ('nodres.txt','-ascii'); multinivel %Lee los nodos en la frontera %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DEFINICIÓN DE CONDICIONES GENERALES DEL PROBLEMA A ANALIZAR % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elemtpe=dgen(1); % 8 hexahedro 8 nodos; 20 hexahedro 20 nodos; nmat=dgen(2); %Nùmero de MATERIALES numelem=size(elements,1); %numero de elementos del problema numnudos=size(nudo,1); %numero de nudos de la malla dim=3*numnudos; %dimension de la matriz de rigidez global: doft numrestric=size(restric,1); %numero de grados de libertad restringidos uk=restric(:,3); %subvector de desplazamientos conocidos %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PROPIEDADES MECÁNICAS DE LOS MATERIALES Y MATRICES CONSTITUTIVAS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %PROPIEDADES DE LOS MATERIALES Emat=zeros(nmat,1); % Vector con los valores de MODULO DE ELASTICIDAD de c/material vmat=zeros(nmat,1); % Vector con los valores de Modulo de Poisson de c/material romat=zeros(nmat,1);% Vector con los valores de densidad de c/material for i=1:nmat Emat(i)=dgen(2+i); vmat(i)=dgen(2+nmat+i); romat(i)=dgen(2+2*nmat+i); end grav=dgen(2+3*nmat+1); % % % (2.1e7) (0.2); %kN/m2 MÓDULOS DE ELASTICIDAD %MÓdulos de Poisson %Densidades % Gravedad, si grav=0.0, el peso propio=0.0 Cmat=cell(1,nmat); for i =1:nmat E=Emat(i); v=vmat(i); C=E/((1+v)*(1-2*v))*[ (1-v) v v v (1-v) v v v (1-v) 0 0 0 0 0 0 0 0 0 Cmat{1,i}=C; end 0 0 0; 0 0 0; 0 0 0; (1-2*v)/2 0 0; 0 (1-2*v)/2 0; 0 0 (1-2*v)/2 ]; %% MATRIZ de Rigidez elemental Ke y Vector de fuerzas volum de cada elemento %% ENSAMBRLE DE LA MATRIZ GLOGAL DE RIGIDEZ y vector global de fuerzas volumétricas Kg=sparse(dim,dim); fb=sparse(dim,1);%VECTOR Global DE FUERZAS distribuidas for i=1:numelem corx=nudo(elements(i,1:20),1); cory=nudo(elements(i,1:20),2); corz=nudo(elements(i,1:20),3); % vectores de coordenadas nodales de % cada elemento bf=[0 -romat(elements(i,21))*grav C=Cmat{1,elements(i,21)}; 0 ]; [Kee,fbee] = K20nodos(corx,cory,corz,bf,C); fila(1:3:60) = elements(i,1:20)*3-2; del elemento fila(2:3:60) = elements(i,1:20)*3-1; fila(3:3:60) = elements(i,1:20)*3; Kg(fila,fila) = Kg(fila,fila) + Kee; fb(fila) = fb(fila) + fbee; % Cálculo de los grados de libertad % % % Ensambalje matriz de rigidez end ttim = timing('calculo de matriz de rigidez elemental y ensamble',ttim); %Reporting time %% ENSAMBRLE DE LA MATRIZ GLOGAL DE RIGIDEZ y vector global de fuerzas volumétricas % Kg=sparse(dim,dim); % fb=sparse(dim,1);%VECTOR Global DE FUERZAS distribuidas % % for t=1:numelem % % for k=1:20 % Cálculo de los grados de libertad del elemento % filaaux{1,k}=elements(t,k)*3-[2 1 0]; % end % fila=[filaaux{1,:}]; % % Kg(fila,fila) = Kg(fila,fila) + Ke{1,t}; % fb(fila) = fb(fila) + fbe{1,t}; % end % ttim = timing('ensamble',ttim); %Reporting time % %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% VECTOR DE FUERZAS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fg=sparse(dim,1);%VECTOR Global DE FUERZAS distribuidas for i =1:size(cargas,1); loc=cargas(i,1)*3+(cargas(i,2)-3); fg(loc)=fg(loc)+cargas(i,3); end fg=fg+fb; % Vector global de cargas total %% %% Define los grados de libertad restringidos ficol=zeros(size(restric,1),1); for k=1:size(restric,1) ficol(k)=restric(k,1)*3+(restric(k,2)-3); end %% Define los grados de libertad NO restringidos dof=1:dim; noficol=setdiff(dof,ficol); clear dof; %% GENERA EL VECTOR DE FUERZAS APLICADAS REDUCIDO fa=fg(noficol); %% GENERA LAs subMATRIces DE Kg ka=Kg(ficol,ficol); kb=Kg(ficol,noficol); kc=Kg(noficol,ficol); kk=Kg(noficol,noficol); clear Kg; %% ------------------------------------------------------------------------ %% CALCULA EL VECTOR DE DESPLAZAMIENTOS unk=kk\(fa-kc*uk); D=zeros(dim,1);%VECTOR DE DESPLAZAMIENTOS CON LOS DESPLAZAMIENTOS DEL APOYO D(noficol) = unk; D(ficol) = uk; fr=ka*uk+kb*unk-fb(ficol); % fb(ficol) : fuerzas volumetricas aplicadas en los nodos restringidos ttim = timing('solucion',ttim); %Reporting time %% VECTOR DE DESPLAZAMIENTOS DE CADA ELEMENTO De %% VECTOR DE DESPLAZAMIENTOS DE CADA ELEMENTO De De=zeros(60,numelem); for t=1:numelem fila(1:3:60) = elements(t,1:20)*3-2; del elemento fila(2:3:60) = elements(t,1:20)*3-1; fila(3:3:60) = elements(t,1:20)*3; % Cálculo de los grados de libertad % % De(:,t)=D(fila); end %% CALCULO DE LA DEFORMACION unitaria y esfuerzos DE CADA ELEMENTO Strain=zeros(27,6,numelem); Stress=zeros(27,6,numelem); for i=1:numelem corx=nudo(elements(i,1:20),1); cory=nudo(elements(i,1:20),2); corz=nudo(elements(i,1:20),3); % vectores de coordenadas nodales de % cada elemento C = Cmat{1,elements(i,21)}; Dee = De(:,i); [eStress,eStrain] = B20nodos(corx,cory,corz,C,Dee); Strain(:,:,i) = eStrain; Stress(:,:,i) = eStress; % xp=sum(corx)/20; zp=sum(corz)/20; % alfa=atand(zp/(100-xp)); % ca=cosd(alfa); % sa=sind(alfa); % % StressL(:,1,i)= ca*(Stress(:,1,i)*ca + Stress(:,5,i)*sa) + sa*(ca*Stress(:,5,i) + Stress(:,3,i)*sa); % StressL(:,2,i)= Stress(:,2,i); % StressL(:,3,i)= ca*(Stress(:,3,i)*ca - Stress(:,5,i)*sa) sa*(ca*Stress(:,5,i) - Stress(:,1,i)*sa); % StressL(:,4,i)= ca*Stress(:,4,i) + Stress(:,6,i)*sa; % StressL(:,5,i)= ca*(ca*Stress(:,5,i) + Stress(:,3,i)*sa) sa*(ca*Stress(:,1,i) + Stress(:,5,i)*sa); % StressL(:,6,i)= ca*Stress(:,6,i) - Stress(:,4,i)*sa; % end ttim = timing('esfuerzos y deformaciones',ttim); %Reporting time %% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% ESCRIBE ARCHIVO DE RESULTADOS %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% fid = fopen('salida.post.res', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.txt'); end fprintf(fid, 'GID Post Results File 1.0\n'); fprintf(fid, '\n'); fprintf(fid, 'GaussPoints "GP_HEXAHEDRA_27" Elemtype HEXAHEDRA\n'); fprintf(fid, 'Number of Gauss Points: 27\n'); fprintf(fid, 'Natural Coordinates : Internal\n'); fprintf(fid, 'End GaussPoints\n'); fprintf(fid, '\n'); fprintf(fid, 'Result "STRESSES" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_HEXAHEDRA_27"\n'); fprintf(fid, 'ComponentNames "Sxx" "Syy" "Szz" "Sxy" "Sxz" "Syz"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:27 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f\n', i,Stress(j,1,i),Stress(j,2,i),Stress(j,3,i),Stress(j,4,i),Stress(j,5,i),Stres s(j,6,i)); else fprintf(fid, '%15.8f %15.8f %15.8f %15.8f %15.8f %15.8f\n', Stress(j,1,i),Stress(j,2,i),Stress(j,3,i),Stress(j,4,i),Stress(j,5,i),Stress( j,6,i)); end end if i==numelem; fprintf(fid, 'End Values \n');end end fprintf(fid, 'Result "STAINS" "MECHANICAL" 1.0 Matrix OnGaussPoints "GP_HEXAHEDRA_27"\n'); fprintf(fid, 'ComponentNames "Exx" "Eyy" "Ezz" "Exy" "Exz" "Eyz"\n'); fprintf(fid, 'Values \n'); for i=1:numelem for j=1:27 if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f\n', i,Strain(j,1,i),Strain(j,2,i),Strain(j,3,i),Strain(j,4,i),Strain(j,5,i),Strai n(j,6,i)); else fprintf(fid, '%15.8f %15.8f %15.8f %15.8f %15.8f %15.8f\n', Strain(j,1,i),Strain(j,2,i),Strain(j,3,i),Strain(j,4,i),Strain(j,5,i),Strain( j,6,i)); end end if i==numelem; fprintf(fid, 'End Values \n');end end % fprintf(fid, 'Result "STRESSES" "MECHANICAL" 2.0 Matrix OnGaussPoints "GP_HEXAHEDRA_27"\n'); % fprintf(fid, 'ComponentNames "Sxx" "Syy" "Szz" "Sxy" "Sxz" "Syz"\n'); % fprintf(fid, 'Values \n'); % for i=1:numelem % for j=1:27 % if j==1; fprintf(fid, '%d %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f\n', i,StressL(j,1,i),StressL(j,2,i),StressL(j,3,i),StressL(j,4,i),StressL(j,5,i), StressL(j,6,i)); % else % fprintf(fid, '%15.8f %15.8f %15.8f %15.8f %15.8f %15.8f\n', StressL(j,1,i),StressL(j,2,i),StressL(j,3,i),StressL(j,4,i),StressL(j,5,i),St ressL(j,6,i)); % end % end % if i==numelem; fprintf(fid, 'End Values \n');end % end fprintf(fid, 'Result "disp" "disp" 1.0 Vector OnNodes "GP_HEXAHEDRA_27"\n'); fprintf(fid, 'ComponentNames "Dx" "Dy" "Dz"\n'); fprintf(fid, 'Values \n'); for i=1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,D(i*3-2), D(i*3-1),D(i*3)); if i==size(nudo,1); end fclose(fid); fprintf(fid, 'End Values \n');end fid = fopen('salida.post.msh', 'w'); if fid == -1; error('no se puede abrir el archivo: %s', 'salida.post.msh'); end fprintf(fid, 'MESH dimension 3 ElemType HEXAHEDRA Nnode 20\n'); fprintf(fid, 'Coordinates\n'); for i=1:1:size(nudo,1) fprintf(fid, '%d %15.8f %15.8f %15.8f\n', i,nudo(i,1), nudo(i,2), nudo(i,3)); if i==size(nudo,1); fprintf(fid, 'End Coordinates \n');end end fprintf(fid, 'Elements\n'); for i=1:numelem fprintf(fid, '%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n', i,elements(i,1:21)); if i==numelem; fprintf(fid, 'End Elements \n');end end fclose(fid); ttim = timing('escritura',ttim); %Reporting time ttim toc