+ xbt_assert(!power_range_watts_list.empty(),
+ "No power range properties specified for host %s", host->getName());
+
+ /* min_power corresponds to the idle power (cpu load = 0) */
+ /* max_power is the power consumed at 100% cpu load */
+ auto range = power_range_watts_list.at(host->p_cpu->getPState());
+ double min_power = range.first;
+ double max_power = range.second;
+ double power_slope = max_power - min_power;
+ double current_power = min_power + cpu_load * power_slope;
+
+ XBT_DEBUG("[get_current_watts] min_power=%f, max_power=%f, slope=%f", min_power, max_power, power_slope);
+ XBT_DEBUG("[get_current_watts] Current power (watts) = %f, load = %f", current_power, cpu_load);
+
+ return current_power;