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

Public Member Functions

 IPVSystems (dss::APIUtil *util)
 
strings AllNames ()
 Array of strings with all PVSystem names in the circuit.
 
int32_t Count ()
 Number of PVSystem objects in active circuit.
 
int32_t First ()
 Sets the first PVSystem active. More...
 
string Name ()
 Get the name of the current active PVSystem.
 
IPVSystemsName (const char *value)
 Sets the active PVSystem by Name.
 
IPVSystemsName (const string &value)
 
int32_t Next ()
 Sets the next PVSystem active. More...
 
int32_t idx ()
 Get active PVSystem by index; index is 1-based: 1..count.
 
void idx (int32_t value)
 Get active PVSystem by index; index is 1-based: 1..count.
 
double Irradiance ()
 Get/set the present value of the Irradiance property in kW/m²
 
IPVSystemsIrradiance (double value)
 
double PF ()
 Get/set the power factor for the active PVSystem.
 
IPVSystemsPF (double value)
 
strings RegisterNames ()
 Array of PVSYSTEM energy meter register names.
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
VectorT RegisterValues ()
 Array of doubles containing values in PVSystem registers.
 
double kVArated ()
 Get/set Rated kVA of the PVSystem.
 
IPVSystemskVArated (double value)
 
double kW ()
 get kW output
 
double kvar ()
 Get/set kvar output value.
 
IPVSystemskvar (double value)
 
string daily ()
 Name of the loadshape for a daily PVSystem profile.
 
IPVSystemsdaily (const char *value)
 
IPVSystemsdaily (const string &value)
 
string duty ()
 Name of the load shape to use for duty cycle dispatch simulations such as for solar ramp rate studies. More...
 
IPVSystemsduty (const char *value)
 
IPVSystemsduty (const string &value)
 
string yearly ()
 Dispatch shape to use for yearly simulations. More...
 
IPVSystemsyearly (const char *value)
 
IPVSystemsyearly (const string &value)
 
string Tdaily ()
 Temperature shape to use for daily simulations. More...
 
IPVSystemsTdaily (const char *value)
 
IPVSystemsTdaily (const string &value)
 
string Tduty ()
 Temperature shape to use for duty cycle dispatch simulations such as for solar ramp rate studies. More...
 
IPVSystemsTduty (const char *value)
 
IPVSystemsTduty (const string &value)
 
string Tyearly ()
 Temperature shape to use for yearly simulations. More...
 
IPVSystemsTyearly (const char *value)
 
IPVSystemsTyearly (const string &value)
 
double IrradianceNow ()
 Returns the current irradiance value for the active PVSystem. More...
 
double Pmpp ()
 Gets/sets the rated max power of the PV array for 1.0 kW/sq-m irradiance and a user-selected array temperature of the active PVSystem.
 
IPVSystemsPmpp (double value)
 
string Sensor ()
 Name of the sensor monitoring this element.
 
- Public Member Functions inherited from dss::ContextState
 ContextState (APIUtil *util)
 

Additional Inherited Members

- Public Attributes inherited from dss::ContextState
void * ctx
 Pointer to the DSSContext for easy access.
 
APIUtilapi_util
 API utility functions.
 

Member Function Documentation

◆ duty()

string dss::classic::IPVSystems::duty ( )
inline

Name of the 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.

◆ First()

int32_t dss::classic::IPVSystems::First ( )
inline

Sets the first PVSystem active.

Returns 0 if no more.

◆ IrradianceNow()

double dss::classic::IPVSystems::IrradianceNow ( )
inline

Returns the current irradiance value for the active PVSystem.

Use it to know what's the current irradiance value for the PV during a simulation.

◆ Next()

int32_t dss::classic::IPVSystems::Next ( )
inline

Sets the next PVSystem active.

Returns 0 if no more.

◆ Tdaily()

string dss::classic::IPVSystems::Tdaily ( )
inline

Temperature shape to use for daily simulations.

Must be previously defined as a TShape object of 24 hrs, typically. The PVSystem element uses this TShape to determine the Pmpp from the Pmpp vs T curve. Units must agree with the Pmpp vs T curve.

◆ Tduty()

string dss::classic::IPVSystems::Tduty ( )
inline

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

Must be previously defined as a TShape 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. The PVSystem model uses this TShape to determine the Pmpp from the Pmpp vs T curve. Units must agree with the Pmpp vs T curve.

◆ Tyearly()

string dss::classic::IPVSystems::Tyearly ( )
inline

Temperature shape to use for yearly simulations.

Must be previously defined as a TShape object. If this is not specified, the Daily dispatch shape, if any, is repeated during Yearly solution modes. The PVSystem element uses this TShape to determine the Pmpp from the Pmpp vs T curve. Units must agree with the Pmpp vs T curve.

◆ yearly()

string dss::classic::IPVSystems::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 PVSystem element uses this loadshape to trigger State changes.


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