Notas de Ingeniería

Lección aprendida OpenSees N.º 03

dispBeamColumn o forceBeamColumn: el elemento que cambia tu cortante en 56 %

Resumen. En OpenSees puedes modelar una columna con dos tipos de elemento que parecen equivalentes. Contra un ensayo real, uno acertó el cortante con 1 % de error y el otro se pasó 56 %. Explico por qué, desde la idea básica.

Cuando una columna de concreto se lleva al límite en un sismo, casi todo el daño se concentra en un tramo corto cerca de la base: la rótula plástica. Ahí el acero fluye, el concreto se agrieta y la columna “gira” como si tuviera una bisagra. El resto de la columna apenas se entera.

Un buen modelo no lineal tiene que capturar esa concentración. Y en OpenSees eso depende de algo que parece un detalle: el tipo de elemento con que modelas la columna. En esta nota cuento cómo lo descubrí en mi tesis, explico la diferencia entre los dos elementos más usados y dejo una lista de lo que reviso ahora antes de lanzar miles de análisis.

Cómo lo encontré

En mi tesis de maestría corrí más de 40 000 análisis dinámicos sobre pilas de puente con distintos diámetros y alturas. Antes de lanzarlos validé el modelo contra ensayos de laboratorio de la base de datos de PEER (Berry, Parrish y Eberhard, 2004), y la validación salió bien.

Meses después, respondiendo a un revisor, noté algo incómodo: el script de validación y el de la corrida masiva no usaban el mismo elemento. La validación usaba forceBeamColumn. La corrida masiva, un solo dispBeamColumn por columna. Corrí el mismo ensayo con los dos.

El ensayo

Usé la columna 415 de Lehman y Moehle: una columna circular en voladizo, con carga axial constante, empujada de un lado a otro con desplazamientos cada vez mayores. Mismo modelo en los dos casos: sección de fibras, concreto confinado con el modelo de Mander, acero con endurecimiento, cinco puntos de integración.

ElementoError en el cortante máximo
forceBeamColumn, 1 elemento≈ +1 %
dispBeamColumn, 1 elemento≈ +56 %

La diferencia no es de decimales. Es otra columna.

La explicación con una regla

Imagina que tienes que dibujar una curva que tiene un pico muy marcado, pero solo puedes usar una regla. Puedes trazar una recta que pase “más o menos” cerca, pero el pico se pierde. Eso le pasa a dispBeamColumn.

Este elemento parte de los desplazamientos y supone que la deformada es un polinomio cúbico. La consecuencia es que, dentro de cada elemento, la curvatura solo puede variar en línea recta:

κ(x)=a+b x\kappa(x) = a + b\,x

La rótula plástica es justamente un pico de curvatura en la base. Con una recta, el elemento reparte esa curvatura a lo largo de toda la columna, la sección de la base fluye menos de lo que debería y la columna sale más rígida y más fuerte de lo que es.

forceBeamColumn hace lo contrario: parte de las fuerzas. Si no hay cargas a lo largo de la columna, el momento flector es una recta, y eso es exacto, no una aproximación:

M(x)=Mi(1−xL)+MjxLM(x) = M_i \left(1 - \frac{x}{L}\right) + M_j \frac{x}{L}

Cada sección calcula su propia curvatura a partir de su momento. Si la sección de la base fluye, su curvatura se dispara, y el elemento lo permite. La curvatura queda concentrada donde debe.

¿Se puede usar dispBeamColumn? Sí, pero dividiendo la columna en varios elementos y haciéndolos más cortos cerca de la base. Con uno solo, el error no se corrige.

Un detalle del ensayo que también importa

En los ensayos de Lehman, la carga axial se aplicó con barras ancladas en la base que giran junto con la columna. Por eso el ensayo no tuvo momento P-Delta en la base. Si modelas el ensayo con geomTransf PDelta, le agregas al modelo un momento que el ensayo nunca tuvo. Para reproducir el ensayo uso geomTransf Linear; para el puente real, sí PDelta.

Qué cambió en mi tesis

Volví a correr toda la base con forceBeamColumn. En promedio, la deriva subió entre 2 % y 9 % y el cortante bajó hasta 20 %. Para el puente de estudio, las conclusiones de diseño se mantuvieron. Donde sí cambió mucho fue en las pilas más esbeltas (0.80 m de diámetro y más de 17 m de alto): antes no colapsaban ni con 2.3 g, y ahora colapsan entre 1.1 y 1.4 g.

Lo que reviso ahora

  1. El script de validación y el de la corrida masiva usan la misma función para crear el modelo. Si copias y pegas, tarde o temprano divergen.
  2. Valido el elemento y la malla exactos de la corrida masiva, no una versión “parecida”.
  3. Reproduzco las condiciones del ensayo, incluida la transformación geométrica.
  4. Si un análisis no converge, lo marco como no convergido. Guardar el máximo parcial como si fuera válido esconde colapsos.

Antes de lanzar diez mil análisis, corre uno contra un ensayo, con el mismo código.

Sobre el autor

Yordan Rocio Maldonado

Ingeniero estructural, especialista en sísmica y puentes. CIP 215845

Contenido educativo y referencial. Las opiniones son mías y no representan a ningún empleador. Para un proyecto real manda el criterio del ingeniero responsable y la norma vigente.

← Volver a las notas