Documentos de Académico
Documentos de Profesional
Documentos de Cultura
"""
Created on Sun May 26 13:25:39 2019
import math
import numpy as np
from matplotlib import pyplot as plt
var_t=0.05
t=0
tf=0.65
tmax=1
lg=0 #contador_longitud
Ea=1.03
Eb=1
x1=0.4
x2=1.1
x3=0.5
H=2.76
f=60
M=H/(180*f)
k=(var_t**2)/M
P_act=20
P_base=25
Pm=P_act/P_base
d=math.asin(Pm*x1/(Ea*Eb))
av=int(tmax/var_t)+5
a=np.zeros([av,8],float)
tf1=np.array([0.2,0.4,0.6,0.65,0.7])
for i in range(0,5,1):
tf=tf1[i]
lg=0
t=0
for i in range(0,av,1):
if i==0:
a[i,7]=d*180/math.pi
c=(Ea*Eb/x1)
a[i,1]=c
sen=math.sin(d)
a[i,2]=sen
a[i,3]=Pm
a[i,5]=9.76*a[i,4]
1
elif i==2: # average
a[i,7]=d*180/math.pi
a[i,4]=Pa/2
incd=a[i,6]+k*a[i,4]
a[i,6]=incd
elif 0<i<((tf/var_t)+3):
t=t+var_t
a[i,0]=t
a[i,7]=a[i-1,7]+a[i-1,6]
c=(Ea*Eb/x2)
a[i,1]=c
a[i,2]=math.sin((a[i,7])*(np.pi/180.0))
Pe=c*a[i,2]
a[i,3]=Pe
a[i,4]=Pm-Pe
a[i,5]=9.76*a[i,4]
incd=a[i-1,6]+k*a[i,4]
a[i,6]=incd #hasta aqui, se calcula los datos antes del despeje de la falla, el valo
elif i==((tf/var_t)+3):
a[i,0]=t
a[i,7]=a[i-1,7]
c=(Ea*Eb/x3)
a[i,1]=c
a[i,2]=math.sin((a[i,7])*(np.pi/180.0))
Pe=c*a[i,2]
a[i,3]=Pe
elif i==((tf/var_t)+4):
a[i,0]=t
a[i,7]=a[i-1,7]
c=(Ea*Eb/x3)
a[i,1]=c
a[i,2]=math.sin((a[i,7])*(np.pi/180.0))
Pe=(a[i-2,3]+a[i-1,3])/2
a[i,3]=Pe
a[i,4]=Pm-Pe
a[i,5]=9.76*a[i,4]
incd=a[i-3,6]+k*a[i,4]
a[i,6]=incd
elif i>((tf/var_t)+4):
t=t+var_t
a[i,0]=t
a[i,7]=a[i-1,7]+a[i-1,6]
c=(Ea*Eb/x3)
a[i,1]=c
a[i,2]=math.sin((a[i,7])*(np.pi/180.0))
Pe=c*a[i,2]
a[i,3]=Pe
a[i,4]=Pm-Pe
a[i,5]=9.76*a[i,4]
incd=a[i-1,6]+k*a[i,4]
a[i,6]=incd
lg=lg+1
2
print ('lg',lg)
for i in range(av):
for j in range(8):
print('{dato:6.3f}|'.format(dato=a[i,j]),end=' ')
print('')
x=np.zeros(lg)
y=np.zeros(lg)
for i in range(0,av,1):
x[i]=a[i,0]
for i in range(0,av,1):
y[i]=a[i,7]
print('x=',x)
print('y=',y)
#grafico
plt.ion()
plt.plot(x,y)
plt.grid(True)