osier.RampingTechnology#

class osier.RampingTechnology(technology_type='production', technology_category='ramping', ramp_up_rate=unyt_quantity(1., '1/hr'), ramp_down_rate=unyt_quantity(1., '1/hr'), *args, **kwargs)[source]#

Bases: Technology

The RampingTechnology class extends the Technology class by adding ramping attributes that correspond to a technology’s ability to increase or decrease its power level at a specified rate.

Parameters:
  • ramp_up_rate (float or unyt_quantity) – The rate at which a technology can increase its power, expressed as a percentage of its capacity. For example, if ramp_up_rate equals 0.5, then the technology may ramp up its power level by 50% per unit time. The default is 1.0 (i.e. there is no constraint on ramping up).

  • ramp_down_rate (float or unyt_quantity) – The rate at which a technology can decrease its power, expressed as a percentage of its capacity. For example, if ramp_down_rate equals 0.5, then the technology may ramp down its power level by 50% per unit time. The default is 1.0 (i.e. there is no constraint on ramping down).

Notes

It is common for a ramping technology to have different ramp up and ramp down rates. Consider a light-water nuclear reactor that can quickly reduce its power level by inserting control rods, but must wait much longer to increase its power by the same amount due to a build up of neutron absorbing isotopes.

Methods

max_power([time_delta])

Calculates the maximum achievable power for a technology in the next timestep.

min_power([time_delta])

Calculates the minimum achievable power for a technology in the next timestep.

power_output(demand[, time_delta])

Raise or lower the power level to meet demand.