NeuralOperators.jl icon indicating copy to clipboard operation
NeuralOperators.jl copied to clipboard

Benchmarks

Open foldfelis opened this issue 4 years ago • 16 comments
trafficstars

foldfelis avatar Nov 02 '21 07:11 foldfelis

  • [ ] Solve Burgers' equation by finite element method FEniCS.jl
  • [ ] Solve Burgers' equation by Neural Fourier Operators

yuehhua avatar Nov 17 '21 06:11 yuehhua

For the second task, please refer to the example. The dataset for the example is exactly the same with the one that @zongyi-li used in his repo.

foldfelis avatar Nov 17 '21 07:11 foldfelis

Should this be documented? Or just give an example code or benchmark report?

yuehhua avatar Nov 17 '21 07:11 yuehhua

Let's see what we get first.

foldfelis avatar Nov 17 '21 07:11 foldfelis

FEniCS.jl seems to be not maintained for a long time. I cannot even install the package.

yuehhua avatar Nov 18 '21 14:11 yuehhua

Try this instead… https://github.com/quinnj/There.jl

foldfelis avatar Nov 18 '21 14:11 foldfelis

Well, I meant this: https://github.com/Ferrite-FEM/Ferrite.jl

foldfelis avatar Nov 18 '21 14:11 foldfelis

I built a new environment for FEniCS.jl and it works! Too many deps are not up-to-date.

yuehhua avatar Nov 18 '21 15:11 yuehhua

Maybe I need to discuss with you directly.

yuehhua avatar Nov 18 '21 15:11 yuehhua

Does solving a finite element method need a analytic solution?

yuehhua avatar Nov 19 '21 06:11 yuehhua

That's OK, I'll take care of the whole task.

foldfelis avatar Nov 19 '21 08:11 foldfelis

If there is anything I can help, just let me know.

yuehhua avatar Nov 19 '21 15:11 yuehhua

I did some search. I found that Burgers' equation need to rewrite into the weak form to code it and you may want to take a look at this. There are three common types of boundary conditions for Burgers' equation: Dirichlet, Neumann and Robin’s. The example that FNO use is Dirichlet.

As for coding the weak form, you can reference the Poisson equation tutorial here.

For installation of FEniCS.jl, I create a conda environment following the scripts here and direct PyCall.jl to the python path of the conda environment by scripts. It also need a new project environment for Julia, otherwise many packages will conflict with FEniCS.jl.

yuehhua avatar Nov 21 '21 02:11 yuehhua

Maybe we can reference this.

yuehhua avatar Nov 24 '21 08:11 yuehhua

Keep going, we will have better solution.

yuehhua avatar Nov 24 '21 15:11 yuehhua

I am late to the discussion, but it would be nice to solve the time dependent version of the Burgers equation as well, in addition to the stationary one they solve in the paper. What do you think?

dynamic-queries avatar Jun 23 '22 21:06 dynamic-queries