Está en la página 1de 10

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)