Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Component catalog

These are the components registered with the web app. Each is a HELICS federate that consumes (subscribes) and produces (publishes) typed data. The name is what you see in the designer palette; the folder is where its code lives in oedisi-components.

For detailed information on the data types components exchange (like VoltagesMagnitude, PowersReal, Topology), see the data types reference.

Jump to a component below for details including configuration options, data types, and links to source code.

All components

ComponentFolderSubscribesPublishes
DOPFPSOComponentdopf_federate41
DSSEGNWLSComponentdsse_federate42
EVCSComponentevcs_federate51
FeederLocalFeeder310
LinDistFlowComponentlindistflow_federate32
LocalFeederLocalFeeder310
MeasurementComponentmeasuring_federate11
NlpDopfComponent./54
NlpDsseComponentnlpdsse32
OMOOComponentomoo_federate73
PnnlDopfAdmmComponentadmm_federate710
PnnlDsseEkfComponentekf_federate62
PnnlHubControlComponenthub_control51
PnnlHubPowerComponenthub_power1010
PnnlHubVoltageComponenthub_voltage55
Recorderrecorder10
StateEstimatorComponentwls_federate42

DOPFPSOComponent

Folder: dopf_federate

Distribution Optimal Power Flow (DOPF) component using Particle Swarm Optimization (PSO) to compute optimal power flow solutions. Determines optimal generation setpoints and control actions to minimize cost while satisfying power flow constraints and voltage limits in distribution networks.

Configuration (static_inputs)

PortType
name
pv_buses
pv_capacity_kw
algorithm_parameters

Subscribes (dynamic_inputs)

PortTypeOptional
powers_realPowersReal
powers_imagPowersImaginary
topologyTopology
voltages_magnitudeVoltagesMagnitude

Publishes (dynamic_outputs)

PortType
change_commandsCommandList

DSSEGNWLSComponent

Folder: dsse_federate

Distribution System State Estimation (DSSE) component using Gauss-Newton Weighted Least Squares (GNWLS) algorithm. Estimates voltage magnitudes and angles from noisy measurements in distribution networks, providing essential state information for monitoring and control applications.

Configuration (static_inputs)

PortType
name
algorithm_parameters

Subscribes (dynamic_inputs)

PortTypeOptional
voltages_magnitudeVoltagesMagnitude
powers_realPowersReal
powers_imaginaryPowersImaginary
topologyTopology

Publishes (dynamic_outputs)

PortType
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle

EVCSComponent

Folder: evcs_federate

Electric Vehicle Charging Station (EVCS) component that simulates and optimizes EV charging operations. Uses Particle Swarm Optimization (PSO) to determine optimal charging schedules that balance user requirements (desired state of charge, departure times) with grid constraints, minimizing impact on the distribution system.

Configuration (static_inputs)

PortType
evcs_bus
evcs_bus_assignment
num_evs_per_station
max_charging_rate
battery_capacity
charging_efficiency
desired_soc
soc_mean
soc_std
soc_lower
soc_upper
arrival_mean
arrival_std
arrival_lower
arrival_upper
departure_shift
departure_mu
departure_sigma
total_hours
control_interval
random_seed

Subscribes (dynamic_inputs)

PortTypeOptional
powers_real_inPowersReal
powers_imag_inPowersImaginary
topologyTopology
voltages_realVoltagesReal
voltages_imagVoltagesImaginary

Publishes (dynamic_outputs)

PortType
change_commandsCommandList

Feeder

Folder: LocalFeeder

Distribution feeder simulator using OpenDSS for power flow analysis. Simulates distribution system behavior using SMART-DS datasets, providing voltage, power, and topology information. Accepts control commands and inverter setpoints from optimization and control components to model the impact of distributed energy resources on the grid.

Configuration (static_inputs)

PortType
feeder_file
start_date
run_freq_sec
number_of_timesteps
start_time_index

Subscribes (dynamic_inputs)

PortTypeOptional
pv_setyes
change_commandsCommandListyes
inv_controlInverterControlListyes

Publishes (dynamic_outputs)

PortType
voltages_magnitudeVoltagesMagnitude
voltages_realVoltagesReal
voltages_imagVoltagesImaginary
powers_realPowersReal
powers_imagPowersImaginary
topologyTopology
injectionsInjection
load_y_matrix
available_powerPowersReal
pv_forecast

LinDistFlowComponent

