Vous êtes sur la page 1sur 31

ndice general

1. INTRODUCCION 2

2. FUNDAMENTO TEORICO 3
2.1. RIGIDEZ DE UNA ESTRUCTURA . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1. Significado fsico de la matriz de rigidez . . . . . . . . . . . . . . . . . . . 4
2.1.2. Clculo de la matriz de rigidez . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. BARRA ARTICULADA PLANA . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1. Matriz de rigidez. Mtodo del desplazamiento unitario . . . . . . . . . . 7
2.3. BARRA BIARTICULADA ESPACIAL . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1. Matriz de rigidez en el sistema general . . . . . . . . . . . . . . . . . . . 8

3. DESARROLLO DEL TRABAJO 10


3.1. GENERALIDADES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. DATOS REQUERIDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
a) INGRESO DE LOS NUDOS . . . . . . . . . . . . . . . . . . . 10
b) INGRESO DE LAS BARRAS . . . . . . . . . . . . . . . . . . 10
c) PROPIEDADES DE LAS BARRAS . . . . . . . . . . . . . . . 10
d) INGRESAR EL TIPO DE NUDO . . . . . . . . . . . . . . . . 11
e) INGRESO DE LAS CARGAS PUNTUALES . . . . . . . . . . 11
3.3. RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4. DIAGRAMA DE FLUJO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5. PSEUDOCODIGO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4. APLICACIN 18
a) Ejemplo: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1. PREPARACION DE LOS DATOS . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2. PROCESO DE CALCULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3. RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4. ANALISIS DE LOS RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . 25

5. CONCLUSIONES Y RECOMENDACIONES 26

6. BIBLIOGRAFIA 27

7. ANEXOS 28
7.1. CODIGO FUENTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Ingeniera Civil 1
1 INTRODUCCION

Una estructura es para un ingeniero, cualquier tipo de construccin formada por uno o varios
elementos enlazados entre s que estn destinados a soportar la accin de una serie de fuerzas
aplicadas sobre ellos, por lo que dentro de todos los tipos de estructuras,hemos puesto mayor
atencion en las armaduras,por lo que el presente trabajo titulado Analisis de armaduras
con el metodo de la rigidez es una muestra de los conocimientos obtenidos a lo largo del
curso de programacin digital en python, un programa especficamente hecho para el calculo
de fuerzas en armaduras, mediante la obtencion de la matriz rigidez, vector dezplazamiento,
obtendremas las fuerzas y esfuerzos en las barras.

Para al elaboracion del codigo fuente usamos la programacion orientada a objetos,(POO),


pues el analisis lo requeria, recurriendo tambien a las sentencias iterativas, usando el paquete
numpy, el cual es esencial para las operaciones matriciales.
Se tomo referencias bibliograficas de textos de analisis estructural, en el tema especifico de
analisis de celosias(armaduras), no fue facil construir el codigo pero se logro y a continuacion
presentamos el trabajo respectivo.

El grupo
Escuela Profesional de Ingenieria Civil
14 de Diciembre del 2015

Ingeniera Civil 2
2 FUNDAMENTO TEORICO

El anlisis de una estructura empleando el mtodo de flexibilidad puede resultar muy la-
borioso si la estructura es medianamente compleja en trminos de grado de hiperestaticidad,
nmero y disposicin de las barras, etc. En este caso resulta mucho ms efectivo para su re-
solucin el mtodo de rigidez, tambin conocido como de los desplazamientos. los conceptos
de rigidez de la estructura y de rigidez de los distintos elementos estructurales, que son las
magnitudes bsicas en que se fundamenta el mtodo y por lo tanto deben conocerse antes de
proceder a su desarrollo. El mtodo de rigidez se basa en el primer teorema de Castigliano, y
una de sus caractersticas ms importantes es que lleva a una formulacin muy sistemtica y
general, que hace muy sencilla su aplicacin prctica. Las primeras formulaciones prcticas de
mtodos de anlisis estructural basados en el concepto de rigidez datan de hace cierto tiempo,
como por ejemplo el mtodo del giro - deformacin de Bendixen (1914) que utiliza directamente
la rigidez a flexin de las barras, o el mtodo de la distribucin de momentos de Cross, y en el
que el concepto de rigidez queda menos a la vista.
Los tipos de estructuras cuyo anlisis se aborda por el mtodo de rigidez son: celosas planas
o espaciales, prticos planos o espaciales y emparrillados planos. Las vigas continuas se tra-
tan como un caso particular de los prticos planos. Se emplean las suposiciones habituales de
material elstico-lineal, y pequeas deformaciones.

2.1 RIGIDEZ DE UNA ESTRUCTURA


Se considera una estructura reticular, cuya deformacin se puede definir mediante un con-
junto de n grados de libertad 4i que son los giros o deformaciones:

