altdss.PDElement

Contents

altdss.PDElement#

Module Contents#

Classes#

PDElementBatch

Non-uniform batch of PD elements. Can contain distinct PD types, while providing common functions

PDElementBatchMixin

PDElementMixin

API#

class altdss.PDElement.PDElementBatch(func, parent, sync_cls_idx=ExtraClassIDs.PDElements, copy_safe=False)#

Bases: altdss.CircuitElement.CircuitElementBatch, altdss.PDElement.PDElementBatchMixin

Non-uniform batch of PD elements. Can contain distinct PD types, while providing common functions

AccumulatedL() altdss.types.Float64Array#

Accumulated failure rate for the branch on downline, for each branch in this batch.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/AccumulatedL.html

ComplexSeqCurrents() altdss.types.ComplexArray#

Complex double array of Sequence Currents for all conductors of all terminals of active circuit element.

Original COM help: https://opendss.epri.com/CplxSeqCurrents.html

ComplexSeqVoltages() altdss.types.ComplexArray#

Complex double array of Sequence Voltage for all terminals of active circuit element.

Original COM help: https://opendss.epri.com/CplxSeqVoltages1.html

Currents() altdss.types.ComplexArray#

Complex array of currents into each conductor of each terminal

Original COM help: https://opendss.epri.com/Currents1.html

CurrentsMagAng() altdss.types.Float64Array#

Currents in magnitude, angle (degrees) format as a array of doubles.

Original COM help: https://opendss.epri.com/CurrentsMagAng.html

EnergyMeter() List[Optional[altdss.DSSObj.DSSObj]]#

Return the energy meter for each of the elements in this batch.

Requires an energy meter with an updated zone.

EnergyMeterName() List[str]#

Return the energy meter name for each of the elements in this batch.

Requires an energy meter with an updated zone.

FromTerminal() altdss.types.Int32Array#

Number of the terminal of each PD element of this batch that is on the “from” side.

Requires an energy meter with an updated zone.

FullName() List[str]#

Returns the full name (including object type) for all objects in this batch

GUID() List[str]#

GUID/UUID for each object. Currently used only in the CIM-related methods.

Original COM help: https://opendss.epri.com/GUID.html

Handle() altdss.types.Int32Array#

Index of each element into the circuit’s element list.

Original COM help: https://opendss.epri.com/Handle.html

HasOCPDevice() altdss.types.BoolArray#

For each element in the batch: returns true if a recloser, relay, or fuse controlling the circuit element.

OCP = Overcurrent Protection

Original COM help: https://opendss.epri.com/HasOCPDevice.html

HasSwitchControl() altdss.types.BoolArray#

For each element in the batch: returns true if the element has a SwtControl attached.

Original COM help: https://opendss.epri.com/HasSwitchControl.html

HasVoltControl() altdss.types.BoolArray#

For each element in the batch: returns true if the element has a CapControl or RegControl attached.

Original COM help: https://opendss.epri.com/HasVoltControl.html

IsIsolated() altdss.types.BoolArray#

For each element in the batch: returns true if the element is isolated. Note that this only fetches the current value. See also the Topology interface.

IsShunt() List[bool]#

Indicates if each of the PD elements in the batch should be treated as a shunt element rather than a series element.

Applies to Capacitor, Reactor, Fault and GICTransformer elements.

Lambda() altdss.types.Float64Array#

Failure rate for each of the branches in the batch. Faults per year including length of line.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/Lambda1.html

Losses() altdss.types.ComplexArray#

For each element in the batch: total losses in the element, in VA (watts, vars).

Original COM help: https://opendss.epri.com/Losses1.html

MaxCurrent(terminal: int) altdss.types.Float64Array#

Returns the maximum current (magnitude) at the specified terminal for each element in this batch. Use -1 as terminal to get the value across all terminals.

property Name: List[str]#
NumConductors() altdss.types.Int32Array#

Number of conductors per terminal for each element in the batch.

Original COM help: https://opendss.epri.com/NumConductors.html

NumControllers() altdss.types.Int32Array#

Number of controllers connected to each device in the batch.

Original COM help: https://opendss.epri.com/NumControls.html

NumCustomers() altdss.types.Int32Array#

Number of customers for each branch in the batch.

Requires an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/Numcustomers.html

NumPhases() altdss.types.Int32Array#

Number of Phases for each element in this batch.

Original COM help: https://opendss.epri.com/NumPhases.html

NumTerminals() altdss.types.Int32Array#

Number of terminals for each Circuit Element in the batch.

Original COM help: https://opendss.epri.com/NumTerminals.html

OCPDevice() List[Union[altdss.DSSObj.DSSObj, None]]#

