/ensemble-PINN-inverse

Ensembe PINN for improved inverse modeling

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

ensemble-PINN-inverse

Codes and data for the paper Aliakbari et al. "Ensemble physics informed neural networks: A framework to improve inverse transport modeling in heterogeneous domains", Physics of Fluids.

The ePINN approach utilizes an ensemble of parallel neural networks to tackle inverse problems. Each sub-network is initialized with a meaningful pattern of the unknown parameter, creating a foundation for a main neural network to be trained using PINN. In comparison, a traditional PINN simulation with random initialization was also employed to evaluate the convergence speed and accuracy of the two approaches.

##########################################################
Codes and data used in the test cases presented in the paper:
Ensemble physics informed neural networks: A framework to improve inverse transport modeling in heterogeneous domains, Physics of Fluids, 2023.

##########################################################
Pytorch codes are included for the different test cases presented in the paper. Namely, 2D multiphysics heat transfer in a fin, 2D diffusion, 2D porous medium transport, and 2D flow in a stenosis.

##########################################################
Codes:
Codes for ePINN and PINN are provided.
Note: Same codes are used for ePINN with random initialization and without freezing layers in each sub-network. Set Flag_pretrain_initialization = False and Flag_Freezing_layer = False for random initialization and without freezing layers, respectively. The current code for ePINN involves initializing and freezing all layers in each sub-network, which is achieved by setting Flag_pretrain_initialization and Flag_Freezing_layer to True.

###########################################################
Data:
The input data for all test cases are provided in the Data folder. All *.pt files are generated using a purely data driven deep neural network to map input coordinates to the low-fidelity CFD data. The .pt files were used to initialize ePINN.

###########################################################
Installation:
Install Pytorch:
https://pytorch.org/