t = {1 2 3 ... n }
Sean Fi las fuerzas generalizadas (fuerzas o momentos) asociadas a esos grados de libertad:

F t = {F1 F2 F3 ... Fn }

Segn la frmula de Clapeyron, la energa almacenada por la estructura es igual al trabajo


efectuado por estas fuerzas:
1X 1
U= Fi i = F T
2 j 2

Si la estructura est en una posicin de equilibrio, el valor de una cualquiera de las fuerzas,se
obtiene aplicando el primer Teorema de Castigliano:
U
Fi =
i

Ingeniera Civil 3
Programacin Digital ANALISIS DE ARMADURAS

Derivando la expresin de la energa se obtiene:


X Fj
Fi = j
j
i

Esta expresin se cumple para todas las fuerzas Fi , con lo que las n ecuaciones se pueden
agrupar de forma matricial como:
F1 F2 Fn
F1 1 1
... 1 1
F1 F2
Fn

F2 ...

2 2 2 2
=

... ... ... ... ... ...
F F F


Fn ... n n
1 2 n

n n

F = K
donde K es la matriz de rigidez de la estructura. Esta ecuacin representa las n ecuaciones
de equilibrio de la estructura en la direccin de sus n grados de libertad, y es la ecuacin
fundamental del mtodo de rigidez. Conociendo los valores de las fuerzas exteriores F que actan
sobre el sistema, se obtienen sus desplazamientos por solucin del sistema de ecuaciones
anterior, lo cual explica el nombre de mtodo de los desplazamientos por el que tambin se
conoce a este mtodo. Los elementos de la matriz de rigidez K son los coeficientes de rigidez
de la estructura, cuyo valor es:
Fj
Kij =
i

2.1.1. Significado fsico de la matriz de rigidez


El significado fsico de la matriz de rigidez puede ponerse de manifiesto imponiendo a la
estructura el siguiente estado de deformacin: al grado de libertad j se le impone una defor-
macin de valor unidad (j = 1) mientras que los restantes grados de libertad se mantienen
fijos. Para imponer este estado de deformacin hay que aplicar unas fuerzas sobre os distintos
grados de libertad, cuyos valores se trata de determinar.
La ecuacin de equilibrio en la situacin de deformacin impuesta es:


F1
K 11 K 1j K 1n
1 = 0

K 1j









Fj = Kjj j = 1 = Kjj









Fn Kn1 Knj Knm n = 0 Knj

Se observa que las fuerzas a efectuar sobre los grados de libertad corresponden a la columna
j de la matriz de rigidez. Por lo tanto se puede decir que la columna j de la matriz de rigidez son
las fuerzas que es necesario aplicar sobre los grados de libertad de la estructura,para imponer
un estado de deformacin compuesto por un desplazamiento unidad en el grado de libertad j,y
cero en todos los dems.


K 1j

F1






Kjj = Fj










Knj Fn

Las fuerzas que hay que aplicar sobre los distintos grados de libertad son:
Sobre el grado de libertad j hay que aplicar una fuerza exterior de valor Fj = Kjj , que es

Ingeniera Civil 4
Programacin Digital ANALISIS DE ARMADURAS

precisamente la fuerza necesaria para producir el j = 1 Esta fuerza corresponde al trmino


de la diagonal de K.
En todos los dems grados de libertad aparecen unas fuerzas de reaccin, precisamente para
que no se muevan, de valor Fi = Kij .
Por lo tanto, un trmino cualquiera Kij de la matriz K representa la fuerza de reaccin exterior
que aparece en la direccin i, al aplicarse un desplazamiento unitario en la direccin j j = 1,
siendo cero todos los dems desplazamientos (i = 0 i 6= j). La figura muestra muestra estas
fuerzas para la rigidez transversal de un prtico simple.

Figura 2.1: Fuerzas para la rigidez transversal de un prtico simple.

Este desarrollo se ha explicado con fuerzas y traslaciones, pero el planteamiento es total-


mente general y puede hacerse igualmente con giros y momentos. Es decir que las Fi anteriores
pueden ser fuerzas o momentos y las i traslaciones o giros. Los trminos de K son en general
cocientes entre fuerzas o momentos y traslaciones o giros. Sus unidades son por lo tanto: F/L si
son relacin entre una fuerza y una deformacin, o FL si relacionan un momento con un giro,
o bien F si relacionan una fuerza con un giro, o un momento con una traslacin.

2.1.2. Clculo de la matriz de rigidez


