Sei sulla pagina 1di 12

UNIVERSIDAD NACIONAL DE

HUANCAVELICA
(”AÑO DEL BUEN SERVICIO AL CIUDADANO”)

Facultad de Ciencias de Ingenierı́a


Escuela Profesional Ingenierı́a Civil - Hvca

TEMA:

“MATRIZ DE RIGIDEZ EN
ING.CIVIL”

CATEDRA:
Métodos Numéricos
CATEDRÁTICO:
Ing. Iván A. Ayala Bizarro
ESTUDIANTES:
- IGNACIO ZAVALETA,ENRIQUE J.
- MATAMOROS PINEDA, ALDO
- RAMOS APUNAL, BRAYAN ROBERTO
- SALVATIERRA DE LA CRUZ,JHONSVER A.
- SOTO QUINTE, THANIA
- TORALVA VELASCO, FIORELLA
CICLO:
IV

HUANCAVELICA - PERÚ
2017

1
Dedicatoria

A nuestros padres, quienes a lo largo de nuestras vida


han velado por nuestro bienestar y educación quienes
nos apoyaron de manera incondicional en nuestra for-
mación académica.
A Dios por darnos las fortalezas para continuar y por
bendecir nuestros caminos.
Al docente del curso a cargo por su enseñanza, ya que
sin su ayuda no hubiera logrado.

2
INDICE

Contents

1 INTRODUCCIÓN 4

2 RESUMEN 4

3 OBJETIVOS 4
3.1 Objetivo Principal: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Objetivo Secundario: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4 MARCO TEÓRICO 5
4.1 CÓDIGO DEL PROGRAMA HECHO EN PYTHON . . . . . . . . . . . . . . . 5

5 CONCLUSIÓN 12

6 BIBLIOGRAFÍA 12

3
Universidad Nacional de Huancavelica Métodos Numéricos

1 INTRODUCCIÓN

Se da a continuación el listado de un programa en vigas realizado con python. Este listado


puede servir de apoyo para la realización de la primera parte de la práctica, como medio de
comprobación de los resultados del programa realizado y como programa para resolver otros
problemas. Los datos de la estructura a analizar, están en el fichero de datos. Ambos ficheros
están en el soporte informático que se adjunta con el texto de prácticas.

2 RESUMEN

El presente trabajo se realizo el algoritmo para la resolución de estructuras por el método de


deformación con apoyo de matrices, en el programa python. Tomando asi un ejericio práctico
lo cual se muestra los resultados obtenidos,en dicho programa, para realizar su deformacion.

3 OBJETIVOS

3.1 Objetivo Principal:

El objetivo global de la práctica es desarrollar y aplicar un programa de análisis. pretende que


el alumno adquiera experiencia en el desarrollo y utilización de programas de ordenador
sencillos, y conozca la problemática.

3.2 Objetivo Secundario:

1 Desarrollar, mediante comandos de P ython, un programa de análisis matricial.


2 Aplicar el programa desarrollado para analizar las estructuras.

4
Universidad Nacional de Huancavelica Métodos Numéricos

4 MARCO TEÓRICO

4.1 CÓDIGO DEL PROGRAMA HECHO EN PYTHON

# -*- coding: utf-8 -*-


"""
Created on Mon Dec 14 13:00:19 2015
@author: LOS ALUMNOS
"""
from numpy import *
import numpy as np
from math import *
import matplotlib.pyplot as plt
get_ipython().magic(u’matplotlib inline’)

#### Datos Tipo txt


nudo = np.genfromtxt(’nudoRIG.txt’)
barra = np.genfromtxt(’barraRIG.txt’)
fuerza =np.genfromtxt(’fuerzaRIG.txt’)
ancho= float(input(’Colocar Ancho de la estructura:’))
alto= float(input(’Colocar la Altura de la estructura:’))
E= float(input(’Colocar Modulo de Elasticidad:’))
Nnudos=len(nudo)
A =ancho*alto;
NGL=2*Nnudos-4
print "Numeros de Grados de Libertad"
print (NGL)
nb=len(barra)
L=[]

5
Universidad Nacional de Huancavelica Métodos Numéricos

