El rol del ingeniero civil en tiempos de la inteligencia artificial

El rol del ingeniero civil en tiempos de la inteligencia artificial

La ingeniería estructural ha sido históricamente una disciplina guiada por fundamentos matemáticos, principios físicos y una rigurosa lógica analítica. Desde los cálculos manuales con reglas de cálculo hasta el modelado numérico con herramientas como ETABS, SAP2000 o CSI Bridge, la evolución de la profesión ha estado íntimamente ligada al desarrollo de tecnologías que amplifican las capacidades del ingeniero.

Hoy nos encontramos frente a una nueva frontera: la inteligencia artificial (IA).

Un nuevo aliado para la ingeniería estructural

Recientemente, decidí experimentar con un modelo de inteligencia artificial generativa (GEMINI 2.5) para abordar un problema esencial en la dinámica estructural: simular la respuesta sísmica de una edificación de múltiples niveles mediante el análisis dinámico modal espectral.

¿Qué es el análisis modal espectral?

El análisis modal espectral es una técnica ampliamente utilizada para evaluar la respuesta sísmica de estructuras complejas. A través de la descomposición modal del sistema, se identifican las frecuencias naturales, modos de vibración y factores de participación de cada modo. Esta información se combina con el espectro de respuesta sísmica correspondiente, lo que permite estimar de forma eficiente los desplazamientos máximos y las fuerzas internas inducidas por un sismo.

Este tipo de análisis es especialmente valioso en edificaciones medianas o altas, o en estructuras irregulares, donde el análisis estático equivalente puede no capturar adecuadamente el comportamiento dinámico.

Generación del modelo con IA

Con un conjunto de instrucciones bien estructuradas (prompts), la inteligencia artificial generó un script en Python claro, preciso y completamente funcional. El código incluía:

  • Generación automática de matrices de masa y rigidez a partir de parámetros definidos por nivel.
  • Cálculo de frecuencias naturales, periodos, modos de vibración y factores de participación modal.
  • Implementación del método SRSS (raíz cuadrada de la suma de los cuadrados) para la combinación modal.
  • Parametrización flexible de masas (en toneladas), rigideces (en kN/m) y espectros sísmicos definidos conforme a normativa.
  • Cálculo automático de aceleraciones espectrales Sa​ y desplazamientos espectrales Sd​, considerando factores como zona sísmica, tipo de suelo, categoría de uso y coeficientes de reducción.
  •  

¿Qué se le pidió a la IA?

El prompt fue directo pero efectivo:

“Genera un código en Python que realice el análisis dinámico modal espectral de una edificación de cualquier cantidad de niveles.”

En cuestión de minutos, se obtuvo un resultado que, de haberse realizado manualmente, habría implicado varias horas de programación, depuración y validación matemática.

 
 
 
Copy Code
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# --- Datos de entrada (personalizables por nivel) ---
n = 3  # Número de niveles

# Masas por nivel (en toneladas)
masas_ton = np.array([359, 320, 290])  # toneladas
masas_kg = masas_ton * 1000  # Conversión a kg

# Rigideces entre niveles (en kN/m)
rigideces_kN_m = np.array([667080, 637650, 549360])  # kN/m
rigideces_N_m = rigideces_kN_m * 1000  # Conversión a N/m

# Parámetros sísmicos para cálculo de Sa
Z = 0.45
U = 1.00
C = 2.50
S = 1.05
R = 8
g = 981  # cm/s²
Sa_base = Z * U * C *S * g / R  # Sa constante para zona de meseta, en cm/s²

# --- Construcción de matrices M y K ---
M = np.diag(masas_kg)

K = np.zeros((n, n))
for i in range(n):
    if i == 0:
        K[i, i] += rigideces_N_m[i]
    else:
        K[i, i] += rigideces_N_m[i] + rigideces_N_m[i-1]
        K[i, i-1] -= rigideces_N_m[i-1]
        K[i-1, i] -= rigideces_N_m[i-1]

# --- Análisis modal ---
eigvals, eigvecs = np.linalg.eig(np.linalg.inv(M) @ K)
idx = np.argsort(eigvals)
eigvals = eigvals[idx]
modes = eigvecs[:, idx]

# --- Frecuencias y periodos ---
wn = np.sqrt(eigvals)                  # Frecuencias angulares (rad/s)
fn = wn / (2 * np.pi)                  # Frecuencias (Hz)
Tn = 1 / fn                            # Periodos (s)

# --- Normalización de los modos por su valor máximo ---
for i in range(n):
    modes[:, i] /= np.max(np.abs(modes[:, i]))