La matriz de rigidez de una estructura o de un elemento estructural puede determinar-
se,basndose en la su propia definicin, como la derivada segunda de la energa elstica con
respecto a las deformaciones. Esto exige conocer la expresin analtica de la energa elstica en
funcin de los grados de libertad, lo cual es prcticamente imposible para una estructura real,
por lo que este mtodo slo se emplea para un elemento estructural aislado o en todo caso para
una estructura muy simple.
Como alternativa, es posible plantear otro mtodo diferente, que no requiere determinar la
energa elstica, y que se fundamenta en el sentido fsico de los trminos de la matriz de rigidez.
Consiste sencillamente en imponer sucesivos valores unitarios a todos y cada uno de los grados
de libertad de la estructura y calcular las fuerzas que es necesario aplicar desde el exterior,
sobre cada uno de ellos, para producir la deformacin deseada. Para cada uno de dichos valores
unitarios se obtiene as una columna de la matriz de rigidez.
El clculo de cada columna de K es en general un problema hiperesttico, cuya nica accin
exterior es un desplazamiento impuesto, de valor unidad, y en el que deben calcularse las reac-
ciones sobre todos los grados de libertad. Se requiere por lo tanto el empleo de un mtodo
adecuado que incluya las condiciones de compatibilidad de deformaciones, como el mtodo de

Ingeniera Civil 5
Programacin Digital ANALISIS DE ARMADURAS

flexibilidad.
Ejemplo En una estructura sencilla como la de la figura, los diversos coeficientes Kij son las
fuerzas y momentos indicados, para cada valor unitario de las distintas deformaciones.

Figura 2.2: Fuerzas y momentos para cada valor unitario de las deformaciones.

Sin embargo, el clculo la matriz de rigidez por el procedimiento expuesto, para toda la
estructura a la vez, resulta muy complicado, pues hay que calcular tantas veces la estructura
como grados de libertad tenga, y cada clculo es a su vez un problema hiperesttico. Este
mtodo por lo tanto no puede aplicarse de forma directa a toda la estructura.
La solucin para formar la matriz K de forma simple consiste en calcularla para cada elemento
por independiente, con objeto de obtener la expresin de la matriz de rigidez del elemento
aislado. A continuacin se efecta un proceso de unin o ensamblaje de las matrices de los
distintos elementos, a fin de obtener la matriz de rigidez de toda la estructura.
Resulta por lo tanto del mximo inters disponer de la expresin de la matriz de rigidez de
cada tipo distinto de elemento estructural. El resto de este captulo est dedicado a describir
los elementos estructurales ms comunes, indicndose sus grados de libertad, las fuerzas que
admiten y su matriz de rigidez.

2.2 BARRA ARTICULADA PLANA


Se trata de un elemento estructural articulado en los dos extremos, y que por lo tanto
slo puede absorber esfuerzo axial, de traccin o compresin, en su propia direccin, y ningn
esfuerzo transversal. Es el elemento que forma las celosas planas. Tiene dos grados de libertad
de desplazamiento en cada uno de sus dos nudos extremos.
Se adopta un sistema de ejes local, cuyo eje Xl coincide con el eje del elemento, y cuyo origen est
en uno cualquiera de los nudos, que se denomina nudo I, mientras que el opuesto es el nudo
J(Figura 3). Se considera que el elemento es de material homogneo,con seccin transversal
constante A, mdulo de elasticidad E, y longitud L.
Los vectores que agrupan los cuatro grados de libertad del elemento y las fuerzas corres-
pondientes a estos grados de libertad, en coordenadas locales, son:

 
IX
 
P IX

I IY PI PIY

= = P = =
J
JX PJ
PJX
JY PJY

Ingeniera Civil 6
Programacin Digital ANALISIS DE ARMADURAS

Figura 2.3: Barra Articulada.

Se incluyen las fuerzas en direccin YL por existir grados de libertad en dicha direccin, aunque
deben ser nulas por equilibrio esttico.

2.2.1. Matriz de rigidez. Mtodo del desplazamiento unitario


La matriz de rigidez es de tamao 4x4, y sus trminos se calculan aplicando sucesivos
valores unitarios a los cuatro desplazamientos posibles y calculando las fuerzas de reaccin que
aparecen, como se muestra en la figura 4.
Caso d IX=1. Las distintas magnitudes son: = 1/L = E N = A = AE L
Se obtienen de esta manera los coeficientes de la primera columna de la matriz de rigidez:

KIX,IX = EA/L K JK,JK = EA/L KIK,IK = KJK,JK = 0

Caso IY = 1. En esta situacin no aparecen esfuerzos en la barra, (en la hiptesis de


pequeas deformaciones), luego la segunda columna es nula.

Caso JX = 1. La situacin es anloga al caso IX = 1 y se obtiene la tercera columna.


Caso JY = 1. Se obtiene la cuarta columna, que es toda ella nula.

Figura 2.4: Dezplazamientos de las barras.

La expresin de la matriz de rigidez en el sistema local se obtiene agrupando los resultados


