/** Calculate the time to transition from the current state to new state **/ void waterheater::set_time_to_transition(void) { // set the model and load state set_current_model_and_load_state(); time_to_transition = -1; switch (current_model) { case ONENODE: if (heat_needed == FALSE) time_to_transition = new_time_1node(Tw, Ton); else if (load_state == RECOVERING) time_to_transition = new_time_1node(Tw, Toff); else time_to_transition = -1; break; case TWONODE: switch (load_state) { case STABLE: time_to_transition = -1; // Negative implies TS_NEVER; break; case DEPLETING: time_to_transition = new_time_2zone(h, 0); break; case RECOVERING: time_to_transition = new_time_2zone(h, height); break; } } return; }
/** Calculate the time to transition from the current state to new state **/ void range::set_time_to_transition(void) { // set the model and load state set_current_model_and_load_state(); time_to_transition = -1; switch (current_model) { case ONENODE: if (heat_needed == FALSE) time_to_transition = new_time_1node(Tw, Ton); else if (load_state == RECOVERING) time_to_transition = new_time_1node(Tw, Toff); else time_to_transition = -1; break; } return; }