# --- Factores de participación y masa modal efectiva ---
r = np.ones((n, 1))
Gamma = np.zeros(n)
Meff = np.zeros(n)
for i in range(n):
    phi = modes[:, i].reshape(-1, 1)
    Gamma[i] = (phi.T @ M @ r) / (phi.T @ M @ phi)
    Meff[i] = (Gamma[i] ** 2) * (phi.T @ M @ phi)

# --- Cálculo de aceleraciones y desplazamientos espectrales ---
Sa_cm_s2 = np.full(n, Sa_base)  # aceleración espectral igual para todos los modos (zona de meseta)
Sd_cm = Sa_cm_s2 / wn**2  # desplazamientos espectrales en cm

# --- Desplazamientos modales ---
U_modos = np.zeros((n, n))  # [nivel, modo]
for i in range(n):
    U_modos[:, i] = modes[:, i] * Gamma[i] * Sd_cm[i] / 100  # conversión de cm a m

# --- Combinación modal SRSS ---
U_total = np.sqrt(np.sum(U_modos**2, axis=1))

# --- Mostrar resultados modales ---
df = pd.DataFrame({
    "Modo": np.arange(1, n+1),
    "Periodo (s)": Tn,
    "Frecuencia (Hz)": fn,
    "Participación (Γ)": Gamma,
    "Masa Modal Efectiva (ton)": np.round(Meff.flatten() / 1000, 2),
    "wn": wn,
    "Sa (cm/s²)": Sa_cm_s2,
    "Sd (cm)": np.round(Sd_cm, 3)
})

print("\n--- Resultados Modales ---\n")
print(df.to_string(index=False))

# --- Mostrar desplazamientos totales por nivel ---
print("\n--- Desplazamientos combinados (SRSS) por nivel ---")
for i in range(n):
    print(f" Nivel {i+1}: {U_total[i]:.5f} m")



# --- Gráfico de desplazamientos ---
plt.figure(figsize=(6, 5))
plt.plot(U_total, np.arange(1, n+1), 'o-b', label="Desplazamiento SRSS")
plt.gca().invert_yaxis()
plt.xlabel("Desplazamiento (m)")
plt.ylabel("Nivel")
plt.title("Desplazamiento total por nivel - SRSS")
plt.grid(True)
plt.legend()
plt.tight_layout()
plt.show()

Reflexiones sobre la experiencia

Esta experiencia no solo demostró la eficiencia de la IA para automatizar tareas técnicas, sino también su potencial para convertirse en una herramienta estratégica en el trabajo diario de ingenieros estructurales. A continuación, algunas reflexiones clave:

  1. Asistencia permanente y personalizada

Para jóvenes profesionales y estudiantes, la IA se convierte en una especie de mentor técnico disponible 24/7. Puede explicar conceptos, generar funciones, corregir errores y proponer soluciones de forma didáctica y contextual.

  1. Personalización y adaptabilidad

A diferencia de las librerías genéricas o herramientas cerradas, los scripts generados por IA pueden adaptarse específicamente a las necesidades del proyecto: geometría, materiales, condiciones de borde, comportamiento no lineal, entre otros.

  1. La IA como complemento, no como sustituto

Es crucial entender que la inteligencia artificial no reemplaza la capacidad crítica del ingeniero. Un algoritmo puede generar resultados, pero carece del juicio para validar su pertinencia, interpretar su significado estructural y asumir la responsabilidad ética que implica una decisión de diseño.

¿Estamos preparados como profesión?

La respuesta exige una profunda reflexión. A medida que herramientas como ChatGPT, Claude, Gemini o Copilot se vuelven más accesibles, también aumenta la necesidad de redefinir el rol del ingeniero estructural. Quienes dominen el arte de formular problemas, interpretar resultados y validar modelos serán los nuevos referentes técnicos del sector.

Conclusión

La inteligencia artificial ha llegado para quedarse y promete convertirse en una aliada poderosa en la ingeniería estructural. Su verdadero valor no radica únicamente en la velocidad con la que genera código, sino en su capacidad para ampliar el alcance, profundidad y eficiencia del análisis estructural.

Como profesionales, nuestra responsabilidad es clara: integrar estas herramientas con criterio, manteniendo siempre el rigor técnico, la ética profesional y el compromiso con la seguridad estructural.

En Ingevo, continuaremos explorando, compartiendo y enseñando cómo estas tecnologías emergentes pueden fortalecer nuestra profesión. La revolución no será estruendosa, pero ya está en marcha.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Carrito de compra