Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 2.29 KB

README.md

File metadata and controls

32 lines (26 loc) · 2.29 KB

Physics-Informed Neural Networks for Fluid Dynamics 🌊

Authors

Content 📚

This repo contains the code for the course project "Numerical Analysis for Partial Differential Equations" at Politenico di Milano, MSc in Mathematical Engineering.

The project proposes an approach based on Physics-Informed Neural Networks to Fluid Dynamics problems.

Code Structure 🗺️

  • Folder Examples, containing the code for the solution with PINNs of all the test cases. In each folder, you will find a folder containing the results of the simulation presented in the report, too.
    • Poisson_Problem: toy problem; solution of the Poisson equation on a square with mixed boundary conditions.
    • Poiseuille_Flow: laminar flow in a channel.
    • Colliding_Flows: colliding flows in a square.
    • Cavity_Steady: lid-driven cavity, steady version.
    • Cavity_Unsteady: lid-driven cavity, unsteady version.
    • Coronary_Flow: steady flow of blood in an arthery affected by a stenosis.
  • Folder Data Generation contains the code for the generation of the numerical solution, exploited in the Lid-Driven Cavity and Coronary Flow test cases. The coroParam files contain the mesh for the Coronary Flow test case.
  • Folder Examples_Old contains the deprecated version of the first test cases.
  • Folder Presentations contains the presentations of this work to the tutors/to the classroom.
  • Report.pdf is the project report, including all the results.

Instructions 🎯

  1. Place the library nisaba (clone it from here) at the same level as this repo.
  2. Enter the folder of the test case of interest. If you want to run Cavity or Coronary Test case, you should first generate numerical data using the code in the folder Data Generation.
  3. In the .txt file simulation_options.txt indicate the number of epochs, the amount of noise, the numerosity of the training data (divided by category: collocation, fitting, boundary) and test data.
  4. Set save_results = True in the .py script if you wish to save the results and the loss trends in a folder automatically generated.
  5. Run the script! 🚀