Abstract
Open-RPS v1.0 (radial power solver) is an open-source software platform for three-phase power flow analysis in balanced and unbalanced radial distribution systems. The platform implements the backward/forward sweep (BFS) method in Python through an object-oriented, modular architecture designed for transparency, auditability, and reproducibility. Numerical validation is performed against the IEEE 4-bus, 13-bus, and 123-bus test feeders. The IEEE 123-bus case resolves 132 nodes, including four voltage regulators and four capacitor banks; the complete voltage-magnitude comparison covers 179 non-zero phase values, with a mean absolute error of 0.4857% and a maximum error of 1.4500%. The IEEE 4-bus and 13-bus cases are additionally validated against GridLAB-D, confirming close agreement with an independent reference implementation. These results support Open-RPS as a transparent, license-free, and reproducible platform for teaching, algorithmic validation, and research on radial distribution feeders within the documented validation scope.
1. Introduction
Power flow analysis in electrical distribution networks is a fundamental task for evaluating voltage profiles, technical losses, operating conditions, and the effects associated with incorporating distributed energy resources [1]. Unlike transmission systems, distribution networks present predominantly radial topologies, unbalanced single- and three-phase loads, high ratios, distribution transformers, voltage regulators, shunt capacitor banks, and laterals with varying phase configurations. These characteristics reduce the efficiency of classical methods formulated for meshed networks and justify the use of specialized algorithms. Among these methods, the backward/forward sweep (BFS) has consolidated itself as one of the most widely used alternatives due to its computational efficiency and suitability for the analysis of radial feeders [1,2,3].
As Kersting explains, conventional iterative techniques commonly used in transmission network power-flow studies exhibit poor convergence characteristics when applied to radial distribution feeders, which is why an iterative technique specifically designed for radial systems is required [1]. This technique, referred to as the ladder iterative technique, is derived from a modification of the “ladder” network theory of linear systems, adapted to account for the nonlinear behavior introduced by constant-power (kW, kvar) loads [1]. The method exploits the radial structure of the feeder by performing two alternating sweeps instead of solving the complete system of nonlinear equations simultaneously, as required by Newton–Raphson-based formulations. In the backward sweep, starting from the end nodes of the feeder and moving toward the source, the load and line currents are computed at each node by applying Kirchhoff’s current law (KCL). In the forward sweep, starting from the source node and moving toward the end nodes, the line currents obtained in the previous stage are used to update the node voltages by applying Kirchhoff’s voltage law (KVL), accounting for the voltage drop across each branch impedance [1]. These two sweeps are repeated iteratively until the voltage mismatch at every node and phase, relative to the nominal line-to-neutral voltage, falls below a specified convergence tolerance [1]. This structure allows the BFS method to naturally accommodate the unbalanced, three-phase nature of distribution feeders, since each sweep can be formulated directly in terms of phase impedance and current matrices, without requiring the admittance matrix inversion typical of conventional load-flow formulations.
1.1. State of the Art of Computational Tools
In the literature, various software platforms exist for the analysis of electric power systems. MATPOWER [4] is an open-source tool oriented towards steady-state power flow, optimal power flow (OPF), and operational analysis in transmission systems; its main formulation employs the Newton–Raphson method for large-scale networks, and although it can run on GNU Octave, its native environment is MATLAB, which introduces licensing dependencies in academic contexts. OpenDSS [5], developed by EPRI, is a specialized simulation engine for distribution networks that allows modeling distributed resources, variable loads, harmonics, and quasi-static time-series (QSTS) simulations; however, it operates primarily as a compiled application with a scripting interface (COM/Python), which limits the direct inspection of its internal algebraic structures. GridLAB-D [6] is oriented towards smart grid simulation using an agent-based approach, with multi-domain coupling, such as buildings, markets, and transportation. However, the complexity of its architecture and its orientation toward multi-purpose simulations make it less suitable for basic algorithmic validation of the BFS method. In this work, GridLAB-D is used as an external benchmark tool to evaluate the consistency of the results obtained with Open-RPS against a specialized distribution network simulation platform. pandapower [7] is an open platform in Python with direct integration into the data science ecosystem, which supports power flow, OPF, and contingency analysis in transmission and distribution networks; however, it does not support the development of unbalanced electric power systems.
Table 1 synthesizes the main characteristics of these tools in relation to the objective of this article.
Table 1.
Reference tools for electrical systems analysis and their relationship with the Open-RPS approach.
From the above review, it is clear that in teaching, reproducible research, and algorithmic validation of the BFS method, there remains a persistent need for lightweight, auditable platforms specifically oriented towards the three-phase analysis of radial feeders. These platforms must allow explicit verification against standardized benchmarks and, when possible, an additional comparison with specialized simulation tools, such as GridLAB-D.
1.2. Contributions of the Article
In this context, Open-RPS v1.0 occupies a complementary niche to that of existing tools: it offers an open, traceable, and extensible implementation of the BFS algorithm for radial distribution networks, with a modular structure oriented towards reproducible validation. The main contributions are as follows:
- Modular implementation of the three-phase BFS method in Python, organized into clearly delimited functional layers: electrical components, topology, solver, reports, and utilities.
- Description of the software architecture and design decisions that favor the reproducibility of the computational environment.
- Quantitative validation of results against the IEEE 4-bus, 13-bus, and 123-bus feeders, with direct comparison of voltage magnitudes and phase angles, branch currents, and total losses.
- Comparison of the results obtained with simulations carried out in GridLAB-D, with the purpose of contrasting the numerical consistency of Open-RPS against a specialized distribution network tool.
- Identification of an extensible base for future studies on distributed resource integration, optimization, and quasi-static time-series analysis.
This article is organized as follows. Section 2 describes the materials and methods, including the architecture of Open-RPS v1.0, the formulation of the BFS algorithm, and the validation cases employed. Section 3 presents the results obtained for the IEEE 4-bus and 13-bus systems, including the comparison with the IEEE reference values and with GridLAB-D. Section 4 discusses the scope of the results, numerical precision, the advantages of the proposed architecture, and the current limitations of the platform. Finally, Section 5 presents the main conclusions and future lines of work.
2. Materials and Methods
Open-RPS originates from a migration of RPS, a toolbox originally developed in MATLAB [8]. From this tool, it inherits its internal structure and object-oriented programming (OOP) logic.
2.1. Architecture of Open-RPS v1.0
Open-RPS v1.0 was structured as a software package in Python 3.13.5 (compatible with later 3.x releases). The platform organizes its logic into three main functional layers within the root package rps/, as illustrated in Figure 1.
Figure 1.
General structure of the modular architecture of Open-RPS.
The three functional layers in which the platform’s code modules are distributed are described in detail below:
2.1.1. Layer 1: Components (rps/components/)
This layer manages the physical modeling and governing equations of the electrical components that make up the radial distribution network. The Distribution Line (line.py) models sequence impedances and admittances. The Transformer (transformer.py) models electromagnetic couplings for 12 different configurations (Yg-Yg, D-D, Y-D). The ZIP Load (load.py) represents unbalanced three-phase electrical loads using the ZIP model. The layer also includes voltage regulators (regulator.py), shunt capacitors (capacitor.py), network switches (switch.py), PQ and PV type generators (generator.py), battery energy storage (storage.py), and profile-based electric vehicle chargers (ev_charger.py), which are fundamental elements in the real operation of an EPS.
2.1.2. Layer 2: Topology (rps/topology/)
Layer 2 is responsible for the spatial ordering and interconnection analysis of the electrical system. Its functions lie in processing the circuit topology and organizing the generalized matrices of the branch elements according to the EPS connections:
- BranchMatrix: Reads branch parametrization and automatically builds the generalized matrices of all branch elements for the application of the BFS method for power flow calculations.
- ShuntMatrix: Compiles and groups all shunt injection currents from passive elements and power injections from the network nodes.
- OneLineGraph: Builds and models the system as a directed topological graph using the specialized library NetworkX [9]. This class executes a radial topological ordering that automatically identifies the root node (supply substation) and allows efficient ancestor and descendant searches through a breadth-first search (BFS) traversal, optimizing the sequencing of power calculations.
2.1.3. Layer 3: BFS Solver (rps/solvers/)
It consists of the computational and processing core of the tool, where the mathematical solvers of the system reside:
- RadialSystem: Performs the three-phase unbalanced power flow calculation using the backward/forward sweep (BFS) method by current summation, working with dictionary-type data structures to represent the network topology. In the backward sweep, it recursively calculates branch currents from the endpoints toward the substation, and in the forward sweep, it propagates phase voltages using the generalized matrices defined in Layer 2. Additionally, this solver performs PV node compensation using the reactive current injection method.
- LoadSystem: In the input phase, it coordinates data reading, initializes load profiles, and manages the global iterative simulation process, also applying the BFS method by current summation. Unlike RadialSystem, it processes the equations using a purely matrix-based approach supported by NumPy [10] and SciPy [11]. Furthermore, it implements PV node compensation based on the positive-sequence admittance matrix, automatically structuring the results into tabular reports.
2.2. BFS Algorithm
The solver implements the backward/forward sweep (BFS) method for three-phase unbalanced power flow calculations in radial networks [1].
The iterative procedure for each iteration k comprises the following sequential unbalanced three-phase analysis:
- 1.
- Initialization and normalization: Reading of electrical data and normalization to per-unit (p.u.) values using the corresponding line-to-neutral voltage () and three-phase power () bases. The voltages at all nodes are initialized in a flat profile starting from the corrected source voltage:where represents the set of nodes in the system.
- 2.
- Backward Sweep: Based on the voltages from the previous iteration , the currents injected or consumed by the shunt elements (loads, generators, capacitors) at each node m are calculated.Subsequently, the graph is traversed in reverse order (from the terminal leaf nodes toward the source). For each branch element connecting an upstream node n with a downstream node m, the current at the receiving end is accumulated by summing the currents of the child branches and the local shunt injection at node m. Then, the current at the sending end is calculated by applying the generalized matrices and of the element:
- 3.
- Forward Sweep: The update of the line-to-neutral phase voltages is performed by traversing the graph in the direct path (from the source downstream). For each branch, the downstream node voltage is updated as a function of the upstream node voltage and the receiving end current calculated in the backward sweep , according towhere and are the inverse transmission matrices characterizing the voltage drop across the section. In simplified line sections with negligible capacitance (), the matrices simplify to (identity matrix) and , reducing to the series voltage drop:
- 4.
- Convergence Check: The iterative process is repeated by incrementing the index k until the stopping tolerance defined by the error in the node voltage magnitude between consecutive iterations is met:where the tolerance is set to p.u. and with a limit of 100 iterations.
Missing phases at each node are identified using the phase configuration field of each element and are omitted from the system of equations. Loads are represented using the constant power (PQ) model. The active branch losses are calculated as
2.3. Validation Cases
Numerical validation was performed by comparing the results obtained with Open-RPS against the reference values of the test feeders from the IEEE PES Distribution System Analysis Subcommittee [12]. Complementarily, the solutions obtained with Open-RPS were compared with results generated in GridLAB-D to incorporate an additional computational benchmark in the validation process.
The IEEE 4-bus, 13-bus, and 123-bus systems were evaluated, which allow verifying the performance of the solver under representative conditions of balanced and unbalanced three-phase radial networks and a larger radial feeder.
- IEEE 4-bus: This feeder corresponds to a minimal system with a step-down transformer ( kV) and an unbalanced three-phase load. This case enables evaluation of the algorithm’s behavior under extreme unbalance conditions and verifying the correct representation of the transformer and line voltage drops per phase.
- IEEE 13-bus: This feeder corresponds to an unbalanced radial distribution system that includes a voltage regulator, shunt capacitors, a step-down transformer, and mixed loads of ZIP type in Wye and Delta connections. This case allows evaluating the model’s capacity to represent multiple typical elements of distribution networks and analyze their effect on voltage profiles, branch currents, and system losses.
- IEEE 123-bus: This larger unbalanced radial feeder includes 132 nodes, voltage regulators, capacitor banks, a transformer, and multiple load branches. It is used to assess the behavior of the implementation beyond the small benchmark systems and to document the current scalability of the platform.
The validation considered nodal voltage magnitudes, branch currents, total active losses, and convergence indicators to evaluate both the numerical precision and the computational performance of the implemented BFS solver.
The error metrics were calculated using the absolute percentage error between the values obtained with the evaluated tool and the reference IEEE values, according to
where represents the voltage magnitude obtained with Open-RPS or GridLAB-D, and corresponds to the reference value reported by the IEEE PES Distribution System Analysis Subcommittee.
If is very small, the percentage-error expression becomes numerically ill-conditioned because the denominator amplifies small absolute differences. If , the percentage error is undefined and is not reported; the comparison must instead use the absolute error (or a clearly stated engineering tolerance). In the present IEEE voltage data, the reported reference values are non-zero, so the percentage metric is applied only to those entries.
3. Results
This section presents the validation results obtained with Open-RPS for the IEEE 4-bus, 13-bus, and 123-bus systems. The analysis includes convergence indicators, voltage magnitudes, branch currents, and active losses compared with the IEEE reference values and, for the 4-bus and 13-bus cases, with results generated in GridLAB-D.
3.1. Global Convergence and Validation Summary
Table 2 presents the convergence summary and the global validation metrics of the evaluated IEEE systems. All three feeders converged within the tolerances established for each reference case.
Table 2.
Global validation summary—IEEE test systems.
3.2. IEEE 4-Bus System
The IEEE 4-bus system includes 24 analysis variations, of which 12 correspond to balanced conditions and 12 to unbalanced conditions. In this work, the first case was evaluated, corresponding to an unbalanced three-phase configuration with a step-down transformer ( kV), Yg-Yg connection, and an ACSR 336,400 26/7 overhead line. This case allows verifying the behavior of the BFS solver under unbalanced conditions and evaluating the accuracy of the calculations for voltages, branch currents, and active losses. Open-RPS converged in 23 iterations and obtained total losses of 594.35 kW.
Figure 2 shows the topological schematic of the IEEE 4-bus feeder used as a validation case.
Figure 2.
Topological schematic of the IEEE 4-bus feeder.
Table 3 compares the line-to-neutral voltage () magnitudes obtained with Open-RPS and GridLAB-D against the IEEE reference values for the four buses of the system.
Table 3.
Comparison of voltage magnitudes—IEEE 4-bus system (tolerance: 0.5%).
The voltage results show high agreement among Open-RPS, GridLAB-D, and the IEEE reference. The maximum error for Open-RPS was 0.022%, located at node n3, phase A, while the maximum error for GridLAB-D was 0.021% at the same node and phase. Both errors remained below the 0.5% tolerance established for this case.
Figure 3 presents the voltage magnitude profile for phase A, B, and C for the IEEE 4-bus system obtained with Open-RPS.
Figure 3.
Voltage profile of phases A, B, and C for the IEEE 4-bus system.
The voltage angles presented deviations smaller than compared to the IEEE reference values. Table 4 presents the branch currents obtained with Open-RPS and GridLAB-D compared with the official values of the IEEE 4-bus feeder.
Table 4.
Branch currents—IEEE 4-bus system.
Taken together, these results indicate that Open-RPS accurately reproduces the main electrical variables of the IEEE 4-bus system and maintains a level of agreement comparable to that obtained with GridLAB-D.
3.3. IEEE 13-Bus System
The IEEE 13-bus feeder is an unbalanced radial distribution system that includes a voltage regulator (RG60), two shunt capacitors, a step-down transformer (buses 633–634), and 17 loads with mixed ZIP models in Wye and Delta connections (14 buses, 10 lines, 1 transformer, 1 regulator, 2 capacitors). The regulator RG60 taps are for phases A, B, and C [12]. This case allows evaluating the simultaneous representation of multiple control and distribution elements. Open-RPS converged in 7 iterations (17.7 ms) with total losses of 80.53 kW.
Figure 4 shows the single-line diagram of the feeder with the location of the control elements.
Figure 4.
Topological schematic of the IEEE 13-bus feeder.
The complete nodal voltage and branch-current tables for the IEEE 13-bus feeder are provided in Appendix A (Table A1 and Table A2) to keep the main results section concise. Entries marked with ‘—’ indicate phases not present in the system. The minimum IEEE reference voltage is 0.9825 p.u. at node 652 (phase A); the minimum Open-RPS voltage is 0.9843 p.u. at the same node and phase. The maximum voltage is 1.0625 p.u. at node 631 (phase A). All values are within the 0.5% tolerance. The maximum voltage error is recorded at node 652 (phase A) with 0.58%, below the tolerance of 2.0%. Voltages at nodes with regulators (631 and 632) practically coincide with the reference, confirming the correct implementation of the fixed-tap model. Figure 5 illustrates the spatial profile of phase A, showing the progressive drop from node 650 to the terminal branches.
Figure 5.
Voltage magnitude profile of phase A—IEEE 13-bus system (Open-RPS).
Figure 5 is read from left to right along the feeder path. The horizontal axis identifies the successive IEEE 13-bus nodes used in the plotted phase-A path, while the vertical axis reports voltage magnitude in per unit (p.u.). The curve therefore represents the spatial voltage profile, not the voltage angle; a downward trend indicates voltage drop along the feeder, and discontinuities or terminal points reflect changes in phase availability or feeder branches.
The full branch-current table (magnitude and angle for every phase, across all 12 branches of the feeder) is provided in Appendix A, Table A2. The currents from Open-RPS and GridLAB-D agree with the IEEE reference in magnitude and angle across all branches. The largest deviations are observed in the terminal single-phase branches (684–611 and 684–652), where the imbalance is most pronounced, but they remain within the tolerances of the case.
Table 5 summarizes the global validation metrics of the 13-bus system.
Table 5.
Validation metrics—IEEE 13-bus system.
Table 5 confirms exact agreement in total losses (80.53 kW) and voltage errors below 0.61%, validating the joint implementation of the transformer, regulator, and capacitors.
3.4. Computational Performance
Table 6 shows the performance comparison between the platform implemented in MATLAB R2024 (compatible with later releases) and Python.
Table 6.
Computational performance comparison: MATLAB (RPS Toolbox) vs. Open-RPS v1.0 (Intel Core i5-1235U, 8 GB RAM).
3.5. IEEE 123-Bus System
The IEEE 123-bus feeder was added as the larger validation case. The model contains 132 nodes, 126 lines, 91 loads, 1 transformer, 4 voltage regulators, and 4 capacitor banks. Open-RPS converged in five iterations. The complete voltage-magnitude comparison included 179 non-zero phase values and produced a mean absolute error of 0.4857% and a maximum absolute error of 1.4500% at node 610, phase A. Node 610 is evaluated on the 0.48-kV secondary base of transformer XFM1. Table 7 summarizes these validation results.
Table 7.
IEEE 123-bus validation results.
Table 8 shows representative nodes: the minimum-voltage region, the regulated high-voltage region, the source-side node, and the 0.48-kV secondary node 610. The complete 179-value comparison remains available in the repository report.
Table 8.
Representative voltage-magnitude comparison for the IEEE 123-bus feeder.
Appendix A (Table A3 and Table A4) additionally presents a direct voltage and branch-current comparison between Open-RPS and GridLAB-D for a representative subset of IEEE 123-bus nodes and branches. The results show close agreement between both tools, and further improving this agreement is identified as a subject for future work.
4. Discussion
The results demonstrate that Open-RPS reproduces the IEEE reference values with high numerical fidelity for the three evaluated feeders. The maximum voltage magnitude error was 0.022% for the 4-bus system and 0.58% for the 13-bus system, both below their respective reference tolerances. For the IEEE 123-bus feeder, the complete comparison of 179 non-zero phase magnitudes produced a mean absolute error of 0.4857% and a maximum error of 1.4500%. These results support the implementation of the load models, transformers, regulators, capacitors, and radial BFS solver within the documented scope.
The small deviation in the minimum voltage of the 13-bus system (0.58% at node 652) is concentrated at the terminal buses of single-phase branches. This level of parity validates that the modular architecture preserved the physics of the electrical problem without introducing systematic errors during refactoring.
Compared with the tools reviewed in the introduction (Table 1), Open-RPS occupies the niche of open-source, auditable implementations specifically oriented towards the three-phase BFS method with explicit validation against IEEE benchmarks. It does not aim to replace OpenDSS or pandapower in large-scale studies but rather to offer a transparent computational base for teaching, reproducible research, and incremental algorithm development.
The current limitation of the software is its restriction to radial network topologies (without support for meshed networks).
5. Conclusions
Open-RPS v1.0 is an open, modular, and reproducible platform for three-phase power flow analysis in radial distribution networks, implemented in Python using the backward/forward sweep method without commercial license dependencies. Validation against the IEEE 4-bus, 13-bus, and 123-bus feeders confirms the numerical accuracy of the implementation within the tested scope. The comparison with GridLAB-D showed consistency.
From a computational performance perspective, Open-RPS achieves pure solution times of 3.2 ms and 9.7 ms for the 4-bus and 13-bus systems, respectively, compared to 232.3 ms and 1031.4 ms recorded with the equivalent implementation in MATLAB (RPS Toolbox). These reductions of approximately 33% and 77% are obtained without sacrificing numerical precision, which validates the advantages of the Python scientific ecosystem—specifically NumPy, SciPy, and NetworkX—for power distribution computing applications and confirms the suitability of Open-RPS for quasi-static time-series analyses where cumulative computational cost is critical.
The results as a whole validate that the modular architecture preserves the mathematical accuracy of the BFS method and position Open-RPS as an adequate computational base for teaching, reproducible research, and integration of distributed energy resources. As future work, four priority lines are identified: extending the solver to weakly meshed networks using nodal compensation methods; formulating three-phase unbalanced optimal power flow integrated with Python optimization environments; formally analyzing the convergence limits of the BFS method under high unbalance conditions and critical R/X ratios; and developing a voltage regulation strategy for PV nodes with distributed reactive compensation under high solar penetration.
Author Contributions
Conceptualization, A.M., S.O., D.V. and J.R.-F.; methodology, A.M., S.O., D.V. and J.R.-F.; software, A.M. and S.O.; validation, A.M., S.O. and D.V.; formal analysis, A.M., S.O. and J.R.-F.; investigation, A.M. and S.O.; resources, J.R.-F. and D.V.; data curation, A.M. and S.O.; writing original draft preparation, A.M. and S.O.; writing review and editing, A.M., S.O., D.V. and J.R.-F.; visualization, A.M. and S.O.; supervision, J.R.-F. and D.V.; project administration, J.R.-F.; funding acquisition, J.R.-F. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Data Availability Statement
The source code, validation data, input files for the IEEE systems, automated tests, installation guide, reproduction scripts, and validation reports are publicly available at https://github.com/SantiagoOjeda13/Open-rps (accessed on 31 July 2026).
Acknowledgments
The authors acknowledge the support of the research project “Desarrollo de una solución tecnológica para el análisis de flujos de potencia en redes eléctricas de distribución desbalanceadas con generación distribuida” ID-3214, supported by Agreement No. 29, dated 17 January 2025, by VIIS of the Universidad de Nariño. We also thank the Department of Electronic Engineering and the Electrical and Electronic Engineering Research Group (GIIEE) at the Universidad de Nariño for their support of the academic and administrative processes necessary to carry out this project.
Conflicts of Interest
The authors declare no conflicts of interest.
Appendix A
This appendix provides the complete node-by-node voltage profile and branch-current results for the IEEE 13-bus system, summarized in Section 3 (IEEE 13-bus System). Table A1 lists the voltage magnitude and angle for every phase at every node, and Table A2 lists the branch currents for all 12 branches of the feeder, in both cases compared against the IEEE PES DSAS reference values and the GridLAB-D benchmark. Table A3 and Table A4 present the corresponding voltage-magnitude and branch-current comparison for a representative subset of the IEEE 123-bus system, contrasting the IEEE/RPS Toolbox reference values, Open-RPS, and GridLAB-D.
Table A1.
Nodal voltage profile in p.u.—IEEE 13-bus test system (base: 12.47 kV LL/4.16 kV LL).
Table A2.
Branch currents—IEEE 13-bus system.
Table A3.
Voltage magnitude comparison—IEEE 123-bus test system (representative nodes).
Table A4.
Branch current magnitude comparison—IEEE 123-bus test system (representative branches).
References
- Kersting, W.H. Distribution System Modeling and Analysis, 3rd ed.; CRC Press: Boca Raton, FL, USA, 2012. [Google Scholar]
- Taqiyuddin, S.; Suwarno; Nurdin, M.; Sianipar, G.H.M. Backward Forward Sweep Algorithm for Unbalanced Three-Phase Power Flow Analysis in Distribution Systems Containing Voltage Regulator. In Proceedings of the 2021 3rd International Conference on High Voltage Engineering and Power Systems (ICHVEPS), Bandung, Indonesia, 5–6 October 2021; pp. 1–6. [Google Scholar]
- Kumar, A.; Kumar, A.; Mallipeddi, R.; Lee, D.-G. Adaptive Backward/Forward Sweep for Solving Power Flow of Islanded Microgrids. Energies 2022, 15, 9348. [Google Scholar] [CrossRef] [Scilit]
- Zimmerman, R.D.; Murillo-Sánchez, C.E.; Thomas, R.J. MATPOWER: Steady-State Operations, Planning, and Analysis Tools for Power Systems Research and Education. IEEE Trans. Power Syst. 2011, 26, 12–19. [Google Scholar] [CrossRef] [Scilit]
- Dugan, R.C.; McDermott, T.E. An Open Source Platform for Collaborating on Smart Grid Research. In Proceedings of the IEEE Power and Energy Society General Meeting, San Diego, CA, USA, 24–29 July 2011; pp. 1–7. [Google Scholar]
- Chassin, D.P.; Fuller, J.C.; Djilali, N. GridLAB-D: An Agent-Based Simulation Framework for Smart Grids. J. Appl. Math. 2014, 2014, 492320. [Google Scholar] [CrossRef] [Scilit]
- Thurner, L.; Scheidler, A.; Schäfer, F.; Menke, J.; Dollichon, J.; Wenderoth, F.; Meinecke, S.; Braun, M. pandapower: An Open Source Python Tool for Convenient Modeling, Analysis, and Optimization of Electric Power Systems. IEEE Trans. Power Syst. 2018, 33, 6510–6521. [Google Scholar] [CrossRef] [Scilit]
- Didier. Radial Power Solver. MATLAB Central File Exchange. 2026. Available online: https://la.mathworks.com/matlabcentral/fileexchange/179944-radial-power-solver (accessed on 14 January 2026).
- Hagberg, A.A.; Schult, D.A.; Swart, P.J. Exploring Network Structure, Dynamics, and Function using NetworkX. In Proceedings of the 7th Python in Science Conference, Pasadena, CA, USA, 19–24 August 2008; pp. 11–15. [Google Scholar]
- Harris, C.R.; Millman, K.J.; van der Walt, S.J.; Gommers, R.; Virtanen, P.; Cournapeau, D.; Wieser, E.; Taylor, J.; Berg, S.; Smith, N.J.; et al. Array programming with NumPy. Nature 2020, 585, 357–362. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Virtanen, P.; Gommers, R.; Oliphant, T.E.; Haberland, M.; Reddy, T.; Cournapeau, D.; Burovski, E.; Peterson, P.; Weckesser, W.; Bright, J.; et al. SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nat. Methods 2020, 17, 261–272. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- IEEE PES Distribution System Analysis Subcommittee. Radial Test Feeders. Available online: https://cmte.ieee.org/pes-testfeeders/resources/ (accessed on 30 April 2026).
- McKinney, W. Data Structures for Statistical Computing in Python. In Proceedings of the 9th Python in Science Conference, Austin, TX, USA, 28 June–3 July 2010; pp. 56–61. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.




