Skip to content

Latest commit

 

History

History
43 lines (34 loc) · 2.84 KB

README.md

File metadata and controls

43 lines (34 loc) · 2.84 KB

Pytorch Implementation of Physics-guided Neural Network PF Solver

Introduction

An AutoEncoder-based PF modeling and solver for dynamic and uncertain power systems, published in paper Physics-Guided Deep Neural Networks for Power Flow Analysis (IEEE Transactions on Power Systems 2020).

Kirchhoff’s laws has been integrated into the design of neural network System topology knowledge has been integrated into the design of AutoEncoder
Alt text Alt text

By integrating physics knowledge, the weight matrices of AutoEncoder embody power system physics. See an example on IEEE 118-bus power system:

Real Admittance matrix G BNN parameter matrix $W_G$ TPBNN parameter matrix $W_G$
Alt text Alt text Alt text

Data Preparation

  • Data and instructions are released in the data folder.
  • We use the real-world power load/consumption dataset from Kaggle and PG&E.
  • Power system simulator: MATPOWER.
  • Dataset specification for NNs is defined in data preprocessing. You should transform your raw data to the dataset specification.
  • The code to extract the admittance matrix (topology info) from MATPOWER case specification is contained in the power_flow_equation file.

Physcisc-Guided NNs

  • Basic Classes and functions are released in the src folder.
    • The MLPNN black-box PF solver is contained in the inverse file.
    • The MLPNN, BNN, TPBNN PF modeling NNs are contained in the forward file.
    • The autoencoder-structure PF solvers (i.e., MLP+MLP, MLP+BNN, MLP+TPBNN) are contained in the autoencoder file.

Checkpoints contains a pretrained TPBNN and a pretrained MLP+MLP solver.

If you find this work useful for your research, please cite:

@article{hu2020physics,
  title={Physics-guided deep neural networks for power flow analysis},
  author={Hu, Xinyue and Hu, Haoji and Verma, Saurabh and Zhang, Zhi-Li},
  journal={IEEE Transactions on Power Systems},
  volume={36},
  number={3},
  pages={2082--2092},
  year={2020},
  publisher={IEEE}
}