anteriores:
EA
P IX 0 EA 0 IX
L L




PIY 0 0 0 0

IY
=

PJX
EA
L
0 EA
L
0
JX
PJY 0 0 0 0 JY

Ingeniera Civil 7
Programacin Digital ANALISIS DE ARMADURAS

P = KL
Se observa que:
Los grados de libertad IY JY no aportan rigidez: pueden adoptar cualquier valor sin que se
produzcan fuerzas en los extremos de la barra.
Los esfuerzos en la direccin YL son siempre nulos, sean cuales sean las deformaciones de la
barra.
Solamente colaboran a la rigidez los grados de libertad de deformacin axial IX JX .
La ecuacin de equilibrio anterior se puede poner separada para las magnitudes de cada nudo
como:
    
PI KLII KLIJ I
=
PJ KLJI KLJJ J
donde las matrices y vectores que intervienen son de tamao 2. Del valor de KL se comprueba
que:

T
KLIJ = KLJI
La expresin anterior puede ponerse en realidad de forma mucho ms compacta como:
   EA EA
 
PIX L
L
IX
=
PJX EA
L
EA
L
JX

2.3 BARRA BIARTICULADA ESPACIAL

2.3.1. Matriz de rigidez en el sistema general

Figura 2.5: Barra biarticulada espacial.

Los vectores de deformaciones y fuerzas en el sistema general son:


= {IX IY IZ JX JY JZ }T
F = {FIX FIY FIZ FJX FJY FJZ }T
La matriz de rotacin al sistema general es:

IX X X X IX
I = IY = Y Y Y IY = T I
IZ Z Z Z IZ

Ingeniera Civil 8
Programacin Digital ANALISIS DE ARMADURAS

donde X , X , X son los cosenos directores del eje XL de la barra, Y , Y , Y los del eje y
Z , Z , Z los del ZL . Anlogamente, para las fuerzas sobre el nudo I, la relacin es:

PI = T F I

Para los seis desplazamientos y las seis fuerzas las relaciones son:
    
I T 0 I
= = = T2
J 0 T J

P = T2 F
Donde T2 se obtiene por agrupacin diagonal de dos matrices T de 3x3. La ecuacin de equilibrio
en coordenadas generales es:


F1X 1X
F

1Y 1Y






EA
F1Z

1Z

=

FJX L
JX
F JY

JY




FJZ JZ

F = KG
En esta expresin de la matriz de rigidez en coordenadas generales slo intervienen los co-
senos directores del eje XL , y no aparecen los de los otros dos ejes yL y zL . Queda por lo tanto
demostrado que la posicin de dichos ejes no afecta al elemento, y por lo tanto no es necesario
ni tan siquiera definirlos: basta con definir el eje XL , que es el que contiene al elemento.

La matriz de rigidez en el sistema general se puede dividir en cuatro submatrices, que definen
las rigideces cruzadas entre los dos nudos:
    
FI KGII KGIJ I
=
FJ KGJI KGIJ J

Cada una de estas cuatro submatrices tiene la expresin:

KGij = T T KLij T
que es la misma que en el caso plano, al ser matricial, aunque las matrices KLij son ahora
de tamao 3x3.

Ingeniera Civil 9
3 DESARROLLO DEL TRABAJO

3.1 GENERALIDADES
El analisis de armaduras se puede desarrollar, con diferentes metodos , entre los cuales des-
tacan: metodo de los nudos, metodo de las secciones,metodo de la rigidez,etc. En este programa
se hace el analisis con el metodo de la rigidez para lo cual los datos que se deben de ingresar,
en el orden respectivo y los resultados a obtener seran presentados a continuacion:

3.2 DATOS REQUERIDOS


El programa nos pedira una serie de datos relacionados plenamente con la configuracion
de la armadura, sus propiedades de los elementos tales como el area de seccion, el modulo de
elasticidad, en lo concerniente a la configuracion de la armadura.
A continuacion se enumera el orden de ingreso de los datos:

1 Ingresar el numero de nudos.

2 Ingresar el numero de barras.

3 Propiedades de las barras.

4 Ingresar el tipo de nudo.

5 Ingresar las cargas puntuales.

a) INGRESO DE LOS NUDOS En esta primera parte de ejecucion del programa, indi-
caremos el numero de nudos de acuerdo a la configuracion de nuestra armadura, a continuacion
el programa nos pedira que ingresemos las coordenadas de los nudos, se recomienda hacerlo de
manera ordenada y teniendo el cuenta el sistema de referencia (X,Y, donde el eje positivo de
las absisas es hacia la derecha y el eje positivos de las ordenadas en la direccion vertical hacia
arriba.

b) INGRESO DE LAS BARRAS Seguimos ejecutando el programa, entonces ahora nos


