FLUJOS DE POTENCIA EN PYTHON NOMBRE: CARLOS MOROCHO ORTIZ El grafo utilizado está en las hojas escaneadas, además se comprobó que las matrices resultantes en el software estén bien con las matrices resueltas a mano.
MATRICES A, B y C EN PYTHON
MATRICES DE IMPEDANCIAS Y ADMITANCIAS PRIMITIVAS
CALCULO DE VOLTAJES DE NODOS Para este cálculo se necesita realizar la siguiente operación:
Vk=Yk-1*Ik Matriz Yk
Matriz Ik
Matriz de voltaje de nodos Vk
CALCULO DE VOLTAJES DE RAMAS Para este cálculo se necesita realizar la siguiente operación:
Vc=Yc-1*Ic Matriz Yc
Matriz Ic
Matriz de voltaje de ramas Vc
CALCULO DE CORRIENTES DE MALLAS Para este cálculo se necesita realizar la siguiente operación:
Im=Zm-1*Vm Matriz Vm
Matriz Zm
Matriz de corrientes de malla Im
ALGORITMO EN PYTHON
# Cálculo de flujos """ Created on Wen May 4 09:50:50 2018 @author: Carlos Morocho Ortiz """ " EN ESTA SECCION SE DEBE DE LLAMAR A LAS LIBRERIAS NECESARIAS " from numpy.linalg import inv import numpy as np " INGRESAMOS LOS DATOS DE LAS IMPEDANCIAS DE LINEAS " Z1= 5+15j
Z2= 1+5j Z3= 3+12j Z4= 2+10j Z5= 4+10j Z6= 5+15j Z7= 1+5j " Creamos las matrices primitivas de impedancias y admitancias Zp y Yp " Zpri=np.array([[Z1,0,0,0,0,0,0],[0,Z2,0,0,0,0,0], [0,0,Z3,0,0,0,0],[0,0,0,Z4,0,0,0], [0,0,0,0,Z5,0,0],[0,0,0,0,0,Z6,0], [0,0,0,0,0,0,Z7]]) Ypri=np.array([[1/Z1,0,0,0,0,0,0],[0,1/Z2,0,0,0,0,0], [0,0,1/Z3,0,0,0,0],[0,0,0,1/Z4,0,0,0], [0,0,0,0,1/Z5,0,0],[0,0,0,0,0,1/Z6,0], [0,0,0,0,0,0,1/Z7]]) " AL OBTENER LAS MATRICES PRIMITIVAS COMENZAREMOS A RESOLVER " " LOS METODOS PARA EL CALCULO DE FLUJOS DE POTENCIA " " METODO DE NODOS " # Para el cálculo por nodos se necesita resolver las siguientes ecuaciones " Yk=A(trans)*Ypri*A " " Vk=Yk^(-1)*Ik " # Para resolver se necesita ingresar la matriz A y la matriz de corrientes Ik A=np.array([[-1,0,0,0,0],[0,-1,0,0,1], [0,0,1,0,-1],[0,0,-1,1,0], [0,0,0,-1,0],[1,0,-1,0,0], [1,-1,0,0,0]]) Ik=np.array([[20],[-10],[0],[-10],[-15]]) Yk=np.matmul(np.matmul(A.transpose(),(Ypri)),A) Vk=np.matmul(inv(Yk),Ik)
" METODO POR CONJUNTOS DE CORTE " # Para el cálculo por conjuntos de corte se necesita resolver las siguientes ecuaciones " Yc=B(trans)*Ypri*B " " Vc=Yc^(-1)*Ic " # Para resolver se necesita ingresar la matriz B y la matriz de corrientes Ic B=np.array([[1,0,0,0,0],[0,1,0,0,0], [0,0,1,0,0],[0,0,0,1,0], [0,0,0,0,1],[-1,0,0,1,0], [-1,1,1,1,1]]) Ic=np.array([[20],[-10],[-25],[-25],[-35]]) Yc=np.matmul(np.matmul(B.transpose(),(Ypri)),B) Vc=np.matmul(inv(Yc),Ic) " METODO POR MALLAS " # Para el cálculo por mallas se necesita resolver las siguientes ecuaciones " Zm=C(trans)*Zpri*C " " Im=Zm^(-1)*Vm " # Para resolver se necesita ingresar la matriz C y la matriz de corrientes Vm C=np.array([[1,1],[0,-1],[0,-1],[-1,-1],[-1,-1],[1,0],[0,1]]) Vm=np.array([[-20*Z1-35*Z5-25*Z4],[-20*Z1-35*Z5-25*Z4-10*Z2-25*Z3]]) #Calculamos la MAtriz de impedancia de malla Zm=np.matmul(np.matmul(C.transpose(),(Zpri)),C) Im=np.matmul(inv(Zm),Vm) # Mostramos el resultado de cada método """ Resultado de Metodo de Nodos """ print(Vk) """ Resultado de Metodo de Cortes """ print(Vc) """ Resultado de MEtodo de Mallas """ print(Im)