-
Notifications
You must be signed in to change notification settings - Fork 0
/
dryer.h
59 lines (50 loc) · 2.01 KB
/
dryer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/** $Id: dryer.h,v 1.9 2008/02/09 00:05:09 d3j168 Exp $
Copyright (C) 2008 Battelle Memorial Institute
@file dryer.h
@addtogroup dryer
@ingroup residential
@{
**/
#ifndef _DRYER_H
#define _DRYER_H
#include "residential.h"
#include "residential_enduse.h"
class dryer : public residential_enduse
{
public:
complex dryer_actual_power; ///< actual complex power drawn from power system
double circuit_split; ///< -1=100% negative, 0=balanced, +1=100% positive
double motor_power; ///< installed dryer motor power [W] (default = random uniform between 150-350 W)
double coil_power; ///< installed heating coil power [W] (default = random uniform between 3500-5000 W, 0 for gas)
double enduse_demand; ///< amount of demand added per hour (units/hr)
double enduse_queue; ///< accumulated demand (units)
double cycle_duration; ///< typical cycle runtime (s)
double cycle_time; ///< remaining time in main cycle (s)
double state_time; ///< remaining time in current state (s)
double stall_voltage; ///< voltage at which the motor stalls
double start_voltage; ///< voltage at which motor can start
complex stall_impedance; ///< impedance of motor when stalled
double trip_delay; ///< stalled time before thermal trip
double reset_delay; ///< trip time before thermal reset and restart
double heat_fraction; ///< internal gain fraction of installed power
TIMESTAMP time_state; ///< time in current state
typedef enum {
STOPPED=0, ///< motor is stopped
RUNNING=1, ///< motor is running
STALLED=2, ///< motor is stalled
TRIPPED=3, ///< motor is tripped
};
enumeration state; ///< control state
public:
static CLASS *oclass, *pclass;
static dryer *defaults;
dryer(MODULE *module);
~dryer();
int create();
int init(OBJECT *parent);
int isa(char *classname);
TIMESTAMP sync(TIMESTAMP t0, TIMESTAMP t1);
double update_state(double dt=0.0); ///< updates the load struct and returns the time until expected state change
};
#endif // _DRYER_H
/**@}**/