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::StorageBatch Class Reference
Inheritance diagram for dss::obj::StorageBatch:
[legend]
Collaboration diagram for dss::obj::StorageBatch:
[legend]

Public Types

typedef Storage::Properties Properties
 
typedef Storage BatchElementClass
 
typedef Storage::StorageState StorageState
 
typedef Storage::StorageDispatchMode StorageDispatchMode
 

Public Member Functions

 StorageBatch (APIUtil *util)
 Create a batch of all Storage elements.
 
 StorageBatch (APIUtil *util, int32_t prop_idx, int32_t prop_value)
 Create a batch of all Storage elements that match an integer property value.
 
 StorageBatch (APIUtil *util, const char *regexp)
 Create a batch of all Storage elements that match a regular expression.
 
StorageBatchbegin_edit ()
 
StorageBatchend_edit (int32_t num_edits=1)
 
BatchInt32ArrayProxy phases ()
 Number of Phases, this Storage element. More...
 
StorageBatchphases (int32_t value)
 
template<typename T >
StorageBatchphases (T &value)
 
template<typename T >
StorageBatchphases (typename T::iterator it_begin, typename T::iterator it_end)
 
strings bus1 ()
 Bus to which the Storage element is connected. More...
 
StorageBatchbus1 (const string &value)
 
StorageBatchbus1 (strings &value)
 
BatchFloat64ArrayProxy kv ()
 Nominal rated (1.0 per unit) voltage, kV, for Storage element. More...
 
StorageBatchkv (double value)
 
template<typename T >
StorageBatchkv (T &value)
 