Returns (as a list of Python objects) the OCP device controlling each element.

OCPDeviceIndex() altdss.types.Int32Array#

For each element in the batch: index into each controller list of the OCP Device controlling each circuit element

Original COM help: https://opendss.epri.com/OCPDevIndex.html

OCPDeviceType() List[dss.enums.OCPDevType]#

For each element in the batch: type of OCP controller device

Original COM help: https://opendss.epri.com/OCPDevType.html

ParentPDElement() List[Optional[altdss.DSSObj.DSSObj]]#

Returns the parent PD element for each element in this batch.

Requires an energy meter with an updated zone.

PhaseLosses() altdss.types.ComplexArray#

Complex array of losses (kVA) by phase

Original COM help: https://opendss.epri.com/PhaseLosses.html

Powers() altdss.types.ComplexArray#

Complex array of powers (kVA) into each conductor of each terminal, of each element in the batch.

Original COM help: https://opendss.epri.com/Powers.html

SectionID() altdss.types.Int32Array#

Integer ID of the feeder section that each PDElement branch in this batch is part of.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/SectionID1.html

SeqCurrents() altdss.types.Float64Array#

Array of symmetrical component currents (magnitudes only) into each 3-phase terminal of each element

Original COM help: https://opendss.epri.com/SeqCurrents.html

SeqPowers() altdss.types.ComplexArray#

Complex array of sequence powers (kW, kvar) into each 3-phase terminal of each element

Original COM help: https://opendss.epri.com/SeqPowers.html

SeqVoltages() altdss.types.Float64Array#

Double array of symmetrical component voltages (magnitudes only) at each 3-phase terminal

Original COM help: https://opendss.epri.com/SeqVoltages1.html

TotalCustomers() altdss.types.Int32Array#

Total number of customers from each branch of this batch to the end of the zone

Requires a circuit with an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/TotalCustomers1.html

TotalKilometers() altdss.types.Float64Array#

Total kilometers of line from this element to the end of the zone. For recloser siting algorithm.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/TotalMiles1.html

TotalMiles() altdss.types.Float64Array#

Total miles of line from this element to the end of the zone. For recloser siting algorithm.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/TotalMiles1.html

TotalPowers() altdss.types.ComplexArray#

Returns an array with the total powers (complex, kVA) at all terminals of the circuit elements in this batch.

The resulting array is equivalent to concatenating the TotalPowers for each element.

Voltages() altdss.types.ComplexArray#

Complex array of voltages at terminals

Original COM help: https://opendss.epri.com/Voltages1.html

VoltagesMagAng() altdss.types.Float64Array#

Voltages at each conductor in magnitude, angle form as array of doubles.

Original COM help: https://opendss.epri.com/VoltagesMagAng.html

__call__()#
__getitem__(idx: int) altdss.DSSObj.DSSObj#

Return an object of the batch by index (0-based).

__init__(func, parent, sync_cls_idx=ExtraClassIDs.PDElements, copy_safe=False)#
__iter__() Iterator[altdss.DSSObj.DSSObj]#
__len__() int#
pctEmergency(allNodes=False) altdss.types.Float64Array#

For each element in the batch, calculate the maximum current across the conductors as a percentage of the emergency ampere rating.

By default, only the nodes from the first terminal is used for the maximum current, matching the behavior of the “export capacity” command. Pass allNodes=True to force the analysis to all terminals.

See also: https://sourceforge.net/p/electricdss/discussion/beginners/thread/da5b93ca/

pctNormal(allNodes=False) altdss.types.Float64Array#

For each element in the batch, calculate the maximum current across the conductors as a percentage of the normal ampere rating.

By default, only the nodes from the first terminal is used for the maximum current, matching the behavior of the “export capacity” command. Pass allNodes=True to force the analysis to all terminals.

See also: https://sourceforge.net/p/electricdss/discussion/beginners/thread/da5b93ca/

to_json(options: Union[int, dss.enums.DSSJSONFlags] = 0)#

Returns the data (as a list) of the elements in a batch as a JSON-encoded string.

The options parameter contains bit-flags to toggle specific features. See Obj_ToJSON (C-API) for more, or DSSObj.to_json in Python.

Additionally, the ExcludeDisabled flag can be used to excluded disabled elements from the output.

to_list()#
class altdss.PDElement.PDElementBatchMixin#
AccumulatedL() altdss.types.Float64Array#

Accumulated failure rate for the branch on downline, for each branch in this batch.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/AccumulatedL.html

EnergyMeter() List[Optional[altdss.DSSObj.DSSObj]]#

Return the energy meter for each of the elements in this batch.

Requires an energy meter with an updated zone.

EnergyMeterName() List[str]#

Return the energy meter name for each of the elements in this batch.

