In this repository, you can see two sets of tutorials about fluid dynamics with NeuralODE and the SciML Julia Library. They are divided according to the problem that they are targeting, in specific:
NS_*
tutorials show how to solve the Incompressible Navier-Stokes equation in the spectral space. They are based on Syver's implementation.Adv_*
tutorials focus on advection problems (including Burgers). They are based on Toby's code.
We will look at the two groups separately, but later we plan to merge them in a single framework.
- In
NS_SciML_vs_direct.jl
you can see the comparison between different timestep solvers. In the SciML community it is suggested to useTsit5
, but we can use a Runge-Kutta approach to compare with our (Syver) direct implementation:
-
In
NS_data_generation.jl
you can generate DNS and LES data, to train multiple Neural closures. -
In
NS_train_closure_model.jl
you can specify the type of closure that you would like to train. It is also very easy to implement new closures (such as CNO) following the template of the other closures. -
In
NS_test_closure.jl
you can visualize the performance of a specific trained closure:
- In
NS_compare_closures.jl
you can compare all the different closures that you have trained for a specific problem. This allow you to easily visualize which closure approach performs better:
(Disclaimer: the models in the figure have been '''trained''' for ~10m of single cpu time)
- In
Adv_SciML_vs_direct.jl
you can see the comparison between different timestep solvers. In the SciML community it is suggested to useTsit5
, but we can use a Runge-Kutta approach to compare with our (Toby) direct implementation:
- ...Work in progress...