Power Flow Analysis (3): Holomorphic embedding load flow method (HELM)
Channel: Tony the Taiwanese Turtle
Date: 2022-04-03

In this video we will show how to perform power flow analysis with holomorphic embedding load flow method (HELM). HELM is a robust method that can univocally yield the high voltage solution to the power flow equation, whenever such a solution exists. This is in contrast with the Newton-Raphson method where the initial guess and the local structure of the Jacobian matrix may lead the solver to a low voltage solution.  

Although involving advanced mathematical concepts in complex analysis such as holomorphic functions, embedding, and Padé approximant, the implementation of HELM is very straightforward and simple. It can also be very efficient when the number of terms of the power series approximation is not very large.

Content Correction:
In 00:46 I said that because the node admittance matrix [Y_eq] has rank n-1, so a slack bus is needed. This is not entirely correct. Due to the existence of a null vector for [Y_eq], it is true that we need to reduce the unknown variables from n to n-1, but setting a slack bus is just one of the multiple ways to do so (albeit probably the simplest). 

This property of [Y_eq] having rank n - 1 is still important in the theory of HELM: since there is a non-zero vector {\eta} that satisfies [Y_eq]{\eta} = 0, a non-zero trivial high voltage solution is guaranteed; therefore, HELM will always work for any practical cases. 

See the video "Power Flow Analysis (3.5): Corrections and Comments of the HELM Video" for more information:  https://www.youtube.com/watch?v=DrsbsygaCAE

Parts of the Video: 
00:00 0. Main Title
00:08 1. Motivation for HELM
00:33 2. Properties of the Power Flow Equation
01:45 3. Main Idea of HELM
03:01 4. Workflow of HELM
06:51 5. Demonstration with a Trivial Example
08:44 6. Potential Problems When Using HELM

Information of the series “System Science of Energy Transition”: 
This video is part of the learning material series “System Science of Energy Transition”. The series will cover every aspect of energy transition. Contents of this video can also be found in this article: https://medium.com/re-members/b067708a41f4

C++ Code for HELM Implementation:
The code can be found in the following link https://www.notion.so/energytransitiontwn/HELM-8f06550ab639450eac4f50bf8c3cbf6e.
Code written in R is also provided in the link. For the C++ code, the “Eigen” library is required, which can be found in https://eigen.tuxfamily.org/index.php?title=Main_Page.

Further Readings:
- For more information on the mathematical theories behind HELM, one can read “Fundamentals of the Holomorphic Embedding Load-Flow Method”, Antonio Trias, 2015. See https://arxiv.org/abs/1509.02421. 
- The wikipedia page for HELM can also serve as an introductory literature resource. See https://en.wikipedia.org/wiki/Holomorphic_Embedding_Load-flow_method.
- For sophisticated methods to “clean up” spurious poles, one can read “Numerically Robust Load Flow Techniques in Power System Planning”, Alberto J. Sarnari, 2019. See https://digital.library.adelaide.edu.au/dspace/handle/2440/119928

Software used for making this video:
- Audacity was used for eliminating the white noises of the recordings
- Blender was used for video editing
- Dev C++ was used as an IDE to compile the C++ codes in the video
- Microsoft Powerpoint was used for making the slides