toca ingresar el numero de barras y sus posiciones respecto de los nudos en las que se componen.

c) PROPIEDADES DE LAS BARRAS Es ahora cuando debemos indicarle al programa


el area de seccion de cada barra, y su rigidez, para que realize los calculos respectivos de los
esfuerzos y dezplazamientos.

Ingeniera Civil 10
Programacin Digital ANALISIS DE ARMADURAS

Figura 3.1: Nomenclatura de las barras y nudos.

d) INGRESAR EL TIPO DE NUDO Para poder indicarle el tipo de nudo el programa,


nos preguntara si son nudos libres o nudos empotrados, estos difieren en que en los nudos libres
no tenemos reacciones, y en los nudos enpotrados si tenemos reacciones pues en ahi se ubican
los apoyos.
NUDO LIBRE=(1,1), respectivamente en la direccion x e y.
NUDO EMPOTRADO=(0,0), respectivamente en la direccion x e y.
En el caso de que en los nudos empotrados solo tengamos reaccion en Y,o solo enX, seria
de la siguiente manera:
(1,0)=en el nudo ubicado en el apoyo solo hay reaccion en x.
(0,1)=en el nudo ubicado en el apoyo solo hay reaccion en y.

Figura 3.2: Tipos de nudos.

e) INGRESO DE LAS CARGAS PUNTUALES Como ultimo dato requerido por el


programa, son las cargas nodales, el programa nos pedira las fuerzas, en ambos ejes, ingresare-
mos las cargas de acuerdo al orden en el que se ingreso los nudos.

3.3 RESULTADOS
Los resultados que nos mostrara el programa seran los siguientes:
1 Matriz de rigidez total.
2 Matriz de rigidez reducida.
3 Vector de dezplazamiento.
4 Reacciones en los apoyos.
5 Fuerza y esfuerzos en cada miembro.

Ingeniera Civil 11
Programacin Digital ANALISIS DE ARMADURAS

3.4 DIAGRAMA DE FLUJO

Figura 3.3: Diagrama 1

Ingeniera Civil 12
Programacin Digital ANALISIS DE ARMADURAS

Figura 3.4: Diagrama 2

Ingeniera Civil 13
Programacin Digital ANALISIS DE ARMADURAS

Figura 3.5: Diagrama 3


Ingeniera Civil 14
Programacin Digital ANALISIS DE ARMADURAS

3.5 PSEUDOCODIGO
INICIO
Variable real : n
Iniciar variable:
A= 0
Escribir ( Ingrese el nmero de nudos)
Leer (n)
Escribir (Coordenadas de los Nudos)
Para i=0 hasta n hacer

A=A+1

Leer (A)

Escribir (Ingrese la coordenada en X (m))

Leer (X( ))

Escribir (Ingrese la coordenada en Y (m))

Leer (Y( ))
Variable real : m
B= 0
Leer (m)
Para i=0 hasta m hacer

B =B+1

Leer (B)

Escribir (Del Punto P[i])

Leer (P[i])

Escribir (Al punto P[j])

Leer (P[j])
S= 0
Para i=0 hasta m hacer

S=S+1

Escribir (Colocar area de seccin )

Leer (S)
E= 0
Para i=0 hasta m hacer

Ingeniera Civil 15
Programacin Digital ANALISIS DE ARMADURAS

E=E+1

Escribir (Colocar Elasticidad de seccin )

Leer (E)
C=0
Para i=0 hasta m hacer

C =C+1

Leer (C)

C =C +[ S[i],E[i],B[ ][ ] ]
U1= 0
U2= 0

Para i=0 hasta B+1 hacer

U1= U1 + [1]

U2= U2 + [1]

Leer (U1)

Leer (U2)
R= 0
T= 0
Para i=1 hasta P hacer

R= R+1

Para i=1 hasta U1 hacer

T= T+1

Si i=j Entonces

R = R [U1[ ]+U2[ ]]

Sino
No realizar ninguna operacin
R1 = [R]
K = [2*n , 2*n]
P = [R]T
Para i=1 hasta 4 hacer

Para j=1 hasta 4 hacer

Para Y=0 hasta R hacer

Ingeniera Civil 16
Programacin Digital ANALISIS DE ARMADURAS

K = K + [R1*k*P]
Imprimir (La Matriz rigidez es: )
M= 0
Para i=1 hasta 1 hacer

M= M+1

Escribir (Nodos empotrados fijos [1,1], Nodos empotrados libres [0,0] )


V = 0 Para i=1 hasta n hacer

V= V+1
D= |V * R| Imprimir (Los Desplazamientos son: ) G= 0
Para i=1 hasta n hacer

M= M+1

G =[A*V]

Leer(G)
Imprimir (Las reacciones son: )
F=0
Para i=1 hasta 2m hacer

