sábado, 21 de mayo de 2011

Programa de Computador para Análisis Estático de Sistemas de Cables

Traducción del Apéndice de un libro en inglés, 
adaptado por William Read, LfM THH (Alemania)

Generalidades
El programa aquí expuesto usa Fortran 77 y puede analizar una estructura de cables articulados compuesta por barras en tracción y comprimidas solamente, cargadas en los nudos y apoyadas en nudos sin cedimientos. El procedimiento empleado para el análisis opera iterativamente sobre la estructura deformada, empleando el método numérico de Newton-Raphson. Pueden analizarse con este programa, tanto estructuras planas como espaciales para

1. Una configuración determinada, propiedades dela estructura y tensión previa en las barras, cargada en los nudos (caso IPT=0), para determinar fuerzas en barras y deformaciones,

2.La determinación de la geometría inicial, dado un juego de coordenadas de nudos, propiedades de la estructura y tensión previa, sin cargas exteriores (caso IPT=1).

En el segundo tipo de problema (caso IPT=1), ilustrado en el ejemplo Truss.data de mas adelante, el programa busca la forma de equilibrio compatible con los datos del primer caso de carga - tensión previa-, (el cual en realidad es un caso sin carga). La salida de este caso se guarda para usarse como entrada, junto a otros datos de casos de carga subsecuentes, para los que el procedimiento de análisis es idéntico al del primer tipo (IPT=0).

el manejo de cables destemplados se ha previsto, eliminándo su contribución a la matriz de rigidez en la iteración subsiguiente. El diagrama de flujo del programa puede verse a continuación.

Datos de Entrada
Los datos de entrada y la notación correspondiente en el programa son como sigue:

Estructura
NSTR = cantidad de estructuras a resolver en la corrida,
IPT = indicador del tipo de problema a analizar (=0/1, ver mas arriba),
NDF = grados de libertad por nudo (=2 estructuras planas, =3 espaciales),
NOL = cantidad de casos de carga por estructura,
NOJ = total de nudos de la estructura,
NOSJ = cantidad de nudos de apoyo,
JTI = indicador de tipo de nudo (=0 libre, =1, apoyado),
SJC = coordenadas de nudos,
NOCS = cantidad de barras,
IJOM = cantidad de barras que inciden en un nudo (2 por barra),
SMF = fuerza de tensión previa (negativa para barras de compresión),
ICPR = indicador de si para una barra en particular la tensión previa deberá   mantenerse constante en el primer caso de carga,
0 = no constante , para IPT=0, IPCR=0
1 = constante,       para IPT=1, IPCR=1 ó 0
(ver Ejemplo Truss.data, ICPR = 0 para barras del  al 16, e ICPR = 1 para barras 17 a 40)
YM = módulo de Young
AOC = área de  sección de barra,
MTI = indicador de tipo de barra (=0 tipo cable -no toma compresión, 1= toma compresión),

Cargas y Salida de Resultados
PJL = cargas en nudos (consistentes con ejes coordenados),
TEMP = alfa x t de cada barra, alfa = coeficiente de dilatación lineal, t = aumento de temperatura,
IOI = indicador de impresión de iteraciones, (=0, imprima resultado final, = 1, imprima cada ciclo de iteración),
LNIT = límite a la cantidad máxima de iteraciones por caso de carga,
TOL = tolerancia en porcentaje de desplazamientos permitida en verificación de precisión, antes de terminar  las iteraciones,
DPI = valor absoluto de desplazamientos; valores menores que éstos serán despreciados en la verificación de la precisión.

DIMENSIONES
Los programas Fortan requieren las dimensiones de almacenamiento para los arreglos de variables, y deberán ajustarse al tamaño del problema y a la capacidad de la máquina con que se haga la corrida; se expresarán aquí en términos literales.

i= cantidad de barras (NOCS),
j= cantidad de nudos (NOJ),
k= cantidad máxima de barras que inciden en un nudo,
l= cantidad de grados de libertad por nudo (NDF),
m= cantidad de nudos libres (NOFJ),
n= 1/2 m x b
b = ancho de banda máximo de una ecuación,

Conviene aproximar por exceso el valor de n, usando el ancho de banda máximo del sistema de ecuaciones. A continuación los bloques de dimensiones del programa,

-en común a todos (COMMON):
DIMENSION JTI(J),SJC(J,L),IJOM(I,2),SMF(I),ICPR(I),
YM(I),AOC(I),MTI(I),PJL(M,L),TEMP(I),DJD(J,L),JNFJ(M),
JNIC(M),NINJ(M),IMOJ(J,K),RCJ(J,L),RMF(I),RLS(I),SLS(I),

 -en la subrutina "data":
DIMENSION P(L)

 -en la subrutina "newrap":
DIMENSION A(M*L),TRI(N),X(M*L),MB(M*L),CMF(I),NS(I),

-en la subrutina "aband":
DIMENSION E(M*L)

-en la subrutina "stimat":
DIMENSION E(M*L),MALO(J),DR(L),MR(L),MC(L),AS(L),ASM(L),

-en la subrutina "forlen":
DIMENSION DJS(L), DJE(L),

-en la subrutina "check":
DIMENSION NS(I),CMF(I),

-en la subrutina "output":
DIMENSION NS(I),DJ(L).


EJEMPLOS
Para fines de puesta en marcha y depuración, el autor del blog preparó los datos de entrada de la siguiente estructura (Wtest.data)














Mas adelante se codificó la entrada del ejemplo de la publicación original en inglés. Una tijerilla de cables como se ilustra mas abajo. El archivo de entrada lo llamamos Truss.data.

Los archivos fortran, de datos y el compilado (para linux Porteus, 32 bits) con el compilador f77 de la fundación GNU y pueden bajarse del siguiente enlace

http://www.mediafire.com/?nd0hnnhm4a4mc

Finalmente: quisiera dar crédito al autor del libro y del programa. Lamentablemente desapareció de mi biblioteca y sólo pude salvar fotocopia del mencionado apéndice. Si algún lector tiene el mismo libro, por favor comunicarme el nombre del libro y de su autor.

El autor de este blog se descarga de toda responsabilidad que pudiere surgir por el uso de este programa.

No hay comentarios:

Publicar un comentario