eder3232
Volver a proyectos
Caso de estudio

Análisis matricial de armaduras con Python

Escribí un libro para estudiantes de 4.º año de Ingeniería Civil que nunca han programado: capítulo a capítulo, convierten el método de rigidez en una calculadora de armaduras 2D escrita por ellos en Python, y entienden cada línea.

Descargar el PDF Leer en la web

186 páginas · 0,9 MB · gratis, CC BY-NC-SA 4.0


Para
Estudiantes de Ingeniería Civil
Mi rol
Autor: texto, código, figuras, maqueta y web
Periodo
2026, versión preliminar
Leer en la web
eder3232-libro-armaduras.vercel.app

La portada del libro, con un puente Pratt coloreado según sus fuerzas, y la apertura del capítulo 5

186

páginas, 12 capítulos y 6 anexos

35

notebooks para abrir en Colab

71

tests que verifican cada resultado

El problema

En la universidad aprendemos el método de rigidez a mano y después usamos programas comerciales que son una caja negra. Los cursos de Python, por su lado, enseñan con ejemplos que nada tienen que ver con estructuras. El estudiante nunca junta las dos cosas.

Y para quien nunca programó, instalar Python es donde abandona. El libro tenía que funcionar sin instalar nada.

Lo que construí

Una calculadora escrita por el estudiante

Cada capítulo agrega una pieza: geometría, matriz de rigidez, ensamblaje, desplazamientos, fuerzas y gráficos. Al final, el estudiante tiene su notebook «Mi calculadora de armaduras», con motor, datos y resultados, y resuelve un puente Pratt.

Python justo cuando hace falta

Cada herramienta de Python aparece cuando el método la necesita: los diccionarios para describir la armadura, las funciones para la matriz de una barra, NumPy para ensamblar. Nodos, barras y grados de libertad se cuentan desde 1, como en clase.

Sin instalar nada

Se trabaja en Google Colab desde el propio Drive. Cada capítulo trae su notebook, sus soluciones y un punto de control con todo el código acumulado, para recuperarse si algo falló.

Ningún número escrito a mano

Cada resultado que cita el texto sale de ejecutar el código del libro, y los tests comprueban que la calculadora cumpla el equilibrio en cada ejemplo y que coincida con OpenSees, un programa de análisis estructural de código abierto. Los ejemplos usan acero, perfiles y cargas reales.

Cómo se hace

Un libro técnico en tres formatos se desincroniza solo: corriges un número en el PDF y queda mal en la web. La regla fue que nada se escriba dos veces. Así lo puedes armar tú:

  1. 1

    La prosa, en LaTeX

    El texto se escribe una sola vez, en LaTeX, con una maqueta propia. Las figuras son TikZ, y la notación matemática vive en un archivo de macros que también usa la web.

    LaTeXTikZlatexmk
  2. 2

    El código, en archivos de Python

    Un archivo por capítulo, en el formato de celdas de Jupytext. Cada celda lleva una etiqueta: si va a la calculadora, si es solo para explorar o si registra un número que cita el texto. El libro cita fragmentos por nombre, nunca por número de línea.

    PythonNumPyMatplotlibJupytext
  3. 3

    Los notebooks se generan

    Un script ejecuta el código y arma tres notebooks por capítulo: la lección, las soluciones y el punto de control. Nadie los edita a mano. Como están en GitHub, se abren en Colab con un botón.

    JupyternbclientGoogle Colab
  4. 4

    La web sale del mismo LaTeX

    Un convertidor pasa cada capítulo a MDX, y Next.js lo publica como sitio estático. Las fórmulas se dibujan con KaTeX usando las mismas macros del PDF, y las figuras TikZ se convierten a SVG.

    Next.js 16MDXKaTeXVercel
  5. 5

    Un comando lo construye todo

    uv run python scripts/construir.py compila el PDF, genera los notebooks y la web, y corre los tests. Si un número del texto ya no coincide con lo que da el código, la construcción se detiene.

    uvpytest
Todo el código está en GitHub (MIT)

Con qué

LaTeXTikZPythonNumPyMatplotlibJupyterGoogle ColabJupytextOpenSeespytestuvNext.js 16MDXKaTeXVercel

Cómo se ve

La web del libro mostrando la matriz de rigidez local y la de transformación
La web: las mismas fórmulas del PDF, dibujadas con KaTeX.
Código de Matplotlib y el gráfico de la armadura deformada que produce
El código y el gráfico que produce, tal cual.
Doble página del PDF con el puente Pratt, su deformada y sus fuerzas axiales
El cierre: el estudiante resuelve un puente Pratt con su calculadora.
Doble página del PDF sobre el ensamblaje de la matriz global con np.ix_
El ensamblaje de la matriz global, con el código y su salida.

Después

Esta es la versión preliminar: los ejemplos ya están validados con OpenSees (anexo D) y solo faltan algunas capturas. Lo que viene: ejecutar el código en la misma página de la web, animaciones interactivas y una segunda parte con asentamientos, temperatura y apoyos inclinados.

¿Lo usas en tu curso o encontraste un error?

Escríbeme por WhatsApp