F =F + [K*D]

Leer(F)
Imprimir (F)
FIN

Ingeniera Civil 17
4 APLICACIN

Se presenta el siguiente ejercicio 1 :

a) Ejemplo: Calcular los esfuerzos en la estructura de la figura mostrada Todas las barras son
del mismo material, con mdulo de elasticidad E=200000 MPa y tienen igual rea transversal
A=10 cm2.

Figura 4.1: Armadura.

1
Ejemplo tomado del libro de Juan Celigueta , Curso de Analisis Estructural [2]

Ingeniera Civil 18
Programacin Digital ANALISIS DE ARMADURAS

Figura 4.2: Nomenclatura de los elemetos

4.1 PREPARACION DE LOS DATOS


Haremos un esquema acerca de la nomenclatura que usaremos, en el calculo de la armadura,
primeramente la orientacion global seguidamente los nudos y las barras:

1 Ingreso de los nudos:


Comenzamos a ejecutar el programa y lo que se nos muestra es lo siguiente:

Figura 4.3: Ingreso de nudos

Seguidamente, ingresamos los datos pedidos(nudos y coordenadas de los nudos), el pro-


grama nos presentara lo siguiente, seguidamente nos pide el numero de barras:

Ingeniera Civil 19
Programacin Digital ANALISIS DE ARMADURAS

Figura 4.4: Ingreso de nudos 2

Seguidamente ingresamos las barras,hacer la alimentacion de datos del programa con la


convencion que tenemos en Fig. 4.2, se mostrara lo siguiente:

Figura 4.5: Ingreso de las barras

Ahora el programa nos pide que ingresemos, las propiedades de los elementos, tales como
el area de seccion de cada barra y su rigidez, en este caso todas las barras tienen la misma
seccion que su area es (0.001m2), al igual que su rigidez es 200000 Mpa que es igual a
200000000000pa.

Ingeniera Civil 20
Programacin Digital ANALISIS DE ARMADURAS

Figura 4.6: Ingreso de las barras

2 Despues del calculo de la matriz rigidez.


Una vez calculado la matriz rigidez, nos toca ingresar el tipo de nudo que tenemos, que
ya se explico la nomenclatura en el capitulo 3.

Figura 4.7: Ingreso del tipo de nudo

Ingeniera Civil 21
Programacin Digital ANALISIS DE ARMADURAS

3 Ingreso de las cargas nodales.


Dado que el programa ya calculo, la matriz de rigidez reducida, finalmente ingresamos
las cargas nodales, en el orden en el que se ingreso los nudos, ademas tener en cuenta la
direccion de las fuerzas.En este caso solo tenemos 2 cargas las cuales son de -5000 en el
eje y y 8000 en el eje x.

Figura 4.8: Ingreso de las cargas nodales.

Aqui concluye la alimentacion de datos al programa.

4.2 PROCESO DE CALCULO


Una vez ingresado lo datos el programa hace los calculos respectivos para la matriz de
rigidez total de la armadura, se muestra a continuacion:

1 Matriz de rigidez.

Figura 4.9: Matriz Rigidez

Ingeniera Civil 22
Programacin Digital ANALISIS DE ARMADURAS

2 Matriz de rigidez reducida.


Una vez ensamblada la matriz de rigidez total , al termino de ingresar el tipo de nudo, el
programa calculara la matriz de rigidez reducida.

Figura 4.10: Matriz Rigidez reducida

3 Vector de dezplazamientos y reacciones en los apoyos.


Como ya se ingreso las cargas nodales, el programa hace el calculo del vector de dezpla-
zamiento, al igual que las reacciones respectivas, recuerde que es en el orden en el que
ingreso los nudos.

Figura 4.11: Vector de dezplamiento y reacciones.

4.3 RESULTADOS
Los resultados son las fuerzas en las barras y esfuerzos en las mismas, el programa te
preguntara respecto a que barra quieres conocer.
Fijarse que nos da en la direccion de los ejes coordenados.Si en algunos nos da en ambos
ejes solamente aplicar sumatoria de fuerzas al cuadrado y la raiz cuadrada de la misma.

Ingeniera Civil 23
Programacin Digital ANALISIS DE ARMADURAS

Figura 4.12: Fuerzas y esfuerzos en las barras 1.

Figura 4.13: Fuerzas y esfuerzos en las barras 2.

Ingeniera Civil 24
Programacin Digital ANALISIS DE ARMADURAS

4.4 ANALISIS DE LOS RESULTADOS


Organizamos los resultados que nos entrega el programa y se resume de la siguiente manera:

Figura 4.14: Analisis de resultados 1.

Figura 4.15: Analisis de resultados 2.

Ingeniera Civil 25
5 CONCLUSIONES Y RECOMENDACIONES

