00001
00009 #ifndef _diesel_dg_H
00010 #define _diesel_dg_H
00011
00012 #include <stdarg.h>
00013 #include "../powerflow/powerflow_object.h"
00014 #include "../powerflow/node.h"
00015 #include "gridlabd.h"
00016
00017 class diesel_dg
00018 {
00019 private:
00020
00021 complex AMx[3][3];
00022 complex *pCircuit_V;
00023 complex *pLine_I;
00024
00025 protected:
00026
00027 public:
00028
00029 set phases;
00030 enum {CONSTANTE=1, CONSTANTPQ} Gen_mode;
00031 enum {OFFLINE=0, ONLINE=1} Gen_status;
00032
00033
00034
00035
00036
00037 double Rs;
00038 double Xs;
00039 double Rg;
00040 double Xg;
00041 double Max_Ef;
00042 double Min_Ef;
00043 double Max_P;
00044 double Min_P;
00045 double Max_Q;
00046 double Min_Q;
00047 double Rated_kVA;
00048 double Rated_kV;
00049 complex voltage_A;
00050 complex voltage_B;
00051 complex voltage_C;
00052 complex current_A;
00053 complex current_B;
00054 complex current_C;
00055 complex EfA;
00056 complex EfB;
00057 complex EfC;
00058 complex power_A;
00059 complex power_B;
00060 complex power_C;
00061 complex power_A_sch;
00062 complex power_B_sch;
00063 complex power_C_sch;
00064 complex EfA_sch;
00065 complex EfB_sch;
00066 complex EfC_sch;
00067 int SlackBus;
00068
00069
00070
00071
00072
00073
00074
00075
00076 public:
00077
00078 diesel_dg(MODULE *module);
00079 int create(void);
00080 int init(OBJECT *parent);
00081
00082 TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1);
00083 TIMESTAMP postsync(TIMESTAMP t0, TIMESTAMP t1);
00084 public:
00085 static CLASS *oclass;
00086 static diesel_dg *defaults;
00087 complex *get_complex(OBJECT *obj, char *name);
00088
00089 #ifdef OPTIONAL
00090 static CLASS *pclass;
00091 TIMESTAMPP plc(TIMESTAMP t0, TIMESTAMP t1);
00092 #endif
00093 };
00094
00095 #endif
00096
00106 #ifndef _diesel_dg_H
00107 #define _diesel_dg_H
00108
00109 #include <stdarg.h>
00110 #include "gridlabd.h"
00111
00112 class diesel_dg {
00113 private:
00114
00115 protected:
00116
00117 public:
00118
00119 public:
00120
00121 diesel_dg(MODULE *module);
00122 int create(void);
00123 int init(OBJECT *parent);
00124 TIMESTAMP presync(TIMESTAMP t0, TIMESTAMP t1);
00125 TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1);
00126 TIMESTAMP postsync(TIMESTAMP t0, TIMESTAMP t1);
00127 public:
00128 static CLASS *oclass;
00129 static diesel_dg *defaults;
00130 #ifdef OPTIONAL
00131 static CLASS *pclass;
00132 TIMESTAMPP plc(TIMESTAMP t0, TIMESTAMP t1);
00133 #endif
00134 };
00135
00136 #endif
00137