DSS C-API and dss.hpp
DSS C-API and dss.hpp expose a customized and extended implementation of OpenDSS to C and C++.
dss::obj::StorageControllerBatch Class Reference
Inheritance diagram for dss::obj::StorageControllerBatch:
[legend]
Collaboration diagram for dss::obj::StorageControllerBatch:
[legend]

Public Types

typedef StorageController::Properties Properties
 
typedef StorageController BatchElementClass
 
typedef StorageController::StorageControllerDischargemode StorageControllerDischargemode
 
typedef StorageController::StorageControllerChargemode StorageControllerChargemode
 

Public Member Functions

 StorageControllerBatch (APIUtil *util)
 Create a batch of all StorageController elements.
 
 StorageControllerBatch (APIUtil *util, int32_t prop_idx, int32_t prop_value)
 Create a batch of all StorageController elements that match an integer property value.
 
 StorageControllerBatch (APIUtil *util, const char *regexp)
 Create a batch of all StorageController elements that match a regular expression.
 
StorageControllerBatchbegin_edit ()
 
StorageControllerBatchend_edit (int32_t num_edits=1)
 
strings Element ()
 Full object name of the circuit element, typically a line or transformer, which the control is monitoring. More...
 
StorageControllerBatchElement (dss::obj::DSSObj &value)
 
StorageControllerBatchElement (const string &value)
 
std::vector< dss::obj::DSSObjElement_obj ()
 Full object name of the circuit element, typically a line or transformer, which the control is monitoring. More...
 
StorageControllerBatchElement_obj (dss::obj::DSSObj &value)
 
BatchInt32ArrayProxy Terminal ()
 Number of the terminal of the circuit element to which the StorageController2 control is connected. More...
 
StorageControllerBatchTerminal (int32_t value)
 
template<typename T >
StorageControllerBatchTerminal (T &value)
 
