Capítulo 1
Por qué programar el método de rigidez
Empecemos por el final. El gráfico siguiente muestra el análisis completo de un puente peatonal de 18 metros: arriba, cómo se deforma bajo su carga; abajo, la fuerza axial de cada una de sus 21 barras, en azul las que trabajan en tracción y en naranja las que trabajan en compresión.
No lo dibujó un programa comercial. Lo dibujó una calculadora de unas doscientas líneas de Python, escritas una por una a lo largo de este libro. Al terminarlo, esa calculadora será la nuestra: la habremos escrito, entendido y verificado paso a paso, y podremos usarla para analizar cualquier armadura plana.
1.1 Los límites del cálculo a mano
En los cursos de estática aprendimos a analizar armaduras con el método de los nudos y el método de las secciones. Son métodos elegantes y conviene dominarlos: con ellos verificaremos nuestra calculadora a lo largo del libro. Pero tienen dos límites.
El primero es el tamaño. El puente del gráfico tiene 12 nodos; el equilibrio de cada nodo da dos ecuaciones, de modo que hay 24 ecuaciones con 24 incógnitas: 21 fuerzas en las barras y 3 reacciones. Resolverlas a mano es posible, pero largo y propenso a errores, y un error en un nudo se arrastra a todos los siguientes. Una armadura de cubierta de una nave industrial puede tener cientos de barras.
El segundo límite es más profundo. Una armadura de barras, reacciones y nodos tiene fuerzas desconocidas y solo ecuaciones de equilibrio. Si , la armadura es hiperestática (statically indeterminate): el equilibrio por sí solo no basta para obtener sus fuerzas, porque estas dependen además de la rigidez de las barras. Es el caso de un cuadro con sus dos diagonales, que estudiaremos como ejemplo B: 6 barras y 3 reacciones frente a 8 ecuaciones. Ningún método basado solo en el equilibrio puede resolverlo.
El método de rigidez (stiffness method) supera ambos límites. Toma como incógnitas los desplazamientos de los nodos en lugar de las fuerzas, relaciona cada desplazamiento con las fuerzas que produce mediante la rigidez de las barras, y reúne todo en un sistema de ecuaciones lineales,
donde es la matriz de rigidez (stiffness matrix) de la armadura, el vector de desplazamientos de los nodos y el de las fuerzas aplicadas sobre ellos. El método es el mismo para una armadura isostática o hiperestática, de tres barras o de trescientas. Y, sobre todo, es sistemático: cada paso se repite igual para cada barra y cada nodo, lo que lo hace ideal para un computador.
1.2 Qué hay dentro de un programa comercial
Los programas de análisis estructural que se usan en la práctica, como SAP2000, ETABS o Ftool, resuelven las estructuras con el método de rigidez, generalizado a barras que además se flexionan. Cuando dibujamos una armadura en uno de ellos, el programa hace lo mismo que haremos en este libro: calcula la rigidez de cada barra, ensambla la matriz de la estructura, resuelve el sistema y obtiene las fuerzas de cada barra.
Usar un programa sin entender lo que hace por dentro es riesgoso. El programa siempre da un resultado, también cuando los datos están mal: un apoyo olvidado, una carga en la unidad equivocada o un nodo desplazado. Reconocer que un resultado no tiene sentido exige saber de dónde sale. Por eso este libro no enseña a usar un programa, sino a construirlo: al escribir cada paso del método, sabremos qué esperar de él y cómo verificarlo.
1.3 El mapa del método
La figura 1.1 resume el método de rigidez para armaduras planas y es, a la vez, el mapa de este libro: cada paso es una parte de nuestra calculadora, y cada capítulo construye uno o dos pasos.
Los pasos del método de rigidez, con la ecuación principal de cada uno y el capítulo donde lo programamos.
En palabras:
- Describimos la armadura con datos: las coordenadas de sus nodos, las barras que los unen, los apoyos y las cargas.
- Calculamos la longitud y la orientación de cada barra.
- Con ellas obtenemos la matriz de rigidez de cada barra, que relaciona los desplazamientos de sus extremos con las fuerzas en ellos.
- Numeramos los desplazamientos posibles de los nodos, sus grados de libertad (degrees of freedom).
- Ensamblamos las matrices de las barras en la matriz de la armadura, y las cargas en el vector de fuerzas.
- Separamos los grados de libertad libres de los restringidos por los apoyos.
- Resolvemos el sistema: obtenemos los desplazamientos de los nodos y, con ellos, las reacciones.
- De los desplazamientos obtenemos la fuerza axial de cada barra.
- Presentamos, verificamos y dibujamos los resultados.
1.4 Tres armaduras para aprender
A lo largo del libro usaremos tres armaduras de acero, con datos realistas (), que se resumen en la tabla 1.1. La columna es el grado de indeterminación, : es cero en una armadura isostática y positivo en una hiperestática.
Tabla 1.1: Los ejemplos del libro.
| Ejemplo | Nodos | Barras | Para qué sirve | |
|---|---|---|---|---|
| A. Triángulo | 3 | 3 | 0 | Verificar cada paso a mano |
| B. Cuadro arriostrado | 4 | 6 | 1 | Un caso hiperestático |
| C. Puente Pratt | 12 | 21 | 0 | Una armadura de verdad |
El ejemplo A es un triángulo de 6 m de base y 4 m de altura, lo bastante pequeño para comprobar a mano cada número que produzca la calculadora. El ejemplo B es el cuadro con dos diagonales del que hablamos antes: nos recordará que el método resuelve lo que el equilibrio por sí solo no puede. Y el ejemplo C es el puente del comienzo del capítulo, la prueba final de la calculadora.
Que haya tres ejemplos distintos no es un capricho. Un programa puede dar el resultado correcto con un ejemplo por casualidad, por ejemplo si confunde dos números que en ese ejemplo resultan iguales. Probarlo con armaduras de tamaños y formas distintas hace que esos errores salgan a la luz.
1.5 Lo que necesitamos para empezar
Este libro supone que conocemos la estática de armaduras, las nociones de esfuerzo y deformación de resistencia de materiales, y el álgebra de matrices: producto, transpuesta e inversa. No supone ningún conocimiento de programación. Aprenderemos Python a medida que lo necesitemos, siempre con ejemplos de armaduras, y cada herramienta nueva aparecerá en una caja como esta:
Tampoco necesitamos instalar nada: escribiremos nuestro código en notebooks de Google Colab, que funcionan en el navegador. En el capítulo 2 creamos el primero.
Repaso y resumen del capítulo
- El cálculo a mano es largo para armaduras grandes e insuficiente para las hiperestáticas, cuyo grado de indeterminación es positivo.
- El método de rigidez toma como incógnitas los desplazamientos de los nodos y resuelve el sistema . Es el mismo para cualquier armadura y es el que usan los programas comerciales.
- El método tiene nueve pasos (figura 1.1), que programaremos en los capítulos 2 a 12.
- Los ejemplos A, B y C, de tamaños y propiedades distintos, nos permitirán verificar la calculadora.
Ejercicios
Ejercicio 1.1
Calcular el grado de indeterminación de los ejemplos A, B y C, sabiendo que los tres tienen un apoyo articulado y uno de rodillo. ¿Cuáles pueden resolverse con el método de los nudos?
Ver la solución
Con un apoyo articulado (2 reacciones) y uno de rodillo (1 reacción), los tres ejemplos tienen :
Los ejemplos A y C son isostáticos y pueden resolverse con el método de los nudos; el B es hiperestático de grado 1 y no.
Ejercicio 1.2
Cada nodo de una armadura plana puede desplazarse en dos direcciones. ¿Cuántas filas y columnas tiene la matriz de cada ejemplo? ¿Cuántos números tiene la del ejemplo C?
Ver la solución
La matriz tiene una fila y una columna por cada grado de libertad, es decir, : es de en el ejemplo A, de en el B y de en el C. La del ejemplo C tiene números, aunque, como veremos, la mayoría son ceros.
Ejercicio 1.3
El puente del ejemplo C tiene seis paneles. Para un puente del mismo tipo con paneles, deducir cuántos nodos y barras tiene, y comprobar que sigue siendo isostático. ¿De qué tamaño sería la matriz de un puente de 20 paneles?
Ver la solución
Un puente de paneles tiene nodos en el cordón inferior y en el superior, es decir, . Sus barras son del cordón inferior, del superior, montantes y diagonales (dos extremas y interiores):
Para resultan 12 nodos y 21 barras, como en el ejemplo C. Con , el grado de indeterminación es : el puente es isostático para cualquier cantidad de paneles. Con 20 paneles tiene 40 nodos y 80 grados de libertad, y su matriz es de , con 6400 números.