GithubHelp home page GithubHelp logo

pi-dcon's Introduction

PI-DCON

This repository is the official implementation of the paper: Physics-informed discretization-independent deep compositional operator network, published in Journal of Computer Methods in Applied Mechanics and Engineering. The arxiv version of paper can also be found here.

Our research explores physics-informed machine learning methods for irregular domain geometries where PDE parameters are represented as a set of function value observations of any size, making the approach discretization-independent. In this paper, we introduce the first neural operator model that is discretization-independent and capable of addressing this scenario. However, the model architecture we propose in this paper is intentionally kept straightforward, and we encourage researchers to explore and develop more advanced architectures to further enhance this approach.

Overview

If you're interested in using our well-trained model, please refer to the "User mode" section. For those with similar research interests looking to explore more advanced model architectures and training algorithms, please check the "Developer mode" section. This work is also one of our work for developing Neural Operators as Foundation Model for solving PDEs. Please feel free to check it out as well if you are interested! We are excited to see more and more interesting ideas coming out for this research goal!

User mode

If you want to reproduce the results of our paper, please first download our dataset into the folder named "data", and download our well-trained models into the folder named "res/saved_models".

After preparing all the data and well-trained models, you need to first install all the required python package (with the Python>=3.8 is preferred) by

pip install -r requirements.txt

Then you can evaluate the prediction accuracy of our proposed DCON model in the testing dataset for the darcy problem and 2D plate stress problem with the following commands:

cd Main
python exp_pinn_darcy.py --model='DCON' --phase='test'
python exp_pinn_plate.py --model='DCON' --phase='test'

Or implement the model training by replacing the "phase" argument:

cd Main
python exp_pinn_darcy.py --model='DCON' --phase='train'
python exp_pinn_plate.py --model='DCON' --phase='train'

If you want to reproduce the results of the baseline model: DeepONet and Improved architecture of DeepONet, you can simply replace the "model" argument:

cd Main
python exp_pinn_darcy.py --model='DON' --phase='train'
python exp_pinn_plate.py --model='DON' --phase='train'
python exp_pinn_darcy.py --model='IDON' --phase='train'
python exp_pinn_plate.py --model='IDON' --phase='train'

Developer mode

This repository is user-friendly for developing new model architecture of the neural operator model. You can simply explore your self-designed model architecture by the following steps:

  • open the script of the Main/models.py, input your self-defined model architectur into the function class of "New_model_darcy" and "New_model_plate".
  • Adjust the hyper-parameters in the file "configs/self_defined_Darcy_star.yaml" and "configs/self_defined_plate_dis_high.yaml".
  • Train your model by simply run the following command:
cd Main
python exp_pinn_darcy.py --model='self_defined' --phase='train'
python exp_pinn_plate.py --model='self_defined' --phase='train'

If you are interested in developing more advanced training algorithms, please check our the script "darcy_utils.py" and "plate_utils.py".

If you think that the work of the PI-DCON is useful in your research, please consider citing our paper in your manuscript:

@article{zhong2024physics,
  title={Physics-informed discretization-independent deep compositional operator network},
  author={Zhong, Weiheng and Meidani, Hadi},
  journal={Computer Methods in Applied Mechanics and Engineering},
  volume={431},
  pages={117274},
  year={2024},
  publisher={Elsevier}
}

pi-dcon's People

Contributors

weihengz avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.