ANG=[]
for i in range(nb):
nbf=barra[i,2]
nyf=nudo[nbf-1,2]
nxf=nudo[nbf-1,1]
nbi=barra[i,1]
nyi=nudo[nbi-1,2]
nxi=nudo[nbi-1,1]
l=((nyf-nyi)**2+(nxf-nxi)**2)**0.5
ang1=(asin((nyf-nyi)/l))*180/pi
L=L+[l]
ANG=ANG+[ang1]
#hasta aqui solo todo datos
for i in range (nb):
ang=ANG[i]
cc=cos(ang)*cos(ang)*E*A/L[i]
ss=sin(ang)*sin(ang)*E*A/L[i]
cs=sin(ang)*cos(ang)*E*A/L[i]
#barra 1
if i==0:
k1=[[cc,cs],[cs,ss]]
#barra 2
if i==1:
k2=[[cc,cs],[cs,ss]]
#barra 3
if i==2:
k3=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 4
if i==3:

6
Universidad Nacional de Huancavelica Métodos Numéricos

k3=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 5
if i==4:
k5=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 6
if i==5:
k6=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 7
if i==6:
k7=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 8
if i==7:
k8=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 9
if i==8:
k9=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 10
if i==9:
k10=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#barra 11
if i==10:
k11=[[cc,cs,-cc,cs],[cs,ss,-cs,-ss],[-cc,-cs,cc,cs],[-cs,-ss,cs,ss]]
#matriz total de la estructura
cc1=E*A/L[0]*cos(ANG[0])*cos(ANG[0])
cc2=E*A/L[1]*cos(ANG[1])*cos(ANG[1])
cc3=E*A/L[2]*cos(ANG[2])*cos(ANG[2])
cc4=E*A/L[3]*cos(ANG[3])*cos(ANG[3])
cc5=E*A/L[4]*cos(ANG[4])*cos(ANG[4])
cc6=E*A/L[5]*cos(ANG[5])*cos(ANG[5])
cc7=E*A/L[6]*cos(ANG[6])*cos(ANG[6])

7
Universidad Nacional de Huancavelica Métodos Numéricos

cc8=E*A/L[7]*cos(ANG[7])*cos(ANG[7])
cc9=E*A/L[8]*cos(ANG[8])*cos(ANG[8])
cc10=E*A/L[9]*cos(ANG[9])*cos(ANG[9])
cc11=E*A/L[10]*cos(ANG[10])*cos(ANG[10])
cs1=E*A/L[0]*cos(ANG[0])*sin(ANG[0])
cs2=E*A/L[1]*cos(ANG[1])*sin(ANG[1])
cs3=E*A/L[2]*cos(ANG[2])*sin(ANG[2])
cs4=E*A/L[3]*cos(ANG[3])*sin(ANG[3])
cs5=E*A/L[4]*cos(ANG[4])*sin(ANG[4])
cs6=E*A/L[5]*cos(ANG[5])*sin(ANG[5])
cs7=E*A/L[6]*cos(ANG[6])*sin(ANG[6])
cs8=E*A/L[7]*cos(ANG[7])*sin(ANG[7])
cs9=E*A/L[8]*cos(ANG[8])*sin(ANG[8])
cs10=E*A/L[9]*cos(ANG[9])*sin(ANG[9])
cs11=E*A/L[10]*cos(ANG[10])*sin(ANG[10])
ss1=E*A/L[0]*sin(ANG[0])*sin(ANG[0])
ss2=E*A/L[1]*sin(ANG[1])*sin(ANG[1])
ss3=E*A/L[2]*sin(ANG[2])*sin(ANG[2])
ss4=E*A/L[3]*sin(ANG[3])*sin(ANG[3])
ss5=E*A/L[4]*sin(ANG[4])*sin(ANG[4])
ss6=E*A/L[5]*sin(ANG[5])*sin(ANG[5])
ss7=E*A/L[6]*sin(ANG[6])*sin(ANG[6])
ss8=E*A/L[7]*sin(ANG[7])*sin(ANG[7])
ss9=E*A/L[8]*sin(ANG[8])*sin(ANG[8])
ss10=E*A/L[9]*sin(ANG[9])*sin(ANG[9])
ss11=E*A/L[10]*sin(ANG[10])*sin(ANG[10])

