cimforreduceloss/testHasttable/element/transformer.cpp

107 lines
2.5 KiB
C++

#include "transformer.h"
#include <iostream>
Transformer::Transformer(const QPair<QString,QString>& fromTo, PowerTransformer* tf, QObject *parent):Branch(fromTo.first,fromTo.second,parent)
{
this->ratio=1;
this->tf=tf;
this->extract();
}
void Transformer::extract()
{
PowerTransformer *tf=this->tf;
this->capacityMVA=tf->getMVA();
// double length=-1;
//几个变压器型号的参数
//S11-315/10 uk(short)=4% copper loss=3.3kW Noload=1.1% Noload Loss=0.48kW
//S11-M-160/10 uk(short)=4% copper loss=1.9955kW Noload=1.4% Noload Loss=0.28kW
//S11-M-250/10 uk(short)=4% copper loss=3.05kW Noload=1.2% Noload Loss=0.4kW
//S11-M-30/10 uk(short)=4% copper loss=0.6kW Noload=2% Noload Loss=0.1kW
//S11-M-500/10 uk(short)=4% copper loss=4.67kW Noload=1% Noload Loss=0.68kW
//S11-M-630/10 uk(short)=4.5% copper loss=5.62kW Noload=0.9% Noload Loss=0.81kW
//S11-M-800/10 uk(short)=4.5% copper loss=6.08kW Noload=0.8% Noload Loss=0.98kW
int capkVA=int(this->capacityMVA*1000);
//std::cout<<"cap"<<cap<<std::endl;
// if(cap==0)
// {
// std::cout<<"0 cap "<<tf->getID().toStdString()<<std::endl;
// }
double short_kw=0;
double short_vp=0;
double noload_kw=0;
double noload_vp=0;
switch (capkVA) {
case 315:
short_kw=3.3;
short_vp=4;
noload_kw=0.48;
noload_vp=1.1;
break;
case 160:
short_kw=1.9955;
short_vp=4;
noload_kw=0.28;
noload_vp=1.4;
break;
case 250:
short_kw=3.05;
short_vp=4;
noload_kw=0.4;
noload_vp=1.2;
break;
case 30:
short_kw=0.6;
short_vp=4;
noload_kw=0.1;
noload_vp=2;
break;
case 500:
short_kw=4.67;
short_vp=4;
noload_kw=0.68;
noload_vp=1;
break;
case 630:
short_kw=5.62;
short_vp=4.5;
noload_kw=0.81;
noload_vp=0.9;
break;
case 800:
short_kw=6.08;
short_vp=4.5;
noload_kw=0.98;
noload_vp=0.8;
break;
default:
short_kw=6.08;
short_vp=4.5;
noload_kw=0.98;
noload_vp=0.8;
break;
}
//单位阻抗
double r0=short_kw/1000/capkVA/1000;
double x0=short_vp/100;
double g0=noload_kw/1000/capkVA/1000;
double b0=noload_vp/100;
this->r=r0;
this->x=x0;
this->g1=g0;
this->g2=g0;
this->b1=b0;
this->b2=b0;
}
PowerTransformer *Transformer::getTF()
{
return this->tf;
}