1 Al concluir este trabajo aprendimos mucho mas acerca de las celosias(armaduras), apren-
dimos conceptos nuevos en el area de analisis estructural que nos seran de mucha ayuda
en nuestra vida profesional.

2 El lenguaje de programcion usado PYTHON , es un lenguaje universal, de gran ayuda,


este lenguaje deberia ser mas usado en el area de ingenieria civil ya que es de facil uso.

3 Los resultados obtenidos con el programa, nos facilitan el calculo, y nos reduce tiempos.

4 Bueno ha de entenderse que el programa presentado puede ser ahn mejorado posterior-
mente, debido a que carece de una interfaz grafica apropiada.

5 El programa presentado solo se limita al calculo de armaduras, se puede ampliar para


porticos, vigas que en analisis de la matriz rigidez es diferente para cada estructura.

Ingeniera Civil 26
6 BIBLIOGRAFIA

[1] Ramn Arguelles Alvarez . Clculo matricial de estructuras. Espaa. Editorial BELLIS-
CO.

[2]Juan Toms Celigueta . Curso de anlisis Estructural 2ed. Espaa. Ediciones Universi-
dad de Navarra, S.A., 2003.

[3]Andres Marzal Isabel Garcia . Introduccin a la programacin con Python. Coleccion Sa-
pientia, 23.

[4]https:www.youtube.com/channel/UCKeFq9ZJC-3Z-i6IR5Xeygw . Curso de python en hi-


drologia. Gidatahri consultora en recursos hidricos.

[5]https:www.youtube.com/channel/UC8mLKwIn-2Yb7nssjgEHWrw . Curso de python en


espaol. DEIVICOPTERO.

Ingeniera Civil 27
7 ANEXOS

7.1 CODIGO FUENTE


En el presente cdigo fuente se presenta primero al codigop de la clase, y luego al codigo de
la armaduera.

Listing 7.1: Analisis de Armaduras por el metodo de rigidez:


1 #Codigo de la clase
2 from numpy import *
3 from numpy.linalg import *
4 class MatrixAr():
5 def __init__(self,A,E,X1,Y1,X2,Y2):
6 self.A=A
7 self.E=E
8 self.X1=X1
9 self.X2=X2
10 self.Y1=Y1
11 self.Y2=Y2
12 self.L=sqrt((self.X2-self.X1)**2+(self.Y2-self.Y1)**2)
13 self.v=self.Y2-self.Y1
14 self.u=self.X2-self.X1
15 self.coss=self.u/self.L
16 self.senn=self.v/self.L
17 self.KT=zeros((4,4))
18 def constructor(self):
19 self.KT[0][0]=self.KT[2][2]=self.coss**2
20 self.KT[0][1]=self.KT[1][0]=self.KT[3][2]=self.KT[2][3]=self.-
senn*self.coss
21 self.KT[2][0]=self.KT[0][2]=-1*self.coss**2
22 self.KT[0][3]=self.KT[3][0]=self.KT[2][1]=self.KT[1][2]=-1*self.-
coss*self.senn
23 self.KT[1][1]=self.KT[3][3]=self.senn**2
24 self.KT[3][1]=self.KT[1][3]=-1*self.senn**2
25 ku=self.A*self.E/(self.L)
26 return ku*self.KT
27
28
29

Ingeniera Civil 28
Programacin Digital ANALISIS DE ARMADURAS

30 #Codigo de la armadura
31 from numpy import *
32 from numpy.linalg import *
33 from MATRIX0 import *
34 print("""Programa elaborado para el calculo de fuerzas en armaduras -
planas,
35 rome mucha atencion en las recomendaciones que se dan, -
comenzemos.""")
36 _
nudos 0=[]
37 n=input('Colocar los nudos de la Armadura :')
38 print("""Ingrese las coordenadas de los nodos,
39 recuerda que debes comenzar en la nomenclatura de los nudos por -
"0" .""")
40 for i in range(n):
41 nudos_1=input('Colocar [xi,yi] :')
42 nudos_0=nudos_0+[nudos_1]
43 nudos_final=array(nudos_0)
44 barras=[]
45 m=input('Colocar el numero de Barras :')
46 print("""Ingresa de que nudo a que nudo esta conectado las barras,
47 no olvides de la nomenclatura que ya establecimos.""")
48 barras_n=[]
49 for i in range(m):
50 s_rect=input('Del Punto P[i] al P[j] :')
51 barras_n=barras_n+[s_rect]
52 barras_total=array(barras_n)
53 direct=array(barras_n)+1
54 direct_2=direct*2
55 #Calculo de las Matrices de Rigidez.
56 Areas=[]
57 Elasticidad=[]
58 Matrices_R=[]
59 print("""Ahora tienes que ingresar las propiedades de las barras,
60 colocalas en el orden que las introduciste las barras inicialmente.""")
61 for i in range(len(barras_total)):
62 A0=input('Colocar el Area de seccion '+str(i)+' :')
63 Areas=Areas+[A0]
64 for i in range(len(barras_total)):
65 E0=input('Colocar la Elasticidad de la seccion '+str(i)+' :')
66 Elasticidad=Elasticidad+[E0]
67 for i in range(len(barras_total)):
68 Matrices_R=Matrices_R+[MatrixAr(Areas[i],Elasticidad[i],nudos_final[-
barras_total[i][0]][0],nudos_final[barras_total[i][0]][1],-
nudos_final[barras_total[i][1]][0],nudos_final[barras_total[i-
][1]][1]).constructor()]
69 # Matriz de Ordenamiento Matricial PI
70 U01=[]
71 U02=[]
72 for i in range(len(direct_2)):
73 U1=range(direct_2[i][0]-2,direct_2[i][0])