Requires an energy meter with an updated zone.

FromTerminal() altdss.types.Int32Array#

Number of the terminal of each PD element of this batch that is on the “from” side.

Requires an energy meter with an updated zone.

IsShunt() List[bool]#

Indicates if each of the PD elements in the batch should be treated as a shunt element rather than a series element.

Applies to Capacitor, Reactor, Fault and GICTransformer elements.

Lambda() altdss.types.Float64Array#

Failure rate for each of the branches in the batch. Faults per year including length of line.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/Lambda1.html

NumCustomers() altdss.types.Int32Array#

Number of customers for each branch in the batch.

Requires an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/Numcustomers.html

ParentPDElement() List[Optional[altdss.DSSObj.DSSObj]]#

Returns the parent PD element for each element in this batch.

Requires an energy meter with an updated zone.

SectionID() altdss.types.Int32Array#

Integer ID of the feeder section that each PDElement branch in this batch is part of.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/SectionID1.html

TotalCustomers() altdss.types.Int32Array#

Total number of customers from each branch of this batch to the end of the zone

Requires a circuit with an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/TotalCustomers1.html

TotalKilometers() altdss.types.Float64Array#

Total kilometers of line from this element to the end of the zone. For recloser siting algorithm.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/TotalMiles1.html

TotalMiles() altdss.types.Float64Array#

Total miles of line from this element to the end of the zone. For recloser siting algorithm.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/TotalMiles1.html

pctEmergency(allNodes=False) altdss.types.Float64Array#

For each element in the batch, calculate the maximum current across the conductors as a percentage of the emergency ampere rating.

By default, only the nodes from the first terminal is used for the maximum current, matching the behavior of the “export capacity” command. Pass allNodes=True to force the analysis to all terminals.

See also: https://sourceforge.net/p/electricdss/discussion/beginners/thread/da5b93ca/

pctNormal(allNodes=False) altdss.types.Float64Array#

For each element in the batch, calculate the maximum current across the conductors as a percentage of the normal ampere rating.

By default, only the nodes from the first terminal is used for the maximum current, matching the behavior of the “export capacity” command. Pass allNodes=True to force the analysis to all terminals.

See also: https://sourceforge.net/p/electricdss/discussion/beginners/thread/da5b93ca/

class altdss.PDElement.PDElementMixin#
AccumulatedL() float#

Accumulated failure rate for this branch on downline.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/AccumulatedL.html

EnergyMeter() Optional[altdss.DSSObj.DSSObj]#

Energy Meter this element is assigned to.

Requires an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/EnergyMeter.html

EnergyMeterName() str#

Name of the Energy Meter this element is assigned to.

Requires an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/EnergyMeter.html

FromTerminal() int#

Number of the terminal of this PD element that is on the “from” side.

Requires an energy meter with an updated zone.

IsShunt() bool#

Indicates if this PD element should be treated as a shunt element rather than a series element.

Applies to Capacitor, Reactor, Fault and GICTransformer elements.

Lambda() float#

Failure rate for this branch. Faults per year including length of line.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/Lambda1.html

NumCustomers() int#

Number of customers, this branch.

Requires an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/Numcustomers.html

ParentPDElement() Optional[altdss.DSSObj.DSSObj]#

Parent PD element of this element, if any.

Requires an energy meter with an updated zone.

SectionID() int#

Integer ID of the feeder section that this PDElement branch is part of.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/SectionID1.html

TotalCustomers() int#

Total number of customers from this branch to the end of the zone

Requires a circuit with an energy meter with an updated zone.

Original COM help: https://opendss.epri.com/TotalCustomers1.html

TotalKilometers() float#

Total kilometers of line from this element to the end of the zone. For recloser siting algorithm.

Requires a previous call to RelCalc command

TotalMiles() float#

Total miles of line from this element to the end of the zone. For recloser siting algorithm.

Requires a previous call to RelCalc command

Original COM help: https://opendss.epri.com/TotalMiles1.html

pctEmergency(allNodes=False) float#

Maximum current across the conductors as a percentage of the emergency ampere rating.

By default, only the nodes from the first terminal is used for the maximum current, matching the behavior of the “export capacity” command. Pass allNodes=True to force the analysis to all terminals.

See also: https://sourceforge.net/p/electricdss/discussion/beginners/thread/da5b93ca/

pctNormal(allNodes=False) float#

Maximum current across the conductors as a percentage of the normal ampere rating.

By default, only the nodes from the first terminal is used for the maximum current, matching the behavior of the “export capacity” command. Pass allNodes=True to force the analysis to all terminals.

See also: https://sourceforge.net/p/electricdss/discussion/beginners/thread/da5b93ca/