Está en la página 1de 3

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

"""
Editor de Spyder

Este es un archivo temporal.


"""
import math
import numpy as np
from matplotlib import pyplot as plt
"""DATOS
"""
tf=0.2
while tf<=0.6:
to=0
Vdo=0
t=1
Vt=0.05
Eg=1.03
V=1
X1=0.4
X2=1.1
X3=0.5
H=2.76
Pactual=20
Pbase=25
f=60
Pao=0
M=(H/(180*f))
print ('M',M)
Pm=(Pactual/Pbase)
print ('Pm',Pm)
c=(Eg*V/X1)
print ('c',c)
d=math.asin(Pm*X1/(Eg*V))
print ('d',d)
seno=math.sin(d); print('sen(d)= ',seno)
n=t/Vt

#n=np.int(n)
z=np.zeros([27,8],float)
t=0
print ('\n t(sg) Cte. Sen d P P(ace) 9.76*Pa Aang ang')

for i in range(0,27,1):
if i==0: #condiciones en estado estable, sin falla
z[i,0]=t
c=(Eg*V/X1)
z[i,1]=c
seno=math.sin(d)
z[i,2]=seno
z[i,3]=Pm
z[i,4]=Pao
z[i,5]=9.76*z[i,4]
z[i,6]=Vdo
z[i,7]=d*180/math.pi

elif i==1:#condiciones justo en la falla


z[i,0]=t
X1=X2
c=(Eg*V/X1)

1
z[i,1]=c
seno=math.sin(d)
z[i,2]=seno
Pm_intervalo=c*seno
z[i,3]=Pm_intervalo
P_average=Pm-Pm_intervalo
z[i,4]=P_average
z[i,5]=9.76*z[i,4]
z[i,6]=Vdo
z[i,7]=d*180/math.pi

elif i==2: #condiciones promedio a partir de la falla


z[i,4]=P_average/2
ang_intervalo=z[i,6]+(((Vt**2)/M)*z[i,4])
z[i,6]=ang_intervalo
z[i,7]=d*180/math.pi

elif i+3 and t<(tf-Vt):


t=t+0.05
z[i,0]=t
c=(Eg*V/X1)
z[i,1]=c
z[i,7]=z[i-1,7]+z[i-1,6]
z[i,2]=math.sin((z[i,7])*(np.pi/180.0))
z[i,3]=z[i,1]*z[i,2]
z[i,4]=Pm-z[i,3]
z[i,5]=9.76*z[i,4]
ang_intervalo=z[i-1,6]+(((Vt**2)/M)*z[i,4])
z[i,6]=ang_intervalo #hasta aqui, se calcula los datos antes del despeje de la fall

elif i==((tf/Vt)+3):
z[i,0]=tf
c=(Eg*V/X3)
z[i,1]=c
z[i,2]=z[i-1,2]
z[i,3]=c*z[i,2]
z[i,7]=z[i-1,7]

elif i==((tf/Vt)+4):
z[i,0]=tf
z[i,1]=c
P_average1=z[i-2,3]+z[i-1,3]
z[i,3]=P_average1/2
z[i,4]=Pm-z[i,3]
z[i,5]=9.76*z[i,4]
ang_intervalo=z[i-3,6]+(((Vt**2)/M)*z[i,4])
z[i,6]=ang_intervalo
z[i,7]=z[i-1,7]

elif i>=((tf/Vt)+5):
t=t+0.05
z[i,0]=t
z[i,1]=c
z[i,7]=z[i-1,7]+z[i-1,6]
z[i,2]=math.sin((z[i,7])*(np.pi/180.0))
z[i,3]=c*z[i,2]
z[i,4]=Pm-z[i,3]
z[i,5]=9.76*z[i,4]
ang_intervalo=z[i-1,6]+(((Vt**2)/M)*z[i,4])

2
z[i,6]=ang_intervalo

for i in range(27):
for j in range(8):
print('{dato:6.2f}|'.format(dato=z[i,j]),end=' ')
print('')

mat=np.zeros([27,1],float)
x=np.zeros(len(mat))
y=np.zeros(len(mat))

for i in range(0,27,1):
x[i]=z[i,0]
for i in range(0,27,1):
y[i]=z[i,7]
plt.ion()
plt.plot(x,y)
plt.grid(True)
tf+=0.1

También podría gustarte