1.把xml文件中明显错误的变压器容量读为630kVA

2.把电容器输出到数据文件中。

Signed-off-by: dmy@lab <dmy@lab.lab>
This commit is contained in:
dmy@lab
2015-03-11 15:25:52 +08:00
parent 7e5c6c71a1
commit d0316a7c50
3 changed files with 38 additions and 3 deletions

View File

@@ -20,6 +20,7 @@ class iPsoData:
self.__voltLimit = []
self.__ground = []
self.__isAvailable = False
self.__cap=[]
self.__read__(filePath)
pass
@@ -57,6 +58,8 @@ class iPsoData:
self.__trans.append(floatSep)
if cur == 5:
self.__ground.append(floatSep)
if cur==6:
self.__cap.append(floatSep)
if cur == 8:
self.__nodePwer.append(floatSep)
if cur == 9:
@@ -67,6 +70,9 @@ class iPsoData:
self.__voltLimit.append(floatSep)
line = f.readline()
def GetCapcitor(self):
return self.__cap
def GetBasicInfo(self):
return self.__basicInfo
@@ -105,18 +111,22 @@ class MergeReconfigFile: # 合并重构用文件
self.__mergedIpsoBalance = []
self.__mergedIpsoLine = []
self.__mergedIpsoTrans = []
self.__mergedCapcitor=[]
self.__mergedIpsoLoad = []
self.__mergedIpsoGround = []
self.__mergedNodeNameDic = {}
# self.__addNumDic = {} #计算每个文件在新文件中的偏移量
self.__balanceNodeOffset=[]#记录每条线路头节点在整个合并文件中的位置
self.__nodePlace= dict()
self.__merge(fileList)
def __merge(self, fileList):
indLine = 1 #序号
indTrans=1
indNode = 2
indGround = 1
indCap=1
addNum = 1
# offsetNodeNum = {} #记录每个一个文件在新文件里节点的偏移量
count=1
@@ -150,11 +160,17 @@ class MergeReconfigFile: # 合并重构用文件
#接地支路
for g in ipsodata.GetGround():
self.__mergedIpsoGround.append([indGround, g[1] + addNum, g[2], g[3]])
indGround+=1
#电容器
for c in ipsodata.GetCapcitor():
self.__mergedCapcitor.append([indCap,c[1],c[2]+addNum,c[3],c[4],c[5],c[6],c[7]])
indCap+=1
#先给PG和QG赋值
node = ipsodata.GetNodePower()
#序号 节点编号 节点有功 节点无功 负荷有功 负荷无功
for n in ipsodata.GetNodePower():
self.__mergedIpsoLoad.append([indNode, n[1], n[2] + addNum, n[3], n[4], n[5], n[6], n[7], 0, 0])
self.__nodePlace[n[2] + addNum]=f
indNode += 1
# self.__addNumDic[lineName] = len(ipsodata.GetNodePower()) #每条线路的节点数
# offsetNodeNum[lineName] = addNum #记录的是与之前线路的偏移量
@@ -198,6 +214,9 @@ class MergeReconfigFile: # 合并重构用文件
for g in self.__mergedIpsoGround:
f.write('%d %d %f %f\n' % (g[0], g[1], g[2],g[3]))
f.write('0\n')
for c in self.__mergedCapcitor:
#[indCap,c[1],c[2]+addNum,c[3],c[4],c[5],c[6],c[7]]
f.write('%d %d %d %f %f %d %d %d\n' % (c[0], c[1], c[2],c[3],c[4],c[5],c[6],c[7]))
f.write('0\n')
f.write('0\n')
for n in self.__mergedIpsoLoad: