1.重新组织了文件。
2.准备试试把所有元素都读入内存中。 Signed-off-by: facat@lab.com <facat@lab.com>
This commit is contained in:
185
core/DealData.cpp
Normal file
185
core/DealData.cpp
Normal file
@@ -0,0 +1,185 @@
|
||||
#include "head.h"
|
||||
#include "transformerparser.h"
|
||||
#include "linetypeparser.h"
|
||||
#include "qt_readxml.h"
|
||||
void Qt_readxml::XmlReaderDealData()
|
||||
{
|
||||
qDebug()<<"Get Transformer Power:";
|
||||
int trans_no=power_transformer.size();
|
||||
double UN=10.5;
|
||||
base_power[0].basePower=100;
|
||||
double SB=base_power[0].basePower;
|
||||
//double SB=100;
|
||||
//QString transPowerData="E:\\line loss\\nn06302000.csv";
|
||||
QString transPowerData="E:\\line loss\\lz00.csv";
|
||||
QString transParaData="E:\\line loss\\trans.csv";
|
||||
QString lineParaData="E:\\line loss\\LineType.txt";
|
||||
if(!QFile::exists(transPowerData))
|
||||
{
|
||||
//std::cout<<"nn06302000 "<<"not found."<<std::endl;
|
||||
std::cout<<"lz00.csv "<<"not found."<<std::endl;
|
||||
}
|
||||
if(!QFile::exists(transParaData))
|
||||
{
|
||||
std::cout<<"trans "<<"not found."<<std::endl;
|
||||
}
|
||||
if(!QFile::exists(lineParaData))
|
||||
{
|
||||
std::cout<<"LineType "<<"not found."<<std::endl;
|
||||
}
|
||||
for (int i=0;i<trans_no;i++)
|
||||
{
|
||||
int a=power_transformer[i].BaseVoltage_res[0].length();
|
||||
QString b=power_transformer[i].BaseVoltage_res[0];
|
||||
std::vector<List>::iterator it = find_if(list1.begin(), list1.end(), vector_finder(b.right(a-1)));
|
||||
power_transformer[i].UB=base_voltage[it->no].nominalVoltage;
|
||||
double UB=power_transformer[i].UB;
|
||||
if (!power_transformer[i].ratedMVA)
|
||||
{
|
||||
power_transformer[i].ratedMVA=630;
|
||||
}
|
||||
double ratedMVA=power_transformer[i].ratedMVA/1000;
|
||||
if (power_transformer[i].Model.trimmed()=="")
|
||||
{
|
||||
power_transformer[i].Model="S11-M";
|
||||
}
|
||||
power_transformer[i].APower=TransformerParser::GetTransformerAPower(transPowerData,power_transformer[i].Serial_Number);
|
||||
power_transformer[i].BPower=TransformerParser::GetTransformerBPower(transPowerData,power_transformer[i].Serial_Number);
|
||||
power_transformer[i].CPower=TransformerParser::GetTransformerCPower(transPowerData,power_transformer[i].Serial_Number);
|
||||
power_transformer[i].Pk=TransformerParser::GetDisTransformerPk(transParaData,power_transformer[i].Model);
|
||||
power_transformer[i].Uk=TransformerParser::GetDisTransformerUk(transParaData,power_transformer[i].Model);
|
||||
double Pk=power_transformer[i].Pk;
|
||||
double Uk=power_transformer[i].Uk;
|
||||
power_transformer[i].AReactivePower=TransformerParser::GetTransformerAReactivePower(transPowerData,power_transformer[i].Serial_Number);
|
||||
power_transformer[i].BReactivePower=TransformerParser::GetTransformerBReactivePower(transPowerData,power_transformer[i].Serial_Number);
|
||||
power_transformer[i].CReactivePower=TransformerParser::GetTransformerCReactivePower(transPowerData,power_transformer[i].Serial_Number);
|
||||
power_transformer[i].P0=TransformerParser::GetDisTransformerP0(transParaData,power_transformer[i].Model);
|
||||
power_transformer[i].I0=TransformerParser::GetDisTransformerI0(transParaData,power_transformer[i].Model);
|
||||
double P0=power_transformer[i].P0;
|
||||
double I0=power_transformer[i].I0;
|
||||
|
||||
if (!power_transformer[i].Uk && !power_transformer[i].Pk)
|
||||
{
|
||||
QString newModel=power_transformer[i].Model+"-"+QString::number(ratedMVA*1000);
|
||||
power_transformer[i].Pk=TransformerParser::GetDisTransformerPk(transParaData,newModel);
|
||||
power_transformer[i].Uk=TransformerParser::GetDisTransformerUk(transParaData,newModel);
|
||||
power_transformer[i].P0=TransformerParser::GetDisTransformerP0(transParaData,newModel);
|
||||
power_transformer[i].I0=TransformerParser::GetDisTransformerI0(transParaData,newModel);
|
||||
Pk=power_transformer[i].Pk;
|
||||
Uk=power_transformer[i].Uk;
|
||||
P0=power_transformer[i].P0;
|
||||
I0=power_transformer[i].I0;
|
||||
}
|
||||
|
||||
if (!power_transformer[i].Uk && !power_transformer[i].Pk)
|
||||
{
|
||||
// QString newModel="S11-M";
|
||||
// power_transformer[i].Pk=TransformerParser::GetDisTransformerPk(transParaData,newModel);
|
||||
// power_transformer[i].Uk=TransformerParser::GetDisTransformerUk(transParaData,newModel);
|
||||
// power_transformer[i].P0=TransformerParser::GetDisTransformerP0(transParaData,newModel);
|
||||
// power_transformer[i].I0=TransformerParser::GetDisTransformerI0(transParaData,newModel);
|
||||
// Pk=power_transformer[i].Pk;
|
||||
// Uk=power_transformer[i].Uk;
|
||||
// P0=power_transformer[i].P0;
|
||||
// I0=power_transformer[i].I0;
|
||||
|
||||
Pk=0.0001;
|
||||
Uk=0.0001;
|
||||
P0=0.0001;
|
||||
I0=0.0001;
|
||||
}
|
||||
|
||||
power_transformer[i].r=(Pk*UB*UB/(1000*ratedMVA*ratedMVA))*SB/(UN*UN);
|
||||
power_transformer[i].x=(Uk*UB*UB/(100*ratedMVA))*SB/(UN*UN); //在这,UN为基准电压,UB为额定电压
|
||||
power_transformer[i].g=(P0/(1000*UB*UB))*(UN*UN)/SB;
|
||||
power_transformer[i].b=(I0*ratedMVA/(100*UB*UB))*(UN*UN)/SB;
|
||||
}
|
||||
|
||||
qDebug()<<"Get Line Parameters:";
|
||||
|
||||
int ac_no=acline_segment.size();
|
||||
for (int i=0;i<ac_no;i++)
|
||||
{
|
||||
int a=acline_segment[i].BaseVoltage_res[0].length();
|
||||
QString b=acline_segment[i].BaseVoltage_res[0];
|
||||
std::vector<List>::iterator it = find_if(list1.begin(), list1.end(), vector_finder(b.right(a-1)));
|
||||
acline_segment[i].UB=base_voltage[it->no].nominalVoltage;
|
||||
double UB=acline_segment[i].UB;
|
||||
std::vector<AC_kind>::iterator ac = find_if(ac_kind.begin(), ac_kind.end(), ac_finder(acline_segment[i].GIS_ID));
|
||||
double length=acline_segment[i].LongLength/(ac->quantity);
|
||||
acline_segment[i].secLength = length;
|
||||
if (!length)
|
||||
{
|
||||
length=0.3;
|
||||
acline_segment[i].LongLength=length;
|
||||
acline_segment[i].secLength = length;
|
||||
}
|
||||
if (acline_segment[i].Model.left(4)=="YJV-")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model.insert(3,"22");
|
||||
}
|
||||
else if (acline_segment[i].Model.left(5)=="YJLV-")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model.insert(4,"22");
|
||||
}
|
||||
else if (acline_segment[i].Model.left(9)=="JKLGYJ-10")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/2";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(9)=="JKLGYJ-16")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/3";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(9)=="JKLGYJ-25")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/4";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(9)=="JKLGYJ-35")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/6";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(9)=="JKLGYJ-50")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/8";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(9)=="JKLGYJ-70")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/10";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(9)=="JKLGYJ-95")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/20";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(10)=="JKLGYJ-120")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/20";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(10)=="JKLGYJ-150")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/20";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(10)=="JKLGYJ-185")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/25";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(10)=="JKLGYJ-240")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/30";
|
||||
}
|
||||
else if (acline_segment[i].Model.left(10)=="JKLGYJ-300")
|
||||
{
|
||||
acline_segment[i].Model=acline_segment[i].Model+"/50";
|
||||
}
|
||||
acline_segment[i].x=(LineTypeParser::GetReactance(lineParaData,acline_segment[i].Model)*length)*SB/(UN*UN);
|
||||
acline_segment[i].r=(LineTypeParser::GetResistance(lineParaData,acline_segment[i].Model)*length)*SB/(UN*UN);
|
||||
|
||||
if (acline_segment[i].r==0 && acline_segment[i].x==0)
|
||||
{
|
||||
acline_segment[i].r=0.8*length*SB/(UN*UN);
|
||||
acline_segment[i].x=0.7*length*SB/(UN*UN);
|
||||
// acline_segment[i].r=0.01;
|
||||
// acline_segment[i].x=0.01;
|
||||
}
|
||||
total_length=total_length+length;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user