00001 00010 #ifndef _ZIPLOAD_H 00011 #define _ZIPLOAD_H 00012 #include "residential.h" 00013 #include "residential_enduse.h" 00014 00015 class ZIPload : public residential_enduse 00016 { 00017 public: 00018 double base_power; 00019 double power_pf; 00020 double current_pf; 00021 double impedance_pf; 00022 bool is_240; 00023 double breaker_val; 00024 complex actual_power; 00025 00026 bool demand_response_mode; 00027 int64 N; 00028 int16 L; 00029 double N_off; 00030 double N_on; 00031 double noff; 00032 double non; 00033 double roff; 00034 double ron; 00035 double t; 00036 double toff; 00037 double ton; 00038 int16 x; 00039 double phi; 00040 double PHI; 00041 double eta; 00042 double rho; 00043 double nominal_power; 00044 int64 next_time, last_time; 00045 double duty_cycle; 00046 double last_duty_cycle; 00047 double period; 00048 double phase; 00049 double multiplier; 00050 double recovery_duty_cycle; 00051 bool heatgain_only; 00052 00053 00054 typedef struct { 00055 double *on; 00056 double *off; 00057 int16 nbins; 00058 } DRMODEL; 00059 00060 DRMODEL drm; 00061 DRMODEL previous_drm; 00062 00063 private: 00064 int first_pass; 00065 00066 public: 00067 static CLASS *oclass, *pclass; 00068 static ZIPload *defaults; 00069 00070 ZIPload(MODULE *module); 00071 ~ZIPload(); 00072 int create(); 00073 int init(OBJECT *parent); 00074 int isa(char *classname); 00075 TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1); 00076 00077 }; 00078 00079 #endif // _ZIPLOAD_H 00080