Calling all lurkers, yes you 👀.
Chances are if you are reading this you are interested in solving PDEs - we want to hear your ideas for a common base either here or in an issue.
What information do you need to discretize a system of PDEs, mathematically defined with ModelingToolkit.jl, in your package of choice, returning a SciMLSystem with symbolic_discretize, or SciMLProblem with discretize, or both?
We have a system for recognizing location and type of boundary condition, and extracting independent and dependent variables from the equations. In MethodOfLines.jl and (soon) NeuralPDE.jl we are using Symbolics and SymbolicUtils as an IR, see here for information on how to use rewrite rules, and here for how a simple discretizer is implemented in MOL. We want to expand this common parsing to get enough information to make it easy to discretize symbolic systems in the package of your choice.
We are hoping to collect a case study of how to write a discretizer to include in the docs for others to learn. If we can align on a common frontend language and parser (optional in stages), and common benchmarking based on PDESystemLibrary, we can massively improve the state of solving PDEs in Julia.
But what IR/form do you need for the main equations? What about domain types? What is important to you? Any ideas please let us know.
Any questions about the current state of the SciML PDEs ecosystem also welcome.
Calling all lurkers, yes you 👀.
Chances are if you are reading this you are interested in solving PDEs - we want to hear your ideas for a common base either here or in an issue.
What information do you need to discretize a system of PDEs, mathematically defined with ModelingToolkit.jl, in your package of choice, returning a SciMLSystem with
symbolic_discretize, or SciMLProblem withdiscretize, or both?We have a system for recognizing location and type of boundary condition, and extracting independent and dependent variables from the equations. In MethodOfLines.jl and (soon) NeuralPDE.jl we are using Symbolics and SymbolicUtils as an IR, see here for information on how to use rewrite rules, and here for how a simple discretizer is implemented in MOL. We want to expand this common parsing to get enough information to make it easy to discretize symbolic systems in the package of your choice.
We are hoping to collect a case study of how to write a discretizer to include in the docs for others to learn. If we can align on a common frontend language and parser (optional in stages), and common benchmarking based on PDESystemLibrary, we can massively improve the state of solving PDEs in Julia.
But what IR/form do you need for the main equations? What about domain types? What is important to you? Any ideas please let us know.
Any questions about the current state of the SciML PDEs ecosystem also welcome.