template<typename T >
StorageBatchkv (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchInt32ArrayProxy conn ()
 ={wye|LN|delta|LL}. More...
 
StorageBatchconn (string &value)
 
StorageBatchconn (int32_t value)
 
StorageBatchconn (Connection value)
 
StorageBatchconn (strings &value)
 
StorageBatchconn (std::vector< int32_t > &value)
 
StorageBatchconn (std::vector< Connection > &value)
 
strings conn_str ()
 ={wye|LN|delta|LL}. More...
 
StorageBatchconn_str (string &value)
 
StorageBatchconn_str (strings &value)
 
BatchFloat64ArrayProxy kW ()
 Get/set the requested kW value. More...
 
StorageBatchkW (double value)
 
template<typename T >
StorageBatchkW (T &value)
 
template<typename T >
StorageBatchkW (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kvar ()
 Get/set the requested kvar value. More...
 
StorageBatchkvar (double value)
 
template<typename T >
StorageBatchkvar (T &value)
 
template<typename T >
StorageBatchkvar (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pf ()
 Get/set the requested PF value. More...
 
StorageBatchpf (double value)
 
template<typename T >
StorageBatchpf (T &value)
 
template<typename T >
StorageBatchpf (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kVA ()
 Indicates the inverter nameplate capability (in kVA). More...
 
StorageBatchkVA (double value)
 
template<typename T >
StorageBatchkVA (T &value)
 
template<typename T >
StorageBatchkVA (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctCutin ()
 Cut-in power as a percentage of inverter kVA rating. More...
 
StorageBatchpctCutin (double value)
 
template<typename T >
StorageBatchpctCutin (T &value)
 
template<typename T >
StorageBatchpctCutin (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctCutout ()
 Cut-out power as a percentage of inverter kVA rating. More...
 
StorageBatchpctCutout (double value)
 
template<typename T >
StorageBatchpctCutout (T &value)
 
template<typename T >
StorageBatchpctCutout (typename T::iterator it_begin, typename T::iterator it_end)
 
strings EffCurve ()
 An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kVA for the inverter. More...
 
StorageBatchEffCurve (dss::obj::XYcurve &value)
 
StorageBatchEffCurve (const string &value)
 
std::vector< dss::obj::XYcurveEffCurve_obj ()
 An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kVA for the inverter. More...
 
StorageBatchEffCurve_obj (dss::obj::XYcurve &value)
 
bools VarFollowInverter ()
 Boolean variable (Yes|No) or (True|False). More...
 
StorageBatchVarFollowInverter (bool value)
 
StorageBatchVarFollowInverter (bools &value)
 
BatchFloat64ArrayProxy kvarMax ()
 Indicates the maximum reactive power GENERATION (un-signed numerical variable in kvar) for the inverter. More...
 
StorageBatchkvarMax (double value)
 
template<typename T >
StorageBatchkvarMax (T &value)
 
template<typename T >
StorageBatchkvarMax (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kvarMaxAbs ()
 Indicates the maximum reactive power ABSORPTION (un-signed numerical variable in kvar) for the inverter. More...
 
StorageBatchkvarMaxAbs (double value)
 
template<typename T >
StorageBatchkvarMaxAbs (T &value)
 
template<typename T >
StorageBatchkvarMaxAbs (typename T::iterator it_begin, typename T::iterator it_end)
 
bools WattPriority ()
 {Yes/No*‍/True/False} Set inverter to watt priority instead of the default var priority. More...
 
StorageBatchWattPriority (bool value)
 
StorageBatchWattPriority (bools &value)
 
bools PFPriority ()
 If set to true, priority is given to power factor and WattPriority is neglected. More...
 
StorageBatchPFPriority (bool value)
 
StorageBatchPFPriority (bools &value)
 
BatchFloat64ArrayProxy pctPminNoVars ()
 Minimum active power as percentage of kWrated under which there is no vars production/absorption. More...
 
StorageBatchpctPminNoVars (double value)
 
template<typename T >
StorageBatchpctPminNoVars (T &value)
 
template<typename T >
StorageBatchpctPminNoVars (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctPminkvarMax ()
 Minimum active power as percentage of kWrated that allows the inverter to produce/absorb reactive power up to its maximum reactive power, which can be either kvarMax or kvarMaxAbs, depending on the current operation quadrant. More...
 
StorageBatchpctPminkvarMax (double value)
 
template<typename T >
StorageBatchpctPminkvarMax (T &value)
 
template<typename T >
StorageBatchpctPminkvarMax (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWrated ()
 kW rating of power output. More...
 
StorageBatchkWrated (double value)
 
template<typename T >
StorageBatchkWrated (T &value)
 
template<typename T >
StorageBatchkWrated (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctkWrated ()
 Upper limit on active power as a percentage of kWrated. More...
 
StorageBatchpctkWrated (double value)
 
template<typename T >
StorageBatchpctkWrated (T &value)
 
template<typename T >
StorageBatchpctkWrated (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWhrated ()
 Rated Storage capacity in kWh. More...
 
StorageBatchkWhrated (double value)
 
template<typename T >
StorageBatchkWhrated (T &value)
 
template<typename T >
StorageBatchkWhrated (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy kWhstored ()
 Present amount of energy stored, kWh. More...
 
StorageBatchkWhstored (double value)
 
template<typename T >
StorageBatchkWhstored (T &value)
 
template<typename T >
StorageBatchkWhstored (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctstored ()
 Present amount of energy stored, % of rated kWh. More...
 
StorageBatchpctstored (double value)
 
template<typename T >
StorageBatchpctstored (T &value)
 
template<typename T >
StorageBatchpctstored (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctreserve ()
 Percentage of rated kWh Storage capacity to be held in reserve for normal operation. More...
 
StorageBatchpctreserve (double value)
 
template<typename T >
StorageBatchpctreserve (T &value)
 
template<typename T >
StorageBatchpctreserve (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchInt32ArrayProxy State ()
 {IDLING | CHARGING | DISCHARGING} Get/Set present operational state. More...
 
StorageBatchState (string &value)
 
StorageBatchState (int32_t value)
 
StorageBatchState (Storage::StorageState value)
 
StorageBatchState (strings &value)
 
StorageBatchState (std::vector< int32_t > &value)
 
StorageBatchState (std::vector< Storage::StorageState > &value)
 
strings State_str ()
 {IDLING | CHARGING | DISCHARGING} Get/Set present operational state. More...
 
StorageBatchState_str (string &value)
 
StorageBatchState_str (strings &value)
 
BatchFloat64ArrayProxy pctDischarge ()
 Discharge rate (output power) in percentage of rated kW. More...
 
StorageBatchpctDischarge (double value)
 
template<typename T >
StorageBatchpctDischarge (T &value)
 
template<typename T >
StorageBatchpctDischarge (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctCharge ()
 Charging rate (input power) in percentage of rated kW. More...
 
StorageBatchpctCharge (double value)
 
template<typename T >
StorageBatchpctCharge (T &value)
 
template<typename T >
StorageBatchpctCharge (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctEffCharge ()
 Percentage efficiency for CHARGING the Storage element. More...
 
StorageBatchpctEffCharge (double value)
 
template<typename T >
StorageBatchpctEffCharge (T &value)
 
template<typename T >
StorageBatchpctEffCharge (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctEffDischarge ()
 Percentage efficiency for DISCHARGING the Storage element. More...
 
StorageBatchpctEffDischarge (double value)
 
template<typename T >
StorageBatchpctEffDischarge (T &value)
 
template<typename T >
StorageBatchpctEffDischarge (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctIdlingkW ()
 Percentage of rated kW consumed by idling losses. More...
 
StorageBatchpctIdlingkW (double value)
 
template<typename T >
StorageBatchpctIdlingkW (T &value)
 
template<typename T >
StorageBatchpctIdlingkW (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctR ()
 Equivalent percentage internal resistance, ohms. More...
 
StorageBatchpctR (double value)
 
template<typename T >
StorageBatchpctR (T &value)
 
template<typename T >
StorageBatchpctR (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy pctX ()
 Equivalent percentage internal reactance, ohms. More...
 
StorageBatchpctX (double value)
 
template<typename T >
StorageBatchpctX (T &value)
 
template<typename T >
StorageBatchpctX (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchInt32ArrayProxy model ()
 Integer code (default=1) for the model to be used for power output variation with voltage. More...
 
StorageBatchmodel (int32_t value)
 
template<typename T >
StorageBatchmodel (T &value)
 
template<typename T >
StorageBatchmodel (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy Vminpu ()
 Default = 0.90. More...
 
StorageBatchVminpu (double value)
 
template<typename T >
StorageBatchVminpu (T &value)
 
template<typename T >
StorageBatchVminpu (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy Vmaxpu ()
 Default = 1.10. More...
 
StorageBatchVmaxpu (double value)
 
template<typename T >
StorageBatchVmaxpu (T &value)
 
template<typename T >
StorageBatchVmaxpu (typename T::iterator it_begin, typename T::iterator it_end)
 
bools Balanced ()
 {Yes | No*} Default is No. More...
 
StorageBatchBalanced (bool value)
 
StorageBatchBalanced (bools &value)
 
bools LimitCurrent ()
 Limits current magnitude to Vminpu value for both 1-phase and 3-phase Storage similar to Generator Model 7. More...
 
StorageBatchLimitCurrent (bool value)
 
StorageBatchLimitCurrent (bools &value)
 
strings yearly ()
 Dispatch shape to use for yearly simulations. More...
 
StorageBatchyearly (dss::obj::LoadShape &value)
 
StorageBatchyearly (const string &value)
 
std::vector< dss::obj::LoadShapeyearly_obj ()
 Dispatch shape to use for yearly simulations. More...
 
StorageBatchyearly_obj (dss::obj::LoadShape &value)
 
strings daily ()
 Dispatch shape to use for daily simulations. More...
 
StorageBatchdaily (dss::obj::LoadShape &value)
 
StorageBatchdaily (const string &value)
 
std::vector< dss::obj::LoadShapedaily_obj ()
 Dispatch shape to use for daily simulations. More...
 
StorageBatchdaily_obj (dss::obj::LoadShape &value)
 
strings duty ()
 Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies. More...
 
StorageBatchduty (dss::obj::LoadShape &value)
 
StorageBatchduty (const string &value)
 
std::vector< dss::obj::LoadShapeduty_obj ()
 Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies. More...
 
StorageBatchduty_obj (dss::obj::LoadShape &value)
 
BatchInt32ArrayProxy DispMode ()
 {DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT". More...
 
StorageBatchDispMode (string &value)
 
StorageBatchDispMode (int32_t value)
 
StorageBatchDispMode (Storage::StorageDispatchMode value)
 
StorageBatchDispMode (strings &value)
 
StorageBatchDispMode (std::vector< int32_t > &value)
 
StorageBatchDispMode (std::vector< Storage::StorageDispatchMode > &value)
 
strings DispMode_str ()
 {DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT". More...
 
StorageBatchDispMode_str (string &value)
 
StorageBatchDispMode_str (strings &value)
 
BatchFloat64ArrayProxy DischargeTrigger ()
 Dispatch trigger value for discharging the Storage. More...
 
StorageBatchDischargeTrigger (double value)
 
template<typename T >
StorageBatchDischargeTrigger (T &value)
 
template<typename T >
StorageBatchDischargeTrigger (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy ChargeTrigger ()
 Dispatch trigger value for charging the Storage. More...
 
StorageBatchChargeTrigger (double value)
 
template<typename T >
StorageBatchChargeTrigger (T &value)
 
template<typename T >
StorageBatchChargeTrigger (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchFloat64ArrayProxy TimeChargeTrig ()
 Time of day in fractional hours (0230 = 2.5) at which Storage element will automatically go into charge state. More...
 
StorageBatchTimeChargeTrig (double value)
 
template<typename T >
StorageBatchTimeChargeTrig (T &value)
 
template<typename T >
StorageBatchTimeChargeTrig (typename T::iterator it_begin, typename T::iterator it_end)
 
BatchInt32ArrayProxy cls ()
 An arbitrary integer number representing the class of Storage element so that Storage values may be segregated by class. More...
 
StorageBatchcls (int32_t value)
 
template<typename T >
StorageBatchcls (T &value)
 
template<typename T >
StorageBatchcls (typename T::iterator it_begin, typename T::iterator it_end)
 
strings DynaDLL ()
 Name of DLL containing user-written dynamics model, which computes the terminal currents for Dynamics-mode simulations, overriding the default model. More...
 
StorageBatchDynaDLL (const string &value)
 
StorageBatchDynaDLL (strings &value)
 
strings DynaData ()
 String (in quotes or parentheses if necessary) that gets passed to the user-written dynamics model Edit function for defining the data required for that model. More...
 
StorageBatchDynaData (const string &value)
 
StorageBatchDynaData (strings &value)
 
strings UserModel ()
 Name of DLL containing user-written model, which computes the terminal currents for both power flow and dynamics, overriding the default model. More...
 
StorageBatchUserModel (const string &value)
 
StorageBatchUserModel (strings &value)
 
strings UserData ()
 String (in quotes or parentheses) that gets passed to user-written model for defining the data required for that model. More...
 
StorageBatchUserData (const string &value)
 
StorageBatchUserData (strings &value)
 
bools debugtrace ()
 {Yes | No } Default is no. More...
 
StorageBatchdebugtrace (bool value)
 
StorageBatchdebugtrace (bools &value)
 
strings spectrum ()
 Name of harmonic voltage or current spectrum for this Storage element. More...
 
StorageBatchspectrum (dss::obj::Spectrum &value)
 
StorageBatchspectrum (const string &value)
 
std::vector< dss::obj::Spectrumspectrum_obj ()
 Name of harmonic voltage or current spectrum for this Storage element. More...
 
StorageBatchspectrum_obj (dss::obj::Spectrum &value)
 
BatchFloat64ArrayProxy basefreq ()
 Base Frequency for ratings. More...
 
StorageBatchbasefreq (double value)
 
template<typename T >
StorageBatchbasefreq (T &value)
 
template<typename T >
StorageBatchbasefreq (typename T::iterator it_begin, typename T::iterator it_end)
 
bools enabled ()
 {Yes|No or True|False} Indicates whether this element is enabled. More...
 
StorageBatchenabled (bool value)
 
StorageBatchenabled (bools &value)
 
StorageBatchlike (const string &value)
 Make like another object, e.g. More...
 
StorageBatchlike (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

◆ Balanced()

bools dss::obj::StorageBatch::Balanced ( )
inline

{Yes | No*} Default is No.

Force balanced current only for 3-phase Storage. Forces zero- and negative-sequence to zero.

DSS property name: Balanced, DSS property index: 36

◆ basefreq()

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

Base Frequency for ratings.

DSS property name: basefreq, DSS property index: 52

◆ bus1()

strings dss::obj::StorageBatch::bus1 ( )
inline

Bus to which the Storage element is connected.

May include specific node specification.

DSS property name: bus1, DSS property index: 2

◆ ChargeTrigger()

BatchFloat64ArrayProxy dss::obj::StorageBatch::ChargeTrigger ( )
inline

Dispatch trigger value for charging the Storage.

If = 0.0 the Storage element state is changed by the State command or StorageController2 object.

If <> 0 the Storage element state is set to CHARGING when this trigger level is GREATER than either the specified Loadshape curve value or the price signal or global Loadlevel value, depending on dispatch mode. See State property.

DSS property name: ChargeTrigger, DSS property index: 43

◆ cls()

BatchInt32ArrayProxy dss::obj::StorageBatch::cls ( )
inline

An arbitrary integer number representing the class of Storage element so that Storage values may be segregated by class.

DSS property name: class, DSS property index: 45

◆ conn()

BatchInt32ArrayProxy dss::obj::StorageBatch::conn ( )
inline

={wye|LN|delta|LL}.

Default is wye.

DSS property name: conn, DSS property index: 4

◆ conn_str()

strings dss::obj::StorageBatch::conn_str ( )
inline

={wye|LN|delta|LL}.

Default is wye.

DSS property name: conn, DSS property index: 4

◆ daily()

strings dss::obj::StorageBatch::daily ( )
inline

Dispatch shape to use for daily simulations.

Must be previously defined as a Loadshape object of 24 hrs, typically. In the default dispatch mode, the Storage element uses this loadshape to trigger State changes.

DSS property name: daily, DSS property index: 39

◆ daily_obj()

std::vector< dss::obj::LoadShape > dss::obj::StorageBatch::daily_obj ( )
inline

Dispatch shape to use for daily simulations.

Must be previously defined as a Loadshape object of 24 hrs, typically. In the default dispatch mode, the Storage element uses this loadshape to trigger State changes.

DSS property name: daily, DSS property index: 39

◆ debugtrace()

bools dss::obj::StorageBatch::debugtrace ( )
inline

{Yes | No } Default is no.

Turn this on to capture the progress of the Storage model for each iteration. Creates a separate file for each Storage element named "Storage_name.CSV".

DSS property name: debugtrace, DSS property index: 50

◆ DischargeTrigger()

BatchFloat64ArrayProxy dss::obj::StorageBatch::DischargeTrigger ( )
inline

Dispatch trigger value for discharging the Storage.

If = 0.0 the Storage element state is changed by the State command or by a StorageController2 object. If <> 0 the Storage element state is set to DISCHARGING when this trigger level is EXCEEDED by either the specified Loadshape curve value or the price signal or global Loadlevel value, depending on dispatch mode. See State property.

DSS property name: DischargeTrigger, DSS property index: 42

◆ DispMode()

BatchInt32ArrayProxy dss::obj::StorageBatch::DispMode ( )
inline

{DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT".

Dispatch mode.

In DEFAULT mode, Storage element state is triggered to discharge or charge at the specified rate by the loadshape curve corresponding to the solution mode.

In FOLLOW mode the kW output of the Storage element follows the active loadshape multiplier until Storage is either exhausted or full. The element discharges for positive values and charges for negative values. The loadshape is based on rated kW.

In EXTERNAL mode, Storage element state is controlled by an external Storagecontroller2. This mode is automatically set if this Storage element is included in the element list of a StorageController element.

For the other two dispatch modes, the Storage element state is controlled by either the global default Loadlevel value or the price level.

DSS property name: DispMode, DSS property index: 41

◆ DispMode_str()

strings dss::obj::StorageBatch::DispMode_str ( )
inline

{DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT".

Dispatch mode.

In DEFAULT mode, Storage element state is triggered to discharge or charge at the specified rate by the loadshape curve corresponding to the solution mode.

In FOLLOW mode the kW output of the Storage element follows the active loadshape multiplier until Storage is either exhausted or full. The element discharges for positive values and charges for negative values. The loadshape is based on rated kW.

In EXTERNAL mode, Storage element state is controlled by an external Storagecontroller2. This mode is automatically set if this Storage element is included in the element list of a StorageController element.

For the other two dispatch modes, the Storage element state is controlled by either the global default Loadlevel value or the price level.

DSS property name: DispMode, DSS property index: 41

◆ duty()

strings dss::obj::StorageBatch::duty ( )
inline

Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.

Must be previously defined as a Loadshape object.

Typically would have time intervals of 1-5 seconds.

Designate the number of points to solve using the Set Number=xxxx command. If there are fewer points in the actual shape, the shape is assumed to repeat.

DSS property name: duty, DSS property index: 40

◆ duty_obj()

std::vector< dss::obj::LoadShape > dss::obj::StorageBatch::duty_obj ( )
inline

Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies.

Must be previously defined as a Loadshape object.

Typically would have time intervals of 1-5 seconds.

Designate the number of points to solve using the Set Number=xxxx command. If there are fewer points in the actual shape, the shape is assumed to repeat.

DSS property name: duty, DSS property index: 40

◆ DynaData()

strings dss::obj::StorageBatch::DynaData ( )
inline

String (in quotes or parentheses if necessary) that gets passed to the user-written dynamics model Edit function for defining the data required for that model.

DSS property name: DynaData, DSS property index: 47

◆ DynaDLL()

strings dss::obj::StorageBatch::DynaDLL ( )
inline

Name of DLL containing user-written dynamics model, which computes the terminal currents for Dynamics-mode simulations, overriding the default model.

Set to "none" to negate previous setting. This DLL has a simpler interface than the UserModel DLL and is only used for Dynamics mode.

DSS property name: DynaDLL, DSS property index: 46

◆ EffCurve()

strings dss::obj::StorageBatch::EffCurve ( )
inline

An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kVA for the inverter.

Power at the AC side of the inverter is discounted by the multiplier obtained from this curve.

DSS property name: EffCurve, DSS property index: 11

◆ EffCurve_obj()

std::vector< dss::obj::XYcurve > dss::obj::StorageBatch::EffCurve_obj ( )
inline

An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kVA for the inverter.

Power at the AC side of the inverter is discounted by the multiplier obtained from this curve.

DSS property name: EffCurve, DSS property index: 11

◆ enabled()

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

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

DSS property name: enabled, DSS property index: 53

◆ kv()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kv ( )
inline

Nominal rated (1.0 per unit) voltage, kV, for Storage element.

For 2- and 3-phase Storage elements, specify phase-phase kV. Otherwise, specify actual kV across each branch of the Storage element.

If wye (star), specify phase-neutral kV.

If delta or phase-phase connected, specify phase-phase kV.

DSS property name: kv, DSS property index: 3

◆ kVA()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kVA ( )
inline

Indicates the inverter nameplate capability (in kVA).

Used as the base for Dynamics mode and Harmonics mode values.

DSS property name: kVA, DSS property index: 8

◆ kvar()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kvar ( )
inline

Get/set the requested kvar value.

Final kvar is subjected to the inverter ratings. Sets inverter to operate in constant kvar mode.

DSS property name: kvar, DSS property index: 6

◆ kvarMax()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kvarMax ( )
inline

Indicates the maximum reactive power GENERATION (un-signed numerical variable in kvar) for the inverter.

Defaults to kVA rating of the inverter.

DSS property name: kvarMax, DSS property index: 13

◆ kvarMaxAbs()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kvarMaxAbs ( )
inline

Indicates the maximum reactive power ABSORPTION (un-signed numerical variable in kvar) for the inverter.

Defaults to kvarMax.

DSS property name: kvarMaxAbs, DSS property index: 14

◆ kW()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kW ( )
inline

Get/set the requested kW value.

Final kW is subjected to the inverter ratings. A positive value denotes power coming OUT of the element, which is the opposite of a Load element. A negative value indicates the Storage element is in Charging state. This value is modified internally depending on the dispatch mode.

DSS property name: kW, DSS property index: 5

◆ kWhrated()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kWhrated ( )
inline

Rated Storage capacity in kWh.

Default is 50.

DSS property name: kWhrated, DSS property index: 21

◆ kWhstored()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kWhstored ( )
inline

Present amount of energy stored, kWh.

Default is same as kWhrated.

DSS property name: kWhstored, DSS property index: 22

◆ kWrated()

BatchFloat64ArrayProxy dss::obj::StorageBatch::kWrated ( )
inline

kW rating of power output.

Base for Loadshapes when DispMode=Follow. Sets kVA property if it has not been specified yet. Defaults to 25.

DSS property name: kWrated, DSS property index: 19

◆ like() [1/2]

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

Make like another object, e.g.

:

New Capacitor.C2 like=c1 ...

DSS property name: like, DSS property index: 54

◆ like() [2/2]

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

Make like another object, e.g.

:

New Capacitor.C2 like=c1 ...

DSS property name: like, DSS property index: 54

◆ LimitCurrent()

bools dss::obj::StorageBatch::LimitCurrent ( )
inline

Limits current magnitude to Vminpu value for both 1-phase and 3-phase Storage similar to Generator Model 7.

For 3-phase, limits the positive-sequence current but not the negative-sequence.

DSS property name: LimitCurrent, DSS property index: 37

◆ model()

BatchInt32ArrayProxy dss::obj::StorageBatch::model ( )
inline

Integer code (default=1) for the model to be used for power output variation with voltage.

Valid values are:

1:Storage element injects/absorbs a CONSTANT power. 2:Storage element is modeled as a CONSTANT IMPEDANCE. 3:Compute load injection from User-written Model.

DSS property name: model, DSS property index: 33

◆ pctCharge()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctCharge ( )
inline

Charging rate (input power) in percentage of rated kW.

Default = 100.

DSS property name: Charge, DSS property index: 27

◆ pctCutin()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctCutin ( )
inline

Cut-in power as a percentage of inverter kVA rating.

It is the minimum DC power necessary to turn the inverter ON when it is OFF. Must be greater than or equal to CutOut. Defaults to 2 for PVSystems and 0 for Storage elements which means that the inverter state will be always ON for this element.

DSS property name: Cutin, DSS property index: 9

◆ pctCutout()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctCutout ( )
inline

Cut-out power as a percentage of inverter kVA rating.

It is the minimum DC power necessary to keep the inverter ON. Must be less than or equal to CutIn. Defaults to 0, which means that, once ON, the inverter state will be always ON for this element.

DSS property name: Cutout, DSS property index: 10

◆ pctDischarge()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctDischarge ( )
inline

Discharge rate (output power) in percentage of rated kW.

Default = 100.

DSS property name: Discharge, DSS property index: 26

◆ pctEffCharge()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctEffCharge ( )
inline

Percentage efficiency for CHARGING the Storage element.

Default = 90.

DSS property name: EffCharge, DSS property index: 28

◆ pctEffDischarge()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctEffDischarge ( )
inline

Percentage efficiency for DISCHARGING the Storage element.

Default = 90.

DSS property name: EffDischarge, DSS property index: 29

◆ pctIdlingkW()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctIdlingkW ( )
inline

Percentage of rated kW consumed by idling losses.

Default = 1.

DSS property name: IdlingkW, DSS property index: 30

◆ pctkWrated()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctkWrated ( )
inline

Upper limit on active power as a percentage of kWrated.

Defaults to 100 (disabled).

DSS property name: kWrated, DSS property index: 20

◆ pctPminkvarMax()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctPminkvarMax ( )
inline

Minimum active power as percentage of kWrated that allows the inverter to produce/absorb reactive power up to its maximum reactive power, which can be either kvarMax or kvarMaxAbs, depending on the current operation quadrant.

Defaults to 0 (disabled).

DSS property name: PminkvarMax, DSS property index: 18

◆ pctPminNoVars()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctPminNoVars ( )
inline

Minimum active power as percentage of kWrated under which there is no vars production/absorption.

Defaults to 0 (disabled).

DSS property name: PminNoVars, DSS property index: 17

◆ pctR()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctR ( )
inline

Equivalent percentage internal resistance, ohms.

Default is 0. Placed in series with internal voltage source for harmonics and dynamics modes. Use a combination of IdlingkW, EffCharge and EffDischarge to account for losses in power flow modes.

DSS property name: R, DSS property index: 31

◆ pctreserve()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctreserve ( )
inline

Percentage of rated kWh Storage capacity to be held in reserve for normal operation.

Default = 20. This is treated as the minimum energy discharge level unless there is an emergency. For emergency operation set this property lower. Cannot be less than zero.

DSS property name: reserve, DSS property index: 24

◆ pctstored()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctstored ( )
inline

Present amount of energy stored, % of rated kWh.

Default is 100.

DSS property name: stored, DSS property index: 23

◆ pctX()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pctX ( )
inline

Equivalent percentage internal reactance, ohms.

Default is 50%. Placed in series with internal voltage source for harmonics and dynamics modes. (Limits fault current to 2 pu.

DSS property name: X, DSS property index: 32

◆ pf()

BatchFloat64ArrayProxy dss::obj::StorageBatch::pf ( )
inline

Get/set the requested PF value.

Final PF is subjected to the inverter ratings. Sets inverter to operate in constant PF mode. Nominally, the power factor for discharging (acting as a generator). Default is 1.0.

Enter negative for leading power factor (when kW and kvar have opposite signs.)

A positive power factor signifies kw and kvar at the same direction.

DSS property name: pf, DSS property index: 7

◆ PFPriority()

bools dss::obj::StorageBatch::PFPriority ( )
inline

If set to true, priority is given to power factor and WattPriority is neglected.

It works only if operating in either constant PF or constant kvar modes. Defaults to False.

DSS property name: PFPriority, DSS property index: 16

◆ phases()

BatchInt32ArrayProxy dss::obj::StorageBatch::phases ( )
inline

Number of Phases, this Storage element.

Power is evenly divided among phases.

DSS property name: phases, DSS property index: 1

◆ spectrum()

strings dss::obj::StorageBatch::spectrum ( )
inline

Name of harmonic voltage or current spectrum for this Storage element.

Current injection is assumed for inverter. Default value is "default", which is defined when the DSS starts.

DSS property name: spectrum, DSS property index: 51

◆ spectrum_obj()

std::vector< dss::obj::Spectrum > dss::obj::StorageBatch::spectrum_obj ( )
inline

Name of harmonic voltage or current spectrum for this Storage element.

Current injection is assumed for inverter. Default value is "default", which is defined when the DSS starts.

DSS property name: spectrum, DSS property index: 51

◆ State()

BatchInt32ArrayProxy dss::obj::StorageBatch::State ( )
inline

{IDLING | CHARGING | DISCHARGING} Get/Set present operational state.

In DISCHARGING mode, the Storage element acts as a generator and the kW property is positive. The element continues discharging at the scheduled output power level until the Storage reaches the reserve value. Then the state reverts to IDLING. In the CHARGING state, the Storage element behaves like a Load and the kW property is negative. The element continues to charge until the max Storage kWh is reached and then switches to IDLING state. In IDLING state, the element draws the idling losses plus the associated inverter losses.

DSS property name: State, DSS property index: 25

◆ State_str()

strings dss::obj::StorageBatch::State_str ( )
inline

{IDLING | CHARGING | DISCHARGING} Get/Set present operational state.

In DISCHARGING mode, the Storage element acts as a generator and the kW property is positive. The element continues discharging at the scheduled output power level until the Storage reaches the reserve value. Then the state reverts to IDLING. In the CHARGING state, the Storage element behaves like a Load and the kW property is negative. The element continues to charge until the max Storage kWh is reached and then switches to IDLING state. In IDLING state, the element draws the idling losses plus the associated inverter losses.

DSS property name: State, DSS property index: 25

◆ TimeChargeTrig()

BatchFloat64ArrayProxy dss::obj::StorageBatch::TimeChargeTrig ( )
inline

Time of day in fractional hours (0230 = 2.5) at which Storage element will automatically go into charge state.

Default is 2.0. Enter a negative time value to disable this feature.

DSS property name: TimeChargeTrig, DSS property index: 44

◆ UserData()

strings dss::obj::StorageBatch::UserData ( )
inline

String (in quotes or parentheses) that gets passed to user-written model for defining the data required for that model.

DSS property name: UserData, DSS property index: 49

◆ UserModel()

strings dss::obj::StorageBatch::UserModel ( )
inline

Name of DLL containing user-written model, which computes the terminal currents for both power flow and dynamics, overriding the default model.

Set to "none" to negate previous setting.

DSS property name: UserModel, DSS property index: 48

◆ VarFollowInverter()

bools dss::obj::StorageBatch::VarFollowInverter ( )
inline

Boolean variable (Yes|No) or (True|False).

Defaults to False, which indicates that the reactive power generation/absorption does not respect the inverter status.When set to True, the reactive power generation/absorption will cease when the inverter status is off, due to DC kW dropping below CutOut. The reactive power generation/absorption will begin again when the DC kW is above CutIn. When set to False, the Storage will generate/absorb reactive power regardless of the status of the inverter.

DSS property name: VarFollowInverter, DSS property index: 12

◆ Vmaxpu()

BatchFloat64ArrayProxy dss::obj::StorageBatch::Vmaxpu ( )
inline

Default = 1.10.

Maximum per unit voltage for which the Model is assumed to apply. Above this value, the load model reverts to a constant impedance model.

DSS property name: Vmaxpu, DSS property index: 35

◆ Vminpu()

BatchFloat64ArrayProxy dss::obj::StorageBatch::Vminpu ( )
inline

Default = 0.90.

Minimum per unit voltage for which the Model is assumed to apply. Below this value, the load model reverts to a constant impedance model.

DSS property name: Vminpu, DSS property index: 34

◆ WattPriority()

bools dss::obj::StorageBatch::WattPriority ( )
inline

{Yes/No*‍/True/False} Set inverter to watt priority instead of the default var priority.

DSS property name: WattPriority, DSS property index: 15

◆ yearly()

strings dss::obj::StorageBatch::yearly ( )
inline

Dispatch shape to use for yearly simulations.

Must be previously defined as a Loadshape object. If this is not specified, the Daily dispatch shape, if any, is repeated during Yearly solution modes. In the default dispatch mode, the Storage element uses this loadshape to trigger State changes.

DSS property name: yearly, DSS property index: 38

◆ yearly_obj()

std::vector< dss::obj::LoadShape > dss::obj::StorageBatch::yearly_obj ( )
inline

Dispatch shape to use for yearly simulations.

Must be previously defined as a Loadshape object. If this is not specified, the Daily dispatch shape, if any, is repeated during Yearly solution modes. In the default dispatch mode, the Storage element uses this loadshape to trigger State changes.

DSS property name: yearly, DSS property index: 38


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