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

Public Member Functions

 IMeters (dss::APIUtil *util)
 
strings ZonePCE ()
 Returns the list of all PCE within the area covered by the energy meter.
 
strings AllNames ()
 Array of strings with all Meter names in the circuit.
 
int32_t Count ()
 Number of Meter objects in active circuit.
 
int32_t First ()
 Sets the first Meter active. More...
 
string Name ()
 Get the name of the current active Meter.
 
IMetersName (const char *value)
 Sets the active Meter by Name.
 
IMetersName (const string &value)
 
int32_t Next ()
 Sets the next Meter active. More...
 
int32_t idx ()
 Get active Meter by index; index is 1-based: 1..count.
 
void idx (int32_t value)
 Get active Meter by index; index is 1-based: 1..count.
 
void CloseAllDIFiles ()
 
void DoReliabilityCalc (bool AssumeRestoration)
 
void OpenAllDIFiles ()
 
void Reset ()
 
void ResetAll ()
 
void Sample ()
 
void SampleAll ()
 
void Save ()
 
void SaveAll ()
 
void SetActiveSection (int32_t SectIdx)
 
strings AllBranchesInZone ()
 Wide string list of all branches in zone of the active energymeter object.
 
strings AllEndElements ()
 Array of names of all zone end elements.
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
VectorT AllocFactors ()
 Array of doubles: set the phase allocation factors for the active meter.
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
IMetersAllocFactors (const VectorT &value)
 
double AvgRepairTime ()
 Average Repair time in this section of the meter zone.
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
VectorT CalcCurrent ()
 Set the magnitude of the real part of the Calculated Current (normally determined by solution) for the Meter to force some behavior on Load Allocation.
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
IMetersCalcCurrent (const VectorT &value)
 
int32_t CountBranches ()
 Number of branches in Active energymeter zone. More...
 
int32_t CountEndElements ()
 Number of zone end elements in the active meter zone.
 
double CustInterrupts ()
 Total customer interruptions for this Meter zone based on reliability calcs.
 
bool DIFilesAreOpen ()
 Global Flag in the DSS to indicate if Demand Interval (DI) files have been properly opened.
 
double FaultRateXRepairHrs ()
 Sum of Fault Rate time Repair Hrs in this section of the meter zone.
 
string MeteredElement ()
 Set Name of metered element.
 
IMetersMeteredElement (const char *value)
 
IMetersMeteredElement (const string &value)
 
int32_t MeteredTerminal ()
 set Number of Metered Terminal
 
IMetersMeteredTerminal (int32_t value)
 
int32_t NumSectionBranches ()
 Number of branches (lines) in this section.
 
int32_t NumSectionCustomers ()
 Number of Customers in the active section.
 
int32_t NumSections ()
 Number of feeder sections in this meter's zone.
 
int32_t OCPDeviceType ()
 Type of OCP device. More...
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
VectorT Peakcurrent ()
 Array of doubles to set values of Peak Current property.
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
IMetersPeakcurrent (const VectorT &value)
 
strings RegisterNames ()
 Array of strings containing the names of the registers.
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
VectorT RegisterValues ()
 Array of all the values contained in the Meter registers for the active Meter.
 
double SAIDI ()
 SAIDI for this meter's zone. More...
 
double SAIFI ()
 Returns SAIFI for this meter's Zone. More...
 
double SAIFIKW ()
 SAIFI based on kW rather than number of customers. More...
 
int32_t SectSeqIdx ()
 SequenceIndex of the branch at the head of this section.
 
int32_t SectTotalCust ()
 Total Customers downline from this section.
 
int32_t SeqListSize ()
 Size of Sequence List.
 
int32_t SequenceIndex ()
 Get/set Index into Meter's SequenceList that contains branch pointers in lexical order. More...
 
IMetersSequenceIndex (int32_t value)
 
double SumBranchFltRates ()
 Sum of the branch fault rates in this section of the meter's zone.
 
int32_t TotalCustomers ()
 Total Number of customers in this zone (downline from the EnergyMeter)
 
template<typename VectorT = Eigen::Matrix<double, Eigen::Dynamic, 1>>
VectorT Totals ()
 Totals of all registers of all meters.
 
- 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

◆ CountBranches()

int32_t dss::classic::IMeters::CountBranches ( )
inline

Number of branches in Active energymeter zone.

(Same as sequencelist size)

◆ First()

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

Sets the first Meter active.

Returns 0 if no more.

◆ Next()

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

Sets the next Meter active.

Returns 0 if no more.

◆ OCPDeviceType()

int32_t dss::classic::IMeters::OCPDeviceType ( )
inline

Type of OCP device.

1=Fuse; 2=Recloser; 3=Relay

◆ SAIDI()

double dss::classic::IMeters::SAIDI ( )
inline

SAIDI for this meter's zone.

Execute DoReliabilityCalc first.

◆ SAIFI()

double dss::classic::IMeters::SAIFI ( )
inline

Returns SAIFI for this meter's Zone.

Execute Reliability Calc method first.

◆ SAIFIKW()

double dss::classic::IMeters::SAIFIKW ( )
inline

SAIFI based on kW rather than number of customers.

Get after reliability calcs.

◆ SequenceIndex()

int32_t dss::classic::IMeters::SequenceIndex ( )
inline

Get/set Index into Meter's SequenceList that contains branch pointers in lexical order.

Earlier index guaranteed to be upline from later index. Sets PDelement active.


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