parent
fadc4d7c94
commit
5d16aa45d1
17
YMatrix.py
17
YMatrix.py
|
|
@ -10,17 +10,22 @@ def FormYMatrix(lineBlock,transBlock,busNum):
|
||||||
r=lineBlock[:,3]
|
r=lineBlock[:,3]
|
||||||
x=lineBlock[:,4]
|
x=lineBlock[:,4]
|
||||||
gb=1/(r+1j*x)
|
gb=1/(r+1j*x)
|
||||||
y=sparse.coo_matrix((gb,(lineBlock[:,1]-1,lineBlock[:,2]-1)),shape=(busNum,busNum))
|
y=sparse.coo_matrix((-gb,(lineBlock[:,1]-1,lineBlock[:,2]-1)),shape=(busNum,busNum))
|
||||||
|
y=sparse.coo_matrix((-gb,(lineBlock[:,2]-1,lineBlock[:,1]-1)),shape=(busNum,busNum))
|
||||||
|
y-=sparse.coo_matrix((y.sum(1).A1,(numpy.arange(int(busNum)),numpy.arange(int(busNum)))),shape=(busNum,busNum))
|
||||||
#加接地支路
|
#加接地支路
|
||||||
b2=lineBlock[:,5]
|
b2=lineBlock[:,5]
|
||||||
y+=sparse.coo_matrix((1j*b2,(lineBlock[:,1]-1,lineBlock[:,1]-1)),shape=(busNum,busNum))
|
y+=sparse.coo_matrix((1j*b2,(lineBlock[:,1]-1,lineBlock[:,1]-1)),shape=(busNum,busNum))
|
||||||
y+=sparse.coo_matrix((1j*b2,(lineBlock[:,2]-1,lineBlock[:,2]-1)),shape=(busNum,busNum))
|
y+=sparse.coo_matrix((1j*b2,(lineBlock[:,2]-1,lineBlock[:,2]-1)),shape=(busNum,busNum))
|
||||||
print(y.sum(1))
|
|
||||||
print(numpy.arange(int(busNum)).shape[0])
|
|
||||||
y+=sparse.coo_matrix((numpy.array(y.sum(1)),(numpy.arange(int(busNum)),numpy.arange(int(busNum)))),shape=(busNum,busNum))
|
|
||||||
#加变压器
|
#加变压器
|
||||||
#TODO:没有考虑变比
|
|
||||||
transX=transBlock[:,3]
|
transX=transBlock[:,3]
|
||||||
transR=transBlock[:,4]
|
transR=transBlock[:,4]
|
||||||
transGB=1/(transR+1j*transX)
|
transGB=1/(transR+1j*transX)
|
||||||
y+=sparse.coo_matrix((transGB,(transBlock[:,1]-1,transBlock[:,2]-1)),shape=(busNum,busNum))
|
k=transBlock[:,5]
|
||||||
|
y+=sparse.coo_matrix((-transGB/k,(transBlock[:,1]-1,transBlock[:,2]-1)),shape=(busNum,busNum))
|
||||||
|
y+=sparse.coo_matrix((-transGB/k,(transBlock[:,2]-1,transBlock[:,1]-1)),shape=(busNum,busNum))
|
||||||
|
#变压器对角
|
||||||
|
y+=sparse.coo_matrix((transGB/k/k,(transBlock[:,1]-1,transBlock[:,1]-1)),shape=(busNum,busNum))
|
||||||
|
y+=sparse.coo_matrix((transGB,(transBlock[:,2]-1,transBlock[:,2]-1)),shape=(busNum,busNum))
|
||||||
|
#TODO:没有电容接地支路
|
||||||
|
return y
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue