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

Classes

struct  Properties
 

Public Types

enum class  StorageState : int32_t { Charging = -1 , Idling = 0 , Discharging = 1 }
 Storage: State (DSS enumeration for Storage) More...
 
enum class  StorageDispatchMode : int32_t {
  Default = 0 , LoadLevel = 1 , Price = 2 , External = 3 ,
  Follow = 4
}
 Storage: Dispatch Mode (DSS enumeration for Storage) More...
 

Public Member Functions

 Storage (APIUtil *util=nullptr, void *ptr_=nullptr)
 Create wrapper directly by a given object handle/pointer.
 
 Storage (APIUtil *util, int32_t idx)
 Create a wrapper for an element given by the integer index "idx".
 
 Storage (APIUtil *util, char *name)
 Create a wrapper for an element given its name.
 
const char * name ()
 Returns the object's name.
 
Storagebegin_edit ()
 Marks an object for edition. More...
 
Storageend_edit (int32_t num_edits=1)
 Finalizes an object edition. More...
 
int32_t phases ()
 Number of Phases, this Storage element. More...
 
Storagephases (int32_t value)
 
string bus1 ()
 Bus to which the Storage element is connected. More...
 
Storagebus1 (const string &value)
 
Storagebus1 (const char *value)
 
double kv ()
 Nominal rated (1.0 per unit) voltage, kV, for Storage element. More...
 
Storagekv (double value)
 
Connection conn ()
 ={wye|LN|delta|LL}. More...
 
Storageconn (int32_t value)
 
Storageconn (Connection value)
 
Storageconn (const string &value)
 
Storageconn (const char *value)
 
string conn_str ()
 ={wye|LN|delta|LL}. More...
 
Storageconn_str (const string &value)
 ={wye|LN|delta|LL}. More...
 
double kW ()
 Get/set the requested kW value. More...
 
StoragekW (double value)
 
double kvar ()
 Get/set the requested kvar value. More...
 
Storagekvar (double value)
 
double pf ()
 Get/set the requested PF value. More...
 
Storagepf (double value)
 
double kVA ()
 Indicates the inverter nameplate capability (in kVA). More...
 
StoragekVA (double value)
 
double pctCutin ()
 Cut-in power as a percentage of inverter kVA rating. More...
 
StoragepctCutin (double value)
 
double pctCutout ()
 Cut-out power as a percentage of inverter kVA rating. More...
 
StoragepctCutout (double value)
 
string EffCurve ()
 An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kVA for the inverter. More...
 
StorageEffCurve (const string &value)
 
StorageEffCurve (dss::obj::XYcurve &value)
 
dss::obj::XYcurve EffCurve_obj ()
 An XYCurve object, previously defined, that describes the PER UNIT efficiency vs PER UNIT of rated kVA for the inverter. More...
 
StorageEffCurve_obj (dss::obj::XYcurve &value)
 
bool VarFollowInverter ()
 Boolean variable (Yes|No) or (True|False). More...
 
StorageVarFollowInverter (bool value)
 
double kvarMax ()
 Indicates the maximum reactive power GENERATION (un-signed numerical variable in kvar) for the inverter. More...
 
StoragekvarMax (double value)
 
double kvarMaxAbs ()
 Indicates the maximum reactive power ABSORPTION (un-signed numerical variable in kvar) for the inverter. More...
 
StoragekvarMaxAbs (double value)
 
bool WattPriority ()
 {Yes/No*‍/True/False} Set inverter to watt priority instead of the default var priority. More...
 
StorageWattPriority (bool value)
 
bool PFPriority ()
 If set to true, priority is given to power factor and WattPriority is neglected. More...
 
StoragePFPriority (bool value)
 
double pctPminNoVars ()
 Minimum active power as percentage of kWrated under which there is no vars production/absorption. More...
 
StoragepctPminNoVars (double value)
 
double 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...
 
StoragepctPminkvarMax (double value)
 
double kWrated ()
 kW rating of power output. More...
 
StoragekWrated (double value)
 
double pctkWrated ()
 Upper limit on active power as a percentage of kWrated. More...
 
StoragepctkWrated (double value)
 
double kWhrated ()
 Rated Storage capacity in kWh. More...
 
StoragekWhrated (double value)
 
