Вы находитесь на странице: 1из 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)

Вам также может понравиться