Power_electronics
[Generators]


Classes

class  power_electronics
 The power_electronics class is meant as a power device interface, to be used specifically with distributed generation modules. More...

Functions

int power_electronics::init (OBJECT *parent)
TIMESTAMP power_electronics::postsync (TIMESTAMP t0, TIMESTAMP t1)
TIMESTAMP power_electronics::sync (TIMESTAMP t0, TIMESTAMP t1)


Function Documentation

int power_electronics::init ( OBJECT parent  )  [inherited]

The Power Electronics module is not meant to be operational, it is just a parent class for modules that implement it. double ZB, SB, EB; complex tst; if (Gen_mode==UNKNOWN) { OBJECT *obj = OBJECTHDR(this); throw("Generator control mode is not specified"); } if (Gen_status==0) { OBJECT *obj = OBJECTHDR(this); throw("Generator is out of service!"); }else { if (Rated_kW!=0.0) SB = Rated_kW/sqrt(1-Rated_pf*Rated_pf); if (Rated_kVA!=0.0) SB = Rated_kVA/3; if (Rated_kV!=0.0) EB = Rated_kV/sqrt(3.0); if (SB!=0.0) ZB = EB*EB/SB; else throw("Generator power capacity not specified!"); double Real_Rinternal = Rinternal * ZB; double Real_Rload = Rload * ZB; double Real_Rtotal = Rtotal * ZB; double Real_Rphase = Rphase * ZB; double Real_Rground = Rground * ZB; double Real_Rground_storage = Rground_storage * ZB; double[3] Real_Rfilter = Rfilter * ZB;

double Real_Cinternal = Cinternal * ZB; double Real_Cground = Cground * ZB; double Real_Ctotal = Ctotal * ZB; double[3] Real_Cfilter = Cfilter * ZB;

double Real_Linternal = Linternal * ZB; double Real_Lground = Lground * ZB; double Real_Ltotal = Ltotal * ZB; double[3] Real_Lfilter = Lfilter * ZB;

tst = complex(Real_Rground,Real_Lground); AMx[0][0] = complex(Real_Rinternal,Real_Linternal) + tst; AMx[1][1] = complex(Real_Rinternal,Real_Linternal) + tst; AMx[2][2] = complex(Real_Rinternal,Real_Linternal) + tst; AMx[0][0] = AMx[1][1] = AMx[2][2] = complex(Real_Rs+Real_Rg,Real_Xs+Real_Xg); AMx[0][1] = AMx[0][2] = AMx[1][0] = AMx[1][2] = AMx[2][0] = AMx[2][1] = tst; }

return 1; /* return 1 on success, 0 on failure

Definition at line 396 of file power_electronics.cpp.

TIMESTAMP power_electronics::postsync ( TIMESTAMP  t0,
TIMESTAMP  t1 
) [inherited]

* TODO: implement post-topdown behavior */

Definition at line 493 of file power_electronics.cpp.

TIMESTAMP power_electronics::sync ( TIMESTAMP  t0,
TIMESTAMP  t1 
) [inherited]

* if ((Rated_kW!=0.0)&&(Rated_pf!=0.0)){

Definition at line 463 of file power_electronics.cpp.


GridLAB-DTM Version 2.0
An open-source project initiated by the US Department of Energy