00001 // generator.h 00002 00003 #ifndef _GENERATOR_H 00004 #define _GENERATOR_H 00005 00006 class generator { 00007 public: 00008 double Pdesired_MW; // desired real power output 00009 double Qdesired_MVAR; // desired reactive power output (if Q controlled) 00010 int32 Qcontrolled; // flag true if reactive power is controlled (requires PQ bus) 00011 double Pmax_MW; // maximum real power 00012 double Qmin_MVAR; // maximum reactive power possible 00013 double Qmax_MVAR; // minimum reactive power possible 00014 double QVa, QVb, QVc; // voltage response parameters (Q = a*V^2 + b*V + c) 00015 enum {STOPPED=0, STANDBY=1, ONLINE=2, TRIPPED=3} state; 00016 private: 00017 //int generator_state_to_string(void *addr, char *value, int size); 00018 //int generator_state_from_string(void *addr, char *value); 00019 public: 00020 static CLASS *oclass; 00021 static generator *defaults; 00022 static CLASS *pclass; 00023 public: 00024 generator(MODULE *mod); 00025 int create(); 00026 int init(node *parent); 00027 TIMESTAMP sync(TIMESTAMP t0); 00028 }; 00029 00030 GLOBAL CLASS *generator_class INIT(NULL); 00031 GLOBAL OBJECT *last_generator INIT(NULL); 00032 00033 #endif