template<typename T >
StorageControllerBatchTerminal (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchInt32ArrayProxy MonPhase ()
 Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases. More...
 
StorageControllerBatchMonPhase (string &value)
 
StorageControllerBatchMonPhase (int32_t value)
 
StorageControllerBatchMonPhase (MonitoredPhase value)
 
StorageControllerBatchMonPhase (strings &value)
 
StorageControllerBatchMonPhase (std::vector< int32_t > &value)
 
StorageControllerBatchMonPhase (std::vector< MonitoredPhase > &value)
 
strings MonPhase_str ()
 Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases. More...
 
StorageControllerBatchMonPhase_str (string &value)
 
StorageControllerBatchMonPhase_str (strings &value)
 
BatchFloat64ArrayProxy kWTarget ()
 kW/kamps target for Discharging. More...
 
StorageControllerBatchkWTarget (double value)
 
template<typename T >
StorageControllerBatchkWTarget (T &value)
 
template<typename T >
StorageControllerBatchkWTarget (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWTargetLow ()
 kW/kamps target for Charging. More...
 
StorageControllerBatchkWTargetLow (double value)
 
template<typename T >
StorageControllerBatchkWTargetLow (T &value)
 
template<typename T >
StorageControllerBatchkWTargetLow (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctkWBand ()
 Bandwidth (% of Target kW/kamps) of the dead band around the kW/kamps target value. More...
 
StorageControllerBatchpctkWBand (double value)
 
template<typename T >
StorageControllerBatchpctkWBand (T &value)
 
template<typename T >
StorageControllerBatchpctkWBand (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWBand ()
 Alternative way of specifying the bandwidth. More...
 
StorageControllerBatchkWBand (double value)
 
template<typename T >
StorageControllerBatchkWBand (T &value)
 
template<typename T >
StorageControllerBatchkWBand (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctkWBandLow ()
 Bandwidth (% of kWTargetLow) of the dead band around the kW/kamps low target value. More...
 
StorageControllerBatchpctkWBandLow (double value)
 
template<typename T >
StorageControllerBatchpctkWBandLow (T &value)
 
template<typename T >
StorageControllerBatchpctkWBandLow (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWBandLow ()
 Alternative way of specifying the bandwidth. More...
 
StorageControllerBatchkWBandLow (double value)
 
template<typename T >
StorageControllerBatchkWBandLow (T &value)
 
template<typename T >
StorageControllerBatchkWBandLow (typename T::iterator it_begin, typename T::iterator it_end)
 
std::vector< strings > ElementList ()
 Array list of Storage elements to be controlled. More...
 
StorageControllerBatchElementList (strings &value)
 
std::vector< VectorXd > Weights ()
 Array of proportional weights corresponding to each Storage element in the ElementList. More...
 
StorageControllerBatchWeights (VectorXd &value)
 
BatchInt32ArrayProxy ModeDischarge ()
 {PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller. More...
 
StorageControllerBatchModeDischarge (string &value)
 
StorageControllerBatchModeDischarge (int32_t value)
 
StorageControllerBatchModeDischarge (StorageController::StorageControllerDischargemode value)
 
StorageControllerBatchModeDischarge (strings &value)
 
StorageControllerBatchModeDischarge (std::vector< int32_t > &value)
 
StorageControllerBatchModeDischarge (std::vector< StorageController::StorageControllerDischargemode > &value)
 
strings ModeDischarge_str ()
 {PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller. More...
 
StorageControllerBatchModeDischarge_str (string &value)
 
StorageControllerBatchModeDischarge_str (strings &value)
 
BatchInt32ArrayProxy ModeCharge ()
 {Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller. More...
 
StorageControllerBatchModeCharge (string &value)
 
StorageControllerBatchModeCharge (int32_t value)
 
StorageControllerBatchModeCharge (StorageController::StorageControllerChargemode value)
 
StorageControllerBatchModeCharge (strings &value)
 
StorageControllerBatchModeCharge (std::vector< int32_t > &value)
 
StorageControllerBatchModeCharge (std::vector< StorageController::StorageControllerChargemode > &value)
 
strings ModeCharge_str ()
 {Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller. More...
 
StorageControllerBatchModeCharge_str (string &value)
 
StorageControllerBatchModeCharge_str (strings &value)
 
BatchFloat64ArrayProxy TimeDischargeTrigger ()
 Default time of day (hr) for initiating Discharging of the fleet. More...
 
StorageControllerBatchTimeDischargeTrigger (double value)
 
template<typename T >
StorageControllerBatchTimeDischargeTrigger (T &value)
 
template<typename T >
StorageControllerBatchTimeDischargeTrigger (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy TimeChargeTrigger ()
 Default time of day (hr) for initiating charging in Time control mode. More...
 
StorageControllerBatchTimeChargeTrigger (double value)
 
template<typename T >
StorageControllerBatchTimeChargeTrigger (T &value)
 
template<typename T >
StorageControllerBatchTimeChargeTrigger (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctRatekW ()
 Sets the kW discharge rate in % of rated capacity for each element of the fleet. More...
 
StorageControllerBatchpctRatekW (double value)
 
template<typename T >
StorageControllerBatchpctRatekW (T &value)
 
template<typename T >
StorageControllerBatchpctRatekW (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctRateCharge ()
 Sets the kW charging rate in % of rated capacity for each element of the fleet. More...
 
StorageControllerBatchpctRateCharge (double value)
 
template<typename T >
StorageControllerBatchpctRateCharge (T &value)
 
template<typename T >
StorageControllerBatchpctRateCharge (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctReserve ()
 Use this property to change the % reserve for each Storage element under control of this controller. More...
 
StorageControllerBatchpctReserve (double value)
 
template<typename T >
StorageControllerBatchpctReserve (T &value)
 
template<typename T >
StorageControllerBatchpctReserve (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWhTotal ()
 (Read only). More...
 
StorageControllerBatchkWhTotal (double value)
 
template<typename T >
StorageControllerBatchkWhTotal (T &value)
 
template<typename T >
StorageControllerBatchkWhTotal (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWTotal ()
 (Read only). More...
 
StorageControllerBatchkWTotal (double value)
 
template<typename T >
StorageControllerBatchkWTotal (T &value)
 
template<typename T >
StorageControllerBatchkWTotal (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWhActual ()
 (Read only). More...
 
StorageControllerBatchkWhActual (double value)
 
template<typename T >
StorageControllerBatchkWhActual (T &value)
 
template<typename T >
StorageControllerBatchkWhActual (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWActual ()
 (Read only). More...
 
StorageControllerBatchkWActual (double value)
 
template<typename T >
StorageControllerBatchkWActual (T &value)
 
template<typename T >
StorageControllerBatchkWActual (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWneed ()
 (Read only). More...
 
StorageControllerBatchkWneed (double value)
 
template<typename T >
StorageControllerBatchkWneed (T &value)
 
template<typename T >
StorageControllerBatchkWneed (typename T::iterator it_begin, typename T::iterator it_end)
 
strings Yearly ()
 Dispatch loadshape object, If any, for Yearly solution Mode. More...
 
StorageControllerBatchYearly (dss::obj::LoadShape &value)
 
StorageControllerBatchYearly (const string &value)
 
std::vector< dss::obj::LoadShapeYearly_obj ()
 Dispatch loadshape object, If any, for Yearly solution Mode. More...
 
StorageControllerBatchYearly_obj (dss::obj::LoadShape &value)
 
strings Daily ()
 Dispatch loadshape object, If any, for Daily solution mode. More...
 
StorageControllerBatchDaily (dss::obj::LoadShape &value)
 
StorageControllerBatchDaily (const string &value)
 
std::vector< dss::obj::LoadShapeDaily_obj ()
 Dispatch loadshape object, If any, for Daily solution mode. More...
 
StorageControllerBatchDaily_obj (dss::obj::LoadShape &value)
 
strings Duty ()
 Dispatch loadshape object, If any, for Dutycycle solution mode. More...
 
StorageControllerBatchDuty (dss::obj::LoadShape &value)
 
StorageControllerBatchDuty (const string &value)
 
std::vector< dss::obj::LoadShapeDuty_obj ()
 Dispatch loadshape object, If any, for Dutycycle solution mode. More...
 
StorageControllerBatchDuty_obj (dss::obj::LoadShape &value)
 
bools EventLog ()
 {Yes/True | No/False} Default is No. More...
 
StorageControllerBatchEventLog (bool value)
 
StorageControllerBatchEventLog (bools &value)
 
BatchInt32ArrayProxy InhibitTime ()
 Hours (integer) to inhibit Discharging after going into Charge mode. More...
 
StorageControllerBatchInhibitTime (int32_t value)
 
template<typename T >
StorageControllerBatchInhibitTime (T &value)
 
template<typename T >
StorageControllerBatchInhibitTime (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy Tup ()
 Duration, hrs, of upramp part for SCHEDULE mode. More...
 
StorageControllerBatchTup (double value)
 
template<typename T >
StorageControllerBatchTup (T &value)
 
template<typename T >
StorageControllerBatchTup (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy TFlat ()
 Duration, hrs, of flat part for SCHEDULE mode. More...
 
StorageControllerBatchTFlat (double value)
 
template<typename T >
StorageControllerBatchTFlat (T &value)
 
template<typename T >
StorageControllerBatchTFlat (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy Tdn ()
 Duration, hrs, of downramp part for SCHEDULE mode. More...
 
StorageControllerBatchTdn (double value)
 
template<typename T >
StorageControllerBatchTdn (T &value)
 
template<typename T >
StorageControllerBatchTdn (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWThreshold ()
 Threshold, kW, for Follow mode. More...
 
StorageControllerBatchkWThreshold (double value)
 
template<typename T >
StorageControllerBatchkWThreshold (T &value)
 
template<typename T >
StorageControllerBatchkWThreshold (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy DispFactor ()
 Defaults to 1 (disabled). More...
 
StorageControllerBatchDispFactor (double value)
 
template<typename T >
StorageControllerBatchDispFactor (T &value)
 
template<typename T >
StorageControllerBatchDispFactor (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy ResetLevel ()
 The level of charge required for allowing the storage to discharge again after reaching the reserve storage level. More...
 
StorageControllerBatchResetLevel (double value)
 
template<typename T >
StorageControllerBatchResetLevel (T &value)
 
template<typename T >
StorageControllerBatchResetLevel (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchInt32ArrayProxy Seasons ()
 With this property the user can specify the number of targets to be used by the controller using the list given at "SeasonTargets"/"SeasonTargetsLow", which can be used to dynamically adjust the storage controller during a QSTS simulation. More...
 
StorageControllerBatchSeasons (int32_t value)
 
template<typename T >
StorageControllerBatchSeasons (T &value)
 
template<typename T >
StorageControllerBatchSeasons (typename T::iterator it_begin, typename T::iterator it_end)
 
std::vector< VectorXd > SeasonTargets ()
 An array of doubles specifying the targets to be used during a QSTS simulation. More...
 
StorageControllerBatchSeasonTargets (VectorXd &value)
 
std::vector< VectorXd > SeasonTargetsLow ()
 An array of doubles specifying the targets to be used during a QSTS simulation. More...
 
StorageControllerBatchSeasonTargetsLow (VectorXd &value)
 
BatchFloat64ArrayProxy basefreq ()
 Base Frequency for ratings. More...
 
StorageControllerBatchbasefreq (double value)
 
template<typename T >
StorageControllerBatchbasefreq (T &value)
 
template<typename T >
StorageControllerBatchbasefreq (typename T::iterator it_begin, typename T::iterator it_end)
 
bools enabled ()
 {Yes|No or True|False} Indicates whether this element is enabled. More...
 
StorageControllerBatchenabled (bool value)
 
StorageControllerBatchenabled (bools &value)
 
StorageControllerBatchlike (const string &value)
 Make like another object, e.g. More...
 
StorageControllerBatchlike (const char *value)
 Make like another object, e.g. More...
 
- Public Member Functions inherited from dss::obj::DSSBatch
 DSSBatch (APIUtil *util, int32_t cls_idx)
 Create a batch of all elements in the DSS class.
 
 DSSBatch (APIUtil *util, int32_t cls_idx, int32_t prop_idx, int32_t prop_value)
 Create a batch of all elements that match an integer property value.
 
 DSSBatch (APIUtil *util, int32_t cls_idx, const char *regexp)
 Create a batch of all elements that match a regular expression.
 
 DSSBatch (APIUtil *util)
 Create an uninitialized batch instance.
 
strings name ()
 

Additional Inherited Members

- Public Attributes inherited from dss::obj::DSSBatch
APIUtilapi_util
 
void ** pointer
 
int32_t count [2]
 
- Protected Member Functions inherited from dss::obj::DSSBatch
void check_for_error ()
 
bools get_batch_bool (int32_t index)
 
std::vector< complex > get_batch_complex (int32_t index)
 
template<typename T = VectorXd>
std::vector< T > get_batch_valarray (int32_t index)
 
void set_batch_complex_for_each (int32_t index, std::vector< complex > &values)
 
template<typename T >
void set_batch_val (int32_t index, const T &value)
 
template<typename T = VectorXd>
get_batch_val (int32_t index)
 
template<typename T >
void set_batch_val_for_each (int32_t index, typename T::iterator v, typename T::iterator v_end)
 
- Static Protected Member Functions inherited from dss::obj::DSSBatch
template<typename T = VectorXd>
static T get_batch_val (int32_t index, DSSBatch &batch)
 

Member Function Documentation

◆ basefreq()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::basefreq ( )
inline

Base Frequency for ratings.

DSS property name: basefreq, DSS property index: 38

◆ Daily()

strings dss::obj::StorageControllerBatch::Daily ( )
inline

Dispatch loadshape object, If any, for Daily solution mode.

DSS property name: Daily, DSS property index: 25

◆ Daily_obj()

std::vector< dss::obj::LoadShape > dss::obj::StorageControllerBatch::Daily_obj ( )
inline

Dispatch loadshape object, If any, for Daily solution mode.

DSS property name: Daily, DSS property index: 25

◆ DispFactor()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::DispFactor ( )
inline

Defaults to 1 (disabled).

Set to any value between 0 and 1 to enable this parameter.

Use this parameter to reduce the amount of power requested by the controller in each control iteration. It can be useful when maximum control iterations are exceeded due to numerical instability such as fleet being set to charging and idling in subsequent control iterations (check the Eventlog).

DSS property name: DispFactor, DSS property index: 33

◆ Duty()

strings dss::obj::StorageControllerBatch::Duty ( )
inline

Dispatch loadshape object, If any, for Dutycycle solution mode.

DSS property name: Duty, DSS property index: 26

◆ Duty_obj()

std::vector< dss::obj::LoadShape > dss::obj::StorageControllerBatch::Duty_obj ( )
inline

Dispatch loadshape object, If any, for Dutycycle solution mode.

DSS property name: Duty, DSS property index: 26

◆ Element()

strings dss::obj::StorageControllerBatch::Element ( )
inline

Full object name of the circuit element, typically a line or transformer, which the control is monitoring.

There is no default; Must be specified.

DSS property name: Element, DSS property index: 1

◆ Element_obj()

std::vector< dss::obj::DSSObj > dss::obj::StorageControllerBatch::Element_obj ( )
inline

Full object name of the circuit element, typically a line or transformer, which the control is monitoring.

There is no default; Must be specified.

DSS property name: Element, DSS property index: 1

◆ ElementList()

std::vector< strings > dss::obj::StorageControllerBatch::ElementList ( )
inline

Array list of Storage elements to be controlled.

If not specified, all Storage elements in the circuit not presently dispatched by another controller are assumed dispatched by this controller.

DSS property name: ElementList, DSS property index: 10

◆ enabled()

bools dss::obj::StorageControllerBatch::enabled ( )
inline

{Yes|No or True|False} Indicates whether this element is enabled.

DSS property name: enabled, DSS property index: 39

◆ EventLog()

bools dss::obj::StorageControllerBatch::EventLog ( )
inline

{Yes/True | No/False} Default is No.

Log control actions to Eventlog.

DSS property name: EventLog, DSS property index: 27

◆ InhibitTime()

BatchInt32ArrayProxy dss::obj::StorageControllerBatch::InhibitTime ( )
inline

Hours (integer) to inhibit Discharging after going into Charge mode.

Default is 5.

DSS property name: InhibitTime, DSS property index: 28

◆ kWActual()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWActual ( )
inline

(Read only).

Actual kW output of all controlled Storage elements.

DSS property name: kWActual, DSS property index: 22

◆ kWBand()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWBand ( )
inline

Alternative way of specifying the bandwidth.

(kW/kamps) of the dead band around the kW/kamps target value. Default is 2% of kWTarget (+/-1%).No dispatch changes are attempted if the power in the monitored terminal stays within this band.

DSS property name: kWBand, DSS property index: 7

◆ kWBandLow()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWBandLow ( )
inline

Alternative way of specifying the bandwidth.

(kW/kamps) of the dead band around the kW/kamps low target value. Default is 2% of kWTargetLow (+/-1%).No charging is attempted if the power in the monitored terminal stays within this band.

DSS property name: kWBandLow, DSS property index: 9

◆ kWhActual()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWhActual ( )
inline

(Read only).

Actual kWh stored of all controlled Storage elements.

DSS property name: kWhActual, DSS property index: 21

◆ kWhTotal()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWhTotal ( )
inline

(Read only).

Total rated kWh energy Storage capacity of Storage elements controlled by this controller.

DSS property name: kWhTotal, DSS property index: 19

◆ kWneed()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWneed ( )
inline

(Read only).

KW needed to meet target.

DSS property name: kWneed, DSS property index: 23

◆ kWTarget()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWTarget ( )
inline

kW/kamps target for Discharging.

The Storage element fleet is dispatched to try to hold the power/current in band at least until the Storage is depleted. The selection of power or current depends on the Discharge mode (PeakShave->kW, I-PeakShave->kamps).

DSS property name: kWTarget, DSS property index: 4

◆ kWTargetLow()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWTargetLow ( )
inline

kW/kamps target for Charging.

The Storage element fleet is dispatched to try to hold the power/current in band at least until the Storage is fully charged. The selection of power or current depends on the charge mode (PeakShavelow->kW, I-PeakShavelow->kamps).

DSS property name: kWTargetLow, DSS property index: 5

◆ kWThreshold()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWThreshold ( )
inline

Threshold, kW, for Follow mode.

kW has to be above this value for the Storage element to be dispatched on. Defaults to 75% of the kWTarget value. Must reset this property after setting kWTarget if you want a different value.

DSS property name: kWThreshold, DSS property index: 32

◆ kWTotal()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::kWTotal ( )
inline

(Read only).

Total rated kW power capacity of Storage elements controlled by this controller.

DSS property name: kWTotal, DSS property index: 20

◆ like() [1/2]

StorageControllerBatch & dss::obj::StorageControllerBatch::like ( const char *  value)
inline

Make like another object, e.g.

:

New Capacitor.C2 like=c1 ...

DSS property name: like, DSS property index: 40

◆ like() [2/2]

StorageControllerBatch & dss::obj::StorageControllerBatch::like ( const string &  value)
inline

Make like another object, e.g.

:

New Capacitor.C2 like=c1 ...

DSS property name: like, DSS property index: 40

◆ ModeCharge()

BatchInt32ArrayProxy dss::obj::StorageControllerBatch::ModeCharge ( )
inline

{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller.

In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is charged when the loadshape value is negative.

In Time mode, the Storage charging FUNCTION is triggered at the specified RateCharge at the specified charge trigger time in fractional hours.

In PeakShaveLow mode, the charging operation will charge the Storage fleet when the power at amonitored element is below a specified KW target (kWTarget_low). The Storage will charge as much power as necessary to keep the power within the deadband around kWTarget_low.

In I-PeakShaveLow mode, the charging operation will charge the Storage fleet when the current (Amps) at amonitored element is below a specified amps target (kWTarget_low). The Storage will charge as much power as necessary to keep the amps within the deadband around kWTarget_low. When this control mode is active, the property kWTarget_low will be expressed in k-amps and all the other parameters will be adjusted to match the amps (current) control criteria.

DSS property name: ModeCharge, DSS property index: 13

◆ ModeCharge_str()

strings dss::obj::StorageControllerBatch::ModeCharge_str ( )
inline

{Loadshape | Time* | PeakShaveLow | I-PeakShaveLow} Mode of operation for the CHARGE FUNCTION of this controller.

In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is charged when the loadshape value is negative.

In Time mode, the Storage charging FUNCTION is triggered at the specified RateCharge at the specified charge trigger time in fractional hours.

In PeakShaveLow mode, the charging operation will charge the Storage fleet when the power at amonitored element is below a specified KW target (kWTarget_low). The Storage will charge as much power as necessary to keep the power within the deadband around kWTarget_low.

In I-PeakShaveLow mode, the charging operation will charge the Storage fleet when the current (Amps) at amonitored element is below a specified amps target (kWTarget_low). The Storage will charge as much power as necessary to keep the amps within the deadband around kWTarget_low. When this control mode is active, the property kWTarget_low will be expressed in k-amps and all the other parameters will be adjusted to match the amps (current) control criteria.

DSS property name: ModeCharge, DSS property index: 13

◆ ModeDischarge()

BatchInt32ArrayProxy dss::obj::StorageControllerBatch::ModeDischarge ( )
inline

{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller.

In PeakShave mode (Default), the control attempts to discharge Storage to keep power in the monitored element below the kWTarget.

In Follow mode, the control is triggered by time and resets the kWTarget value to the present monitored element power. It then attempts to discharge Storage to keep power in the monitored element below the new kWTarget. See TimeDischargeTrigger.

In Support mode, the control operates oppositely of PeakShave mode: Storage is discharged to keep kW power output up near the target.

In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is discharged when the loadshape value is positive.

In Time mode, the Storage discharge is turned on at the specified RatekW at the specified discharge trigger time in fractional hours.

In Schedule mode, the Tup, TFlat, and Tdn properties specify the up ramp duration, flat duration, and down ramp duration for the schedule. The schedule start time is set by TimeDischargeTrigger and the rate of discharge for the flat part is determined by RatekW.

In I-PeakShave mode, the control attempts to discharge Storage to keep current in the monitored element below the target given in k-amps (thousands of amps), when this control mode is active, the property kWTarget will be expressed in k-amps.

DSS property name: ModeDischarge, DSS property index: 12

◆ ModeDischarge_str()

strings dss::obj::StorageControllerBatch::ModeDischarge_str ( )
inline

{PeakShave* | Follow | Support | Loadshape | Time | Schedule | I-PeakShave} Mode of operation for the DISCHARGE FUNCTION of this controller.

In PeakShave mode (Default), the control attempts to discharge Storage to keep power in the monitored element below the kWTarget.

In Follow mode, the control is triggered by time and resets the kWTarget value to the present monitored element power. It then attempts to discharge Storage to keep power in the monitored element below the new kWTarget. See TimeDischargeTrigger.

In Support mode, the control operates oppositely of PeakShave mode: Storage is discharged to keep kW power output up near the target.

In Loadshape mode, both charging and discharging precisely follows the per unit loadshape. Storage is discharged when the loadshape value is positive.

In Time mode, the Storage discharge is turned on at the specified RatekW at the specified discharge trigger time in fractional hours.

In Schedule mode, the Tup, TFlat, and Tdn properties specify the up ramp duration, flat duration, and down ramp duration for the schedule. The schedule start time is set by TimeDischargeTrigger and the rate of discharge for the flat part is determined by RatekW.

In I-PeakShave mode, the control attempts to discharge Storage to keep current in the monitored element below the target given in k-amps (thousands of amps), when this control mode is active, the property kWTarget will be expressed in k-amps.

DSS property name: ModeDischarge, DSS property index: 12

◆ MonPhase()

BatchInt32ArrayProxy dss::obj::StorageControllerBatch::MonPhase ( )
inline

Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.

Default=MAX. Must be less than the number of phases. Used in PeakShave, Follow, Support and I-PeakShave discharging modes and in PeakShaveLow, I-PeakShaveLow charging modes. For modes based on active power measurements, the value used by the control is the monitored one multiplied by the number of phases of the monitored element.

DSS property name: MonPhase, DSS property index: 3

◆ MonPhase_str()

strings dss::obj::StorageControllerBatch::MonPhase_str ( )
inline

Number of the phase being monitored or one of {AVG | MAX | MIN} for all phases.

Default=MAX. Must be less than the number of phases. Used in PeakShave, Follow, Support and I-PeakShave discharging modes and in PeakShaveLow, I-PeakShaveLow charging modes. For modes based on active power measurements, the value used by the control is the monitored one multiplied by the number of phases of the monitored element.

DSS property name: MonPhase, DSS property index: 3

◆ pctkWBand()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::pctkWBand ( )
inline

Bandwidth (% of Target kW/kamps) of the dead band around the kW/kamps target value.

Default is 2% (+/-1%).No dispatch changes are attempted if the power in the monitored terminal stays within this band.

DSS property name: kWBand, DSS property index: 6

◆ pctkWBandLow()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::pctkWBandLow ( )
inline

Bandwidth (% of kWTargetLow) of the dead band around the kW/kamps low target value.

Default is 2% (+/-1%).No charging is attempted if the power in the monitored terminal stays within this band.

DSS property name: kWBandLow, DSS property index: 8

◆ pctRateCharge()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::pctRateCharge ( )
inline

Sets the kW charging rate in % of rated capacity for each element of the fleet.

Applies to TIME control mode and anytime charging mode is entered due to a time trigger.

DSS property name: RateCharge, DSS property index: 17

◆ pctRatekW()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::pctRatekW ( )
inline

Sets the kW discharge rate in % of rated capacity for each element of the fleet.

Applies to TIME control mode, SCHEDULE mode, or anytime discharging is triggered by time.

DSS property name: RatekW, DSS property index: 16

◆ pctReserve()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::pctReserve ( )
inline

Use this property to change the % reserve for each Storage element under control of this controller.

This might be used, for example, to allow deeper discharges of Storage or in case of emergency operation to use the remainder of the Storage element.

DSS property name: Reserve, DSS property index: 18

◆ ResetLevel()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::ResetLevel ( )
inline

The level of charge required for allowing the storage to discharge again after reaching the reserve storage level.

After reaching this level, the storage control will not allow the storage device to discharge, forcing the storage to charge. Once the storage reaches thislevel, the storage will be able to discharge again. This value is a number between 0.2 and 1

DSS property name: ResetLevel, DSS property index: 34

◆ Seasons()

BatchInt32ArrayProxy dss::obj::StorageControllerBatch::Seasons ( )
inline

With this property the user can specify the number of targets to be used by the controller using the list given at "SeasonTargets"/"SeasonTargetsLow", which can be used to dynamically adjust the storage controller during a QSTS simulation.

The default value is 1. This property needs to be defined before defining SeasonTargets/SeasonTargetsLow.

DSS property name: Seasons, DSS property index: 35

◆ SeasonTargets()

std::vector< VectorXd > dss::obj::StorageControllerBatch::SeasonTargets ( )
inline

An array of doubles specifying the targets to be used during a QSTS simulation.

These targets will take effect only if SeasonRating=true. The number of targets cannot exceed the number of seasons defined at the SeasonSignal.The difference between the targets defined at SeasonTargets and SeasonTargetsLow is that SeasonTargets applies to discharging modes, while SeasonTargetsLow applies to charging modes.

DSS property name: SeasonTargets, DSS property index: 36

◆ SeasonTargetsLow()

std::vector< VectorXd > dss::obj::StorageControllerBatch::SeasonTargetsLow ( )
inline

An array of doubles specifying the targets to be used during a QSTS simulation.

These targets will take effect only if SeasonRating=true. The number of targets cannot exceed the number of seasons defined at the SeasonSignal.The difference between the targets defined at SeasonTargets and SeasonTargetsLow is that SeasonTargets applies to discharging modes, while SeasonTargetsLow applies to charging modes.

DSS property name: SeasonTargetsLow, DSS property index: 37

◆ Tdn()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::Tdn ( )
inline

Duration, hrs, of downramp part for SCHEDULE mode.

Default is 0.25.

DSS property name: Tdn, DSS property index: 31

◆ Terminal()

BatchInt32ArrayProxy dss::obj::StorageControllerBatch::Terminal ( )
inline

Number of the terminal of the circuit element to which the StorageController2 control is connected.

1 or 2, typically. Default is 1. Make sure to select the proper direction on the power for the respective dispatch mode.

DSS property name: Terminal, DSS property index: 2

◆ TFlat()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::TFlat ( )
inline

Duration, hrs, of flat part for SCHEDULE mode.

Default is 2.0.

DSS property name: TFlat, DSS property index: 30

◆ TimeChargeTrigger()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::TimeChargeTrigger ( )
inline

Default time of day (hr) for initiating charging in Time control mode.

Set this to a negative value to ignore. Default is 2.0. (0200).When this value is >0 the Storage fleet is set to charging at this time regardless of other control criteria to make sure Storage is topped off for the next discharge cycle.

DSS property name: TimeChargeTrigger, DSS property index: 15

◆ TimeDischargeTrigger()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::TimeDischargeTrigger ( )
inline

Default time of day (hr) for initiating Discharging of the fleet.

During Follow or Time mode discharging is triggered at a fixed time each day at this hour. If Follow mode, Storage will be discharged to attempt to hold the load at or below the power level at the time of triggering. In Time mode, the discharge is based on the RatekW property value. Set this to a negative value to ignore. Default is 12.0 for Follow mode; otherwise it is -1 (ignored).

DSS property name: TimeDischargeTrigger, DSS property index: 14

◆ Tup()

BatchFloat64ArrayProxy dss::obj::StorageControllerBatch::Tup ( )
inline

Duration, hrs, of upramp part for SCHEDULE mode.

Default is 0.25.

DSS property name: Tup, DSS property index: 29

◆ Weights()

std::vector< VectorXd > dss::obj::StorageControllerBatch::Weights ( )
inline

Array of proportional weights corresponding to each Storage element in the ElementList.

The needed kW or kvar to get back to center band is dispatched to each Storage element according to these weights. Default is to set all weights to 1.0.

DSS property name: Weights, DSS property index: 11

◆ Yearly()

strings dss::obj::StorageControllerBatch::Yearly ( )
inline

Dispatch loadshape object, If any, for Yearly solution Mode.

DSS property name: Yearly, DSS property index: 24

◆ Yearly_obj()

std::vector< dss::obj::LoadShape > dss::obj::StorageControllerBatch::Yearly_obj ( )
inline

Dispatch loadshape object, If any, for Yearly solution Mode.

DSS property name: Yearly, DSS property index: 24


The documentation for this class was generated from the following file: