pypso/pso.py

27 lines
1.2 KiB
Python

__author__ = 'dmy'
import scipy.sparse as sparse
import numpy
from powerflowEquation import *
from pfSolver import *
from reader import *
from YMatrix import *
if __name__=='__main__':
ieeeData=IEEEData('IEEE4.dat')
busNum=ieeeData.busNum
yMatrix=FormYMatrix(ieeeData.lineBlock,ieeeData.transBlock,ieeeData.busNum)
pqBusi=ieeeData.PQbus[:,0]
Pd=sparse.coo_matrix((ieeeData.PQbus[:,3],(pqBusi-1,numpy.zeros((busNum,1),dtype=float).flatten() )),shape=(busNum,1))
Qd=sparse.coo_matrix((ieeeData.PQbus[:,4],(pqBusi-1,numpy.zeros((busNum,1),dtype=float).flatten() )),shape=(busNum,1))
Pg=sparse.coo_matrix((ieeeData.PQbus[:,1],(pqBusi-1,numpy.zeros((busNum,1),dtype=float).flatten() )),shape=(busNum,1))
Qg=sparse.coo_matrix((ieeeData.PQbus[:,2],(pqBusi-1,numpy.zeros((busNum,1),dtype=float).flatten() )),shape=(busNum,1))
Vm=numpy.ones((busNum,1),dtype=float )
Va=numpy.zeros((busNum,1),dtype=float )
getPowerflowEquation(yMatrix,Vm,Va,Pd,Qd,Pg,Qg)
balance=ieeeData.balance
QGi=numpy.array([int(x) for x in ieeeData.QG[:,0] ],dtype=int)
QGVm=ieeeData.QG[:,1]
pfSolution(getPowerflowEquation,balance,yMatrix,Pd,Qd,Pg,Qg,QGi,QGVm)
print('Finished.')