Folder: lindistflow_federate

Linearized Distribution Flow (LinDistFlow) optimization component for three-phase unbalanced distribution systems. Uses convex optimization (CVXPY) with a linearized power flow model to efficiently compute optimal generation and control setpoints for distributed energy resources while enforcing voltage and power constraints.

Configuration (static_inputs)

PortType
name
deltat
control_type
pf_flag

Subscribes (dynamic_inputs)

PortTypeOptional
voltages_magnitudeVoltagesMagnitude
topologyTopology
injectionsInjections

Publishes (dynamic_outputs)

PortType
change_commandsControlList
opf_voltages_magnitudeVoltagesMagnitude

LocalFeeder

Folder: LocalFeeder

Distribution feeder simulator using OpenDSS for power flow analysis. Simulates distribution system behavior using SMART-DS datasets, providing voltage, power, and topology information. Accepts control commands and inverter setpoints from optimization and control components to model the impact of distributed energy resources on the grid.

Configuration (static_inputs)

PortType
feeder_file
start_date
run_freq_sec
number_of_timesteps
start_time_index

Subscribes (dynamic_inputs)

PortTypeOptional
pv_setyes
change_commandsCommandListyes
inv_controlInverterControlListyes

Publishes (dynamic_outputs)

PortType
voltages_magnitudeVoltagesMagnitude
voltages_realVoltagesReal
voltages_imagVoltagesImaginary
powers_realPowersReal
powers_imagPowersImaginary
topologyTopology
injectionsInjection
load_y_matrix
available_powerPowersReal
pv_forecast

MeasurementComponent

Folder: measuring_federate

Sensor and measurement simulation component that adds realistic noise to perfect measurements. Supports configurable additive (Gaussian) and multiplicative (percentage-based) noise injection with seeded random generation for reproducibility. Essential for testing state estimation algorithms and understanding measurement uncertainty impacts.

Configuration (static_inputs)

PortType
additive_noise_stddev
multiplicative_noise_stddev
measurement_file

Subscribes (dynamic_inputs)

PortTypeOptional
subscriptionMeasurementArray

Publishes (dynamic_outputs)

PortType
publicationMeasurementArray

NlpDopfComponent

Folder: ./

Nonlinear Programming (NLP) based Distribution Optimal Power Flow component. Solves the AC optimal power flow problem using nonlinear optimization techniques to compute optimal setpoints for distributed generation, considering full AC power flow equations for higher accuracy compared to linearized methods.

Subscribes (dynamic_inputs)

PortTypeOptional
powers_realPowersReal
powers_imaginaryPowersImaginary
topologyTopology
injectionsInjection
available_powerMeasurementArray

Publishes (dynamic_outputs)

PortType
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle
powers_realPowersReal
powers_imaginaryPowersImaginary

NlpDsseComponent

Folder: nlpdsse

Nonlinear Programming (NLP) based Distribution System State Estimation component. Estimates voltage magnitudes and angles from measurements using nonlinear optimization, accounting for the full nonlinear relationship between measurements and system states for improved estimation accuracy in distribution networks.

Configuration (static_inputs)

PortType
start_date
run_freq_sec
start_time_index
number_of_timesteps

Subscribes (dynamic_inputs)

PortTypeOptional
powers_realPowersReal
powers_imaginaryPowersImaginary
topologyTopology

Publishes (dynamic_outputs)

PortType
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle

OMOOComponent

Folder: omoo_federate

Online Model-based Optimal Operation component for voltage regulation in distribution systems with high photovoltaic (PV) penetration. Implements a primal-dual optimization approach using linearized power flow sensitivity matrices to compute optimal PV curtailment and reactive power setpoints for real-time voltage control.

Subscribes (dynamic_inputs)

PortTypeOptional
voltages_realVoltagesReal
voltages_imagVoltagesImaginary
powers_realPowersReal
powers_imagPowersImaginary
topologyTopology
injectionsInjections
available_powerMeasurementArray

Publishes (dynamic_outputs)

PortType
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle
P_setCommandList

PnnlDopfAdmmComponent

Folder: admm_federate

Distribution Optimal Power Flow component using the Alternating Direction Method of Multipliers (ADMM) algorithm. Provides a distributed optimization approach suitable for large-scale distribution networks, decomposing the OPF problem into smaller subproblems that can be solved in parallel for improved computational efficiency.

Configuration (static_inputs)

PortType
name
deltat
t_steps
max_itr
control_type
switches
source_bus
source_line
relaxed
rho_vup
rho_sup
rho_vdn
rho_sdn
vup_tol
sdn_tol

Subscribes (dynamic_inputs)

PortTypeOptional
voltages_realVoltagesReal
voltages_imagVoltagesImaginary
topologyTopology
injectionsInjections
sub_pPowersReal
sub_qPowersImaginary
sub_vVoltagesMagnitude

Publishes (dynamic_outputs)

PortType
estimated_powerPowersReal
solver_statsMeasurementArray
power_magPowersMagnitude
power_anglePowersAngle
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle
pub_pPowersReal
pub_qPowersImaginary
pub_vVoltagesMagnitude
pub_cCommandList

PnnlDsseEkfComponent

Folder: ekf_federate

Distribution System State Estimation using Extended Kalman Filter (EKF). Provides dynamic state estimation by recursively updating voltage and power estimates as new measurements arrive, accounting for system dynamics and measurement noise. Particularly useful for real-time applications and time-varying system conditions.

Subscribes (dynamic_inputs)

PortTypeOptional
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle
power_realPowersReal
power_imagPowersImaginary
injectionsInjections
topologyTopology

Publishes (dynamic_outputs)

PortType
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle

PnnlHubControlComponent

Folder: hub_control

Control signal aggregation and distribution hub for coordinating multiple control sources. Collects control commands from various optimization and control components, merges or arbitrates between them, and distributes the final control setpoints to the appropriate devices in the distribution system.

Subscribes (dynamic_inputs)

PortTypeOptional
sub_c0CommandListyes
sub_c1CommandListyes
sub_c2CommandListyes
sub_c3CommandListyes
sub_c4CommandListyes

Publishes (dynamic_outputs)

PortType
pub_cCommandList

PnnlHubPowerComponent

Folder: hub_power

Power measurement aggregation and distribution hub for coordinating multiple power flow sources. Collects real and reactive power measurements from multiple sources, aggregates them for use by state estimation or optimization components, and distributes updated power values to subscribing federates in the co-simulation.

Configuration (static_inputs)

PortType
max_itr

Subscribes (dynamic_inputs)

PortTypeOptional
sub_p0PowersRealyes
sub_p1PowersRealyes
sub_p2PowersRealyes
sub_p3PowersRealyes
sub_p4PowersRealyes
sub_q0PowersImaginaryyes
sub_q1PowersImaginaryyes
sub_q2PowersImaginaryyes
sub_q3PowersImaginaryyes
sub_q4PowersImaginaryyes

Publishes (dynamic_outputs)

PnnlHubVoltageComponent

Folder: hub_voltage

Voltage measurement aggregation and distribution hub for coordinating multiple voltage sources. Collects voltage magnitude measurements from various sources (feeders, state estimators), aggregates them for system-wide visibility, and distributes voltage information to optimization and control components for decision-making.

Configuration (static_inputs)

PortType
max_itr

Subscribes (dynamic_inputs)

PortTypeOptional
sub_v0VoltagesMagnitudeyes
sub_v1VoltagesMagnitudeyes
sub_v2VoltagesMagnitudeyes
sub_v3VoltagesMagnitudeyes
sub_v4VoltagesMagnitudeyes

Publishes (dynamic_outputs)

Recorder

Folder: recorder

Data recording component for capturing time-series outputs from HELICS co-simulations. Subscribes to measurement publications and saves data to disk in efficient columnar formats (Apache Arrow/Feather) and CSV. Provides low-overhead recording with automatic data aggregation for post-simulation analysis and visualization.

Configuration (static_inputs)

PortType
filename

Subscribes (dynamic_inputs)

PortTypeOptional
subscriptionMeasurementArray

StateEstimatorComponent

Folder: wls_federate

Weighted Least Squares (WLS) state estimation component for power distribution systems. Estimates voltage magnitudes and angles from noisy measurements with known accuracy (weights) using iterative least-squares optimization. Provides essential system observability for monitoring, bad data detection, and control applications.

Subscribes (dynamic_inputs)

PortTypeOptional
voltages_magnitudeVoltagesMagnitude
powers_realPowersReal
powers_imaginaryPowersImaginary
topologyTopology

Publishes (dynamic_outputs)

PortType
voltage_magVoltagesMagnitude
voltage_angleVoltagesAngle