Ingeniera Civil 29
Programacin Digital ANALISIS DE ARMADURAS

74 U2=range(direct_2[i][1]-2,direct_2[i][1])
75 U01=U01+[U1]
76 U02=U02+[U2]
77 R=[]
78 n1=len(U01)
79 t=len(U02)
80 WQR=array(U01)
81 WQT=array(U02)
82 for i in range(n1):
83 for j in range(t):
84 if i==j:
85 R=R + [array([U01[i],U02[j]]).reshape(4)]
86
87 R1=array(R)
88 PI=transpose(R1)
89 #Acoplamietno para la Matriz general de Rigidez
90 KTU=zeros((2*n,2*n))
91 for i in range(4):
92 for j in range(4):
93 for y in range(len(Matrices_R)):
94 KTU[PI[i][y]][PI[j][y]]=KTU[PI[i][y]][PI[j][y]]+Matrices_R[y-
][i][j]
95 print('La Matriz de Rigidez es :',KTU)
96
97 #Calculo de Matriz de Rigidez Reducida
98 M=[]
99 print("""Ingresaras el tipo de nodo que tines en tu armadura,
100 recuerda ingresarle en el orden correcto""")
101 for i in range(n):
102 u=input('Nodos Empotrados-fijos [0,0],Nodos Libres [1,1] :')
103 M=M+[u]
104 N=array(M).reshape(2*n,1)
105 GDL0=[]
106 for i in range(len(N)):
107 if N[i]==0:
108 GDL0=GDL0+[i]
109 GDT=array(GDL0)
110 KM1=delete(KTU,GDT,axis=0)
111 KM2=delete(KM1,GDT,axis=1)
112 print ('Calculo de Matriz Rigidez reducida',KM2)
113 #Vector de Fuerzas Externas
114 Vect=[]
115 print("Finalmente solo te queda ingresar las cargas puntuales")
116 for i in range(n):
117 s=input('Colocar Valores de Fuerzas [Fx,Fy] :')
118 Vect=Vect+[s]
119 FU=array(Vect).reshape(2*n,1)
120
121 FUR=delete(FU,GDT,axis=0)
122 #Calculo de las deformaciones de los nudos libres

Ingeniera Civil 30
Programacin Digital ANALISIS DE ARMADURAS

123 Desp=dot(inv(KM2),FUR)
124 print ('Calculo de los desplazamientos :',Desp)
125
126 #Calculo de las reaciones del esquema.
127 GDL1=[]
128 for i in range(len(N)):
129 if N[i]==1:
130 GDL1=GDL1+[i]
131 GDT2=array(GDL1)
132 KFI0=delete(KTU,GDT2,axis=0)
133 KFIf=delete(KFI0,GDT,axis=1)
134 FURf=delete(FU,GDT2,axis=0)
135 RF=dot(KFIf,Desp)-FURf
136 print ('Calculo de las Reacciones en los apoyos :',RF)
137 #Analisis de Fuerzas internas en Barra Por Barra.
138 Deformaciones_totales=zeros((n*2,1))
139 for i in range(len(Desp)):
140 Deformaciones_totales[GDT2[i]]=Deformaciones_totales[GDT2[i]]+[Desp[-
i]]
141 while True:
142 p=input('Elegir Barra para Sus Fuerzas y Esfuerzos 0--n :')
143 tu=PI[:,p]
144 uo=zeros((4,1))
145 for i in range(len(uo)):
146 uo[i]=uo[i]+[Deformaciones_totales[tu[i]]]
147 fuerzas_00=dot(Matrices_R[p],uo)
148 esfuerzos_00=fuerzas_00/Areas[p]
149 print ('Las fuerzas Internas de la barra es:',fuerzas_00)
150 print ('Los Esfuerzos Internas de la barra es :',esfuerzos_00)

Ingeniera Civil 31