K=[[cc1+cc3+cc5+cc6,cs1+cs3+cs5+cs6,-cc3,-cs3,-cc5,-cs5,-cc6,-cs6,0,0],[cs1+cs3+cs5+cs6,ss1+

Matriz=matrix(k)

8
Universidad Nacional de Huancavelica Métodos Numéricos

KT=Matriz.I
print "Matriz de Rigidez Total de la Estructura"
print (KT)
Fx=fuerza[1]*cos(fuerza[2])
Fy=fuerza[1]*sin(fuerza[2])
if fuerza[0]==2:
F=[[Fx],[Fy],[0],[0],[0],[0],[0],[0],[0],[0]]
if fuerza[0]==3:
F=[[0],[0],[Fx],[Fy],[0],[0],[0],[0],[0],[0]]
if fuerza[0]==4:
F=[[0],[0],[0],[0],[Fx],[Fy],[0],[0],[0],[0]]
if fuerza[0]==5:
F=[[0],[0],[0],[0],[0],[0],[Fx],[Fy],[0],[0]]
if fuerza[0]==6:
F=[[0],[0],[0],[0],[0],[0],[0],[0],[Fx],[Fy]]
print "Matriz de Fuerza Total de la Estructura"
print (F)
D=KT*F
print "Desplazamientos"
print (D)
#grafica de la deformada
x=[] y=[]
for i in range(len(nudo)):
jj=nudo[i,1]
ll=nudo[i,2]
x=x+[jj] y=y+[ll]
x1=[nudo[0,1],nudo[2,1],nudo[1,1],nudo[3,1],nudo[1,1],nudo[4,1]]
y2=[nudo[0,2],nudo[2,2],nudo[1,2],nudo[3,2],nudo[1,2],nudo[4,2]]
plt.plot(x,y,’r’,x1,y2,’r’)

9
Universidad Nacional de Huancavelica Métodos Numéricos

n1=len(V1)
#for i in range(n):
print("TRAMO AB")
Y1=np.arange(0,y1+0.2,0.2)
Y2=np.arange(0,y2+0.2,0.2)
for i in range(n):
G1=M1[i]*Y1/I
print("esfuerzo inferior deL E.N a L=",x[i])
print("",G1)
G2=M1[i]*Y2/I
print("esfuerzo superior deL E.N a L=",x[i])
print("",G2)
print("TRAMO BC")
Y11=np.arange(0,y1+0.2,0.2)
Y22=np.arange(0,y2+0.2,0.2)

for i in range(n):
G11=M2[i]*Y11/I
print("esfuerzo inferior deL E.N a L=",x1[i])
print("",G11)
G22=M2[i]*Y22/I
print("esfuerzo superior deL E.N a L=",x1[i])
print("",G22)

print("ESFUERZOS POR CORTANTE A CADA .20 m")


yy1=y2-0.1
A1=0.8*0.2
S1=yy1*A1/0.2
A2=(y2-0.2)*0.2+A1

10
Universidad Nacional de Huancavelica Métodos Numéricos

#yy2=(A1*(y2-0.1)+((y2-0.2)**2)*0.1)/A2
yy2=(A1*(y2-0.1)+(y2-0.2)**2*0.1)/A2
S2=yy2*A2/0.2
A5=0.2**2
yy5=0.1
S5=yy5*A5/0.2
A4=0.2*0.4
yy4=0.2
S4=yy4*A4/0.2
A3=y1*0.2
yy3=y1/2
S3=yy3*A3/0.2
SS=array([0, S1, S2, S5, S4, S3, 0])
for j in range(n1-1):
T1=V1[j]*SS/I
print("esfuerzo de corte a L=",x[j])
print("",T1)
print("TRAMO BC")
for i in range(n1):
T2=V2[i]*SS/I
print("esfuerzo de corte a L=",x1[i])
print("",T2)

Universidad Nacional de Huancavelica Métodos Numéricos

11
5 CONCLUSIÓN

•Los procedimientos matemáticos de la Programación Lineal, debidamente utilizados con


ayuda python, se convierten en una potente y versátil herramienta de planificación, con vistas
a conseguir optimizar recursos y minimizar los costos, en este caso como son los las vigas.
•Los valores de nuestra respuesta nos indica la fuerza.
•el metodo matricial es mas directo para calcular las fuerza que actuan en una armadura.”
•La numeracion realizada a cada nodo es la correcta por que cumple los resultados.

6 BIBLIOGRAFÍA

•Apunte métodos numéricos en ecuaciones lineales.


•LiMetNum solucion de ecuaciones para el ingeniero.
•http://www.lawebdelprogramador.com

12