SciML / DiffEqBase.jl

The lightweight Base library for shared types and functionality for defining differential equation and scientific machine learning (SciML) problems
Other
313 stars 112 forks source link

Scope of DiffEqBase #7

Closed ChrisRackauckas closed 7 years ago

ChrisRackauckas commented 7 years ago

@mauro3 brought up a good point that the scope of DiffEqBase may not include PDEs. I think this is a good point because:

  1. The interface on ODEs (ODE, SDE, DAE, DDE) is pretty clear given what we laid out. Sure there are a few other related things (IMEX), but if we stick to ODEs, DiffEqBase could be something which is quite stable in no time.
  2. The set of PDEs will be constantly changing and growing. This is by design. The hope is that people begin to start contributing PDE problems and algorithms for solving the PDEs, and then we have a large library of readily available PDEs with solvers. This is very "batteries included" and antithetical to the purpose of DiffEqBase.
  3. Other sets of tools make sense in a Base library for PDEs; meshing tools is the big one.

These facts seem to point that PDEs should be put in a separate DiffEqPDEBase (name pending), which would likely be more lively and user-focused, i.e. developed for giving users "the common interface" on tons of problems, and not for giving developers a common interface on the basic problems / types like DiffEqBase.

mauro3 commented 7 years ago

How about we leave it in this package for now but disentangle it by moving PDE stuff to a PDE.jl file? If that files starts to explode then make a new pkg.

ChrisRackauckas commented 7 years ago

Sounds like a plan.

ChrisRackauckas commented 7 years ago

How about we leave it in this package for now but disentangle it by moving PDE stuff to a PDE.jl file? If that files starts to explode then make a new pkg.

Well, upon first making it it was already more than a 1000 lines (just the basic FEM stuff, not even all of the FDM enhancement stuff) so I went and made this a package. (This will cut down on test dependencies immensely too...)