00001
00009 #ifndef _rectifier_H
00010 #define _rectifier_H
00011
00012 #include <stdarg.h>
00013 #include "generators.h"
00014
00015 class rectifier: public gld_object
00016 {
00017
00018 protected:
00019
00020 public:
00021 enum RECTIFIER_TYPE {ONE_PULSE=0, TWO_PULSE=1, THREE_PULSE=2, SIX_PULSE=3, TWELVE_PULSE=4};
00022 enumeration rectifier_type_v;
00023
00024
00025 int number_of_phases_out;
00026
00027
00028 set phases;
00029 enum GENERATOR_MODE {CONSTANT_V=1, CONSTANT_PQ=2, CONSTANT_PF=4, SUPPLY_DRIVEN=5};
00030 enumeration gen_mode_v;
00031
00032 double efficiency;
00033
00034 complex VA_In;
00035 complex VA_Out;
00036 double P_Out;
00037 double Q_Out;
00038 double V_Rated;
00039
00040 complex voltage_out[3];
00041
00042 complex V_Out;
00043
00044 complex current_out[3];
00045
00046 complex I_Out;
00047
00048 complex power_out[3];
00049
00050 private:
00051 gld_property *pCircuit_V;
00052 gld_property *pLine_I;
00053
00054 public:
00055
00056 rectifier(MODULE *module);
00057 int create(void);
00058 int init(OBJECT *parent);
00059
00060 TIMESTAMP presync(TIMESTAMP t0, TIMESTAMP t1);
00061 TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1);
00062 TIMESTAMP postsync(TIMESTAMP t0, TIMESTAMP t1);
00063 public:
00064 static CLASS *oclass;
00065 static rectifier *defaults;
00066 static CLASS *plcass;
00067 #ifdef OPTIONAL
00068 static CLASS *pclass;
00069 TIMESTAMPP plc(TIMESTAMP t0, TIMESTAMP t1);
00070 #endif
00071 };
00072
00073 #endif