Back to Projects

FastVPINNs: An efficient tensor-based Python library for solving partial differential equations using hp-Variational Physics Informed Neural Networks

Published in: Journal of Open Source Software - 2024

Paper Code

Statement of Need

The existing implementation of hp-VPINNs framework (Kharazmi, 2023) suffers from two major challenges. One is the inabilty of the framework to handle complex geometries and the other is the increased training time associated with the increase in number of elements within the domain. In the work Anandh et al. (2024), we presented FastVPINNs, which addresses both of these challenges. FastVPINNs handles complex geometries by using bilinear transformation, and it uses a tensor-based loss computation to reduce the dependency of training time on number of elements. The current implementation of FastVPINNs can acheive an speed-up of up to 100 times when compared with the existing implementation of hp-VPINNs. We have also shown that with proper hyperparameter selection, FastVPINNs can outperform PINNs both in terms of accuracy and training time, especially for problems with high frequency solutions. In this work, we present the Python based implementation of the novel FastVPINNs framework which is built using TensorFlow-v2.0 (Abadi et al., 2015). FastVPINNs provides an elegant API for users to solve both forward and inverse problems for PDEs like the Poisson, Helmholtz, and Convection-Diffusion equations. With the current level of API abstraction, users should be able to solve PDEs with less than six API calls as shown in the minimal working example section. The framework is well-documented with examples, which can enable users to get started with the framework with ease. The ability of the framework to allow users to train a hp-VPINNs to solve a PDE both faster and with minimal code, can result in widespread application of this method on several real-world problems, which often require complex geometries with a large number of elements within the domain.

Modules

Project Image 2

FastVPINNs Modules

Back to Projects