Electric waterheater
[Residential loads (residential)]


Detailed Description

The residential electric waterheater uses a hybrid thermal model that is capable of tracking either a single-mass of water, or a dual-mass with a varying thermocline.

The driving dynamic parameters of the waterheater are


Functions

int waterheater::init (OBJECT *parent)
 Initialize water heater model properties - randomized defaults for all published variables.
EXPORT TIMESTAMP plc_waterheater (OBJECT *obj, TIMESTAMP t0)
TIMESTAMP waterheater::presync (TIMESTAMP t0, TIMESTAMP t1)
 Water heater plc control code to set the water heater 'heat_needed' state The thermostat set point, deadband, tank state(height of hot water column) and current water temperature are used to determine 'heat_needed' state.
WHQFLOW waterheater::set_current_model_and_load_state (void)
 Set the water heater model and tank state based on the estimated temperature differential along the height of the water column when it is full, emplty or partial at the current height, given the current water draw.
void waterheater::set_time_to_transition (void)
 Calculate the time to transition from the current state to new state.
TIMESTAMP waterheater::sync (TIMESTAMP t0, TIMESTAMP t1)
 Water heater synchronization determines the time to next synchronization state and the power drawn since last synch.
WHQSTATE waterheater::tank_state (void)
 Tank state determined based on the height of the hot water column.
 waterheater::waterheater (MODULE *mod)
 Register the class and publish water heater object properties.


Function Documentation

EXPORT TIMESTAMP plc_waterheater ( OBJECT obj,
TIMESTAMP  t0 
)

Todo:
If external plc codes return a timestamp, it will allow sync sooner but not later than water heater time to transition (ticket #147)

Definition at line 980 of file waterheater.cpp.

References OBJECTDATA.


GridLAB-DTM Version 2.0
An open-source project initiated by the US Department of Energy