double kWhstored ()
 Present amount of energy stored, kWh. More...
 
StoragekWhstored (double value)
 
double pctstored ()
 Present amount of energy stored, % of rated kWh. More...
 
Storagepctstored (double value)
 
double pctreserve ()
 Percentage of rated kWh Storage capacity to be held in reserve for normal operation. More...
 
Storagepctreserve (double value)
 
StorageState State ()
 {IDLING | CHARGING | DISCHARGING} Get/Set present operational state. More...
 
StorageState (int32_t value)
 
StorageState (StorageState value)
 
StorageState (const string &value)
 
StorageState (const char *value)
 
string State_str ()
 {IDLING | CHARGING | DISCHARGING} Get/Set present operational state. More...
 
StorageState_str (const string &value)
 {IDLING | CHARGING | DISCHARGING} Get/Set present operational state. More...
 
double pctDischarge ()
 Discharge rate (output power) in percentage of rated kW. More...
 
StoragepctDischarge (double value)
 
double pctCharge ()
 Charging rate (input power) in percentage of rated kW. More...
 
StoragepctCharge (double value)
 
double pctEffCharge ()
 Percentage efficiency for CHARGING the Storage element. More...
 
StoragepctEffCharge (double value)
 
double pctEffDischarge ()
 Percentage efficiency for DISCHARGING the Storage element. More...
 
StoragepctEffDischarge (double value)
 
double pctIdlingkW ()
 Percentage of rated kW consumed by idling losses. More...
 
StoragepctIdlingkW (double value)
 
double pctR ()
 Equivalent percentage internal resistance, ohms. More...
 
StoragepctR (double value)
 
double pctX ()
 Equivalent percentage internal reactance, ohms. More...
 
StoragepctX (double value)
 
int32_t model ()
 Integer code (default=1) for the model to be used for power output variation with voltage. More...
 
Storagemodel (int32_t value)
 
double Vminpu ()
 Default = 0.90. More...
 
StorageVminpu (double value)
 
double Vmaxpu ()
 Default = 1.10. More...
 
StorageVmaxpu (double value)
 
bool Balanced ()
 {Yes | No*} Default is No. More...
 
StorageBalanced (bool value)
 
bool LimitCurrent ()
 Limits current magnitude to Vminpu value for both 1-phase and 3-phase Storage similar to Generator Model 7. More...
 
StorageLimitCurrent (bool value)
 
string yearly ()
 Dispatch shape to use for yearly simulations. More...
 
Storageyearly (const string &value)
 
Storageyearly (dss::obj::LoadShape &value)
 
dss::obj::LoadShape yearly_obj ()
 Dispatch shape to use for yearly simulations. More...
 
Storageyearly_obj (dss::obj::LoadShape &value)
 
string daily ()
 Dispatch shape to use for daily simulations. More...
 
Storagedaily (const string &value)
 
Storagedaily (dss::obj::LoadShape &value)
 
dss::obj::LoadShape daily_obj ()
 Dispatch shape to use for daily simulations. More...
 
Storagedaily_obj (dss::obj::LoadShape &value)
 
string duty ()
 Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies. More...
 
Storageduty (const string &value)
 
Storageduty (dss::obj::LoadShape &value)
 
dss::obj::LoadShape duty_obj ()
 Load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies. More...
 
Storageduty_obj (dss::obj::LoadShape &value)
 
StorageDispatchMode DispMode ()
 {DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT". More...
 
StorageDispMode (int32_t value)
 
StorageDispMode (StorageDispatchMode value)
 
StorageDispMode (const string &value)
 
StorageDispMode (const char *value)
 
string DispMode_str ()
 {DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT". More...
 
StorageDispMode_str (const string &value)
 {DEFAULT | FOLLOW | EXTERNAL | LOADLEVEL | PRICE } Default = "DEFAULT". More...
 
double DischargeTrigger ()
 Dispatch trigger value for discharging the Storage. More...
 
StorageDischargeTrigger (double value)
 
double ChargeTrigger ()
 Dispatch trigger value for charging the Storage. More...
 
StorageChargeTrigger (double value)
 
double TimeChargeTrig ()
 Time of day in fractional hours (0230 = 2.5) at which Storage element will automatically go into charge state. More...
 
StorageTimeChargeTrig (double value)
 
int32_t cls ()
 An arbitrary integer number representing the class of Storage element so that Storage values may be segregated by class. More...
 
Storagecls (int32_t value)
 
string DynaDLL ()
 Name of DLL containing user-written dynamics model, which computes the terminal currents for Dynamics-mode simulations, overriding the default model. More...
 
StorageDynaDLL (const string &value)
 
StorageDynaDLL (const char *value)
 
string 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...
 
StorageDynaData (const string &value)
 
StorageDynaData (const char *value)
 
string UserModel ()
 Name of DLL containing user-written model, which computes the terminal currents for both power flow and dynamics, overriding the default model. More...
 
StorageUserModel (const string &value)
 
StorageUserModel (const char *value)
 
string UserData ()
 String (in quotes or parentheses) that gets passed to user-written model for defining the data required for that model. More...
 
StorageUserData (const string &value)
 
StorageUserData (const char *value)
 
bool debugtrace ()
 {Yes | No } Default is no. More...
 
Storagedebugtrace (bool value)
 
string spectrum ()
 Name of harmonic voltage or current spectrum for this Storage element. More...
 
Storagespectrum (const string &value)
 
Storagespectrum (dss::obj::Spectrum &value)
 
dss::obj::Spectrum spectrum_obj ()
 Name of harmonic voltage or current spectrum for this Storage element. More...
 
Storagespectrum_obj (dss::obj::Spectrum &value)
 
double basefreq ()
 Base Frequency for ratings. More...
 
Storagebasefreq (double value)
 
bool enabled ()
 {Yes|No or True|False} Indicates whether this element is enabled. More...
 
Storageenabled (bool value)
 
Storagelike (const string &value)
 Make like another object, e.g. More...
 
Storagelike (const char *value)
 Make like another object, e.g. More...
 
- Public Member Functions inherited from dss::obj::DSSObj
 DSSObj (APIUtil *util=nullptr, void *ptr_=nullptr)
 

Static Public Attributes

static const char dss_cls_name [] = "Storage"
 
static const int32_t dss_cls_idx = 28
 

Additional Inherited Members

- Public Attributes inherited from dss::obj::DSSObj
APIUtilapi_util
 
void * ptr
 
- Protected Member Functions inherited from dss::obj::DSSObj
void check_for_error ()
 
void set_string (int32_t index, const string &value)
 
void set_string (int32_t index, const char *value)
 
string get_prop_string (int32_t index)
 
complex get_complex (int32_t index)
 
void set_complex (int32_t index, complex value)
 
void set_string_array (int32_t index, strings &value)
 
void set_obj (int32_t index, DSSObj &value)
 
template<typename T >
get_obj (int32_t index)
 
template<typename T = VectorXd>
get_array (int32_t index)
 
template<typename T = VectorXd>
void set_array (int32_t index, T value)
 
- Static Protected Member Functions inherited from dss::obj::DSSObj
template<typename T = VectorXd>
static void set_array (void *ptr, int32_t index, T value)
 
- Protected Attributes inherited from dss::obj::DSSObj
friend DSSBatch
 

Member Enumeration Documentation

◆ StorageDispatchMode

enum class dss::obj::Storage::StorageDispatchMode : int32_t
strong

Storage: Dispatch Mode (DSS enumeration for Storage)

Enumerator
Default 

Default.

LoadLevel 

LoadLevel.

Price 

Price.

External 

External.

Follow 

Follow.

◆ StorageState

enum class dss::obj::Storage::StorageState : int32_t
strong

Storage: State (DSS enumeration for Storage)

Enumerator
Charging 

Charging.

Idling 

Idling.

Discharging 

Discharging.

Member Function Documentation

◆ Balanced()

bool dss::obj::Storage::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()

double dss::obj::Storage::basefreq ( )
inline

Base Frequency for ratings.

DSS property name: basefreq, DSS property index: 52

◆ begin_edit()

Storage & dss::obj::Storage::begin_edit ( )
inline

Marks an object for edition.

Until end_edit is called, some actions are postponed.

◆ bus1()

string dss::obj::Storage::bus1 ( )
inline

Bus to which the Storage element is connected.

May include specific node specification.

DSS property name: bus1, DSS property index: 2

◆ ChargeTrigger()

double dss::obj::Storage::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()

int32_t dss::obj::Storage::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()

Connection dss::obj::Storage::conn ( )
inline

={wye|LN|delta|LL}.

Default is wye.

DSS property name: conn, DSS property index: 4

◆ conn_str() [1/2]

string dss::obj::Storage::conn_str ( )
inline

={wye|LN|delta|LL}.

Default is wye.

DSS property name: conn, DSS property index: 4

◆ conn_str() [2/2]

Storage & dss::obj::Storage::conn_str ( const string &  value)
inline

={wye|LN|delta|LL}.

Default is wye.

DSS property name: conn, DSS property index: 4

◆ daily()

string dss::obj::Storage::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()

dss::obj::LoadShape dss::obj::Storage::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()

bool dss::obj::Storage::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()

double dss::obj::Storage::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()

StorageDispatchMode dss::obj::Storage::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() [1/2]

string dss::obj::Storage::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

◆ DispMode_str() [2/2]

Storage & dss::obj::Storage::DispMode_str ( const string &  value)
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()

string dss::obj::Storage::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()

dss::obj::LoadShape dss::obj::Storage::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()

string dss::obj::Storage::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()

string dss::obj::Storage::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()

string dss::obj::Storage::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()

dss::obj::XYcurve dss::obj::Storage::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()

bool dss::obj::Storage::enabled ( )
inline

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

DSS property name: enabled, DSS property index: 53

◆ end_edit()

Storage & dss::obj::Storage::end_edit ( int32_t  num_edits = 1)
inline

Finalizes an object edition.

This will result more compelx side-effects like Yprim and other internal data recalculation, for example.

◆ kv()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::kWhrated ( )
inline

Rated Storage capacity in kWh.

Default is 50.

DSS property name: kWhrated, DSS property index: 21

◆ kWhstored()

double dss::obj::Storage::kWhstored ( )
inline

Present amount of energy stored, kWh.

Default is same as kWhrated.

DSS property name: kWhstored, DSS property index: 22

◆ kWrated()

double dss::obj::Storage::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]

Storage & dss::obj::Storage::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]

Storage & dss::obj::Storage::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()

bool dss::obj::Storage::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()

int32_t dss::obj::Storage::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()

double dss::obj::Storage::pctCharge ( )
inline

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

Default = 100.

DSS property name: Charge, DSS property index: 27

◆ pctCutin()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::pctDischarge ( )
inline

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

Default = 100.

DSS property name: Discharge, DSS property index: 26

◆ pctEffCharge()

double dss::obj::Storage::pctEffCharge ( )
inline

Percentage efficiency for CHARGING the Storage element.

Default = 90.

DSS property name: EffCharge, DSS property index: 28

◆ pctEffDischarge()

double dss::obj::Storage::pctEffDischarge ( )
inline

Percentage efficiency for DISCHARGING the Storage element.

Default = 90.

DSS property name: EffDischarge, DSS property index: 29

◆ pctIdlingkW()

double dss::obj::Storage::pctIdlingkW ( )
inline

Percentage of rated kW consumed by idling losses.

Default = 1.

DSS property name: IdlingkW, DSS property index: 30

◆ pctkWrated()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::pctstored ( )
inline

Present amount of energy stored, % of rated kWh.

Default is 100.

DSS property name: stored, DSS property index: 23

◆ pctX()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

bool dss::obj::Storage::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()

int32_t dss::obj::Storage::phases ( )
inline

Number of Phases, this Storage element.

Power is evenly divided among phases.

DSS property name: phases, DSS property index: 1

◆ spectrum()

string dss::obj::Storage::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()

dss::obj::Spectrum dss::obj::Storage::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()

StorageState dss::obj::Storage::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() [1/2]

string dss::obj::Storage::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

◆ State_str() [2/2]

Storage & dss::obj::Storage::State_str ( const string &  value)
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()

double dss::obj::Storage::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()

string dss::obj::Storage::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()

string dss::obj::Storage::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()

bool dss::obj::Storage::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()

double dss::obj::Storage::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()

double dss::obj::Storage::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()

bool dss::obj::Storage::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()

string dss::obj::Storage::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()

dss::obj::LoadShape dss::obj::Storage::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: