Skip to content

HuynhTran0301/PINNs_Power_System_Dynamics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PINNs_Power_System_Dynamics

This repository contains the source code necessary to reproduce the results presented in the following paper:

Modeling Power Systems Dynamics with Symbolic Physics-Informed Neural Networks. https://arxiv.org/abs/2311.06580, DOI: 10.1109/ISGT59692.2024.10454197

By Huynh T. T. Tran and Hieu T. Nguyen

Accepted to The 2024 Conference on Innovative Smart Grid Technologies, North America (ISGT NA 2024).

The method shown in this repository can be used for modeling the power system dynamics by PINNs.

Abstract:

In recent years, scientific machine learning, particularly physic-informed neural networks (PINNs), has introduced new innovative methods to understanding the differential equations that describe power system dynamics, providing a more efficient alternative to traditional methods. However, using a single neural network to capture patterns of all variables requires a large enough size of networks, leading to a long time of training and still high computational costs. In this paper, we utilize the interfacing of PINNs with symbolic techniques to construct multiple single-output neural networks by taking the loss function apart and integrating it over the relevant domain. Also, we reweigh the factors of the components in the loss function to improve the performance of the network for instability systems. Our results show that the symbolic PINNs provide higher accuracy with significantly fewer parameters and faster training time. By using the adaptive weight method, the symbolic PINNs can avoid the vanishing gradient problem and numerical instability.

Numerical Results:

Case Study 1:

$\delta = 1$ rad $\omega = -5$ rad/s

Case 1

Case study 2:

$\delta = 0$ rad and $\omega = 2$ rad/s:

case 2

Pole slipping:

case 3

Language programming:

We use Julia to implement the algorithm that is running in the Jupyter Notebook, and the results are prepared in Matlab. To run the code, please install Julia version 1.9.2, and later, Julia will instruct you how to add the necessary packet for running the code.

Question?

Please contact Ethan Tran at email [email protected] if you have any code or implementation questions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages