laurent90git / DAE-Scipy

Modifications of Scipy's implicit solvers for the solution of differential-algebraic equations (DAEs)
12 stars 2 forks source link

Joint work for a scipy `solve_dae` function #6

Open JonasBreuling opened 5 months ago

JonasBreuling commented 5 months ago

Dear Laurent,

we discussed already about the extension of scipy's capabilities in solving differential algebraic equations in your (PR)(https://github.com/scipy/scipy/pull/13068).

In the meantime I have investigated the capabilities of extending scipy's Radau and BDF methods for systems of the form M y' = f(t, y). This work's quiet nice if the systems are of index 1. Moreover, I'm interested in solving implicit differential equations (or differential algebraic equations) of the form F(t, y, y') = 0. Using this formulation saves some time in the linear algebra and is more flexible compared to usage of a mass matrix. Therefore, I've created a new repository called scipy_dae. I've added a new base class DAESolver and a solve_dae function. If you are interested in collaboration reach out. I think we have a lot of common interest.

Best regards Jonas

laurent90git commented 1 month ago

Hi Jonas, I have currently little time for this project, however I am still interested in completing it. I believe using the mass matrix formulation is still interesting, since it naturally arises in many applications and also corresponds to DAE problems with better mathematical properties regarding the time discretisation, compared to fully-implicit ones. I believe we should focus only on one class of methods, e.g. Radau, and allow for both approaches, fully-implicit or semi-explicit with a mass matrix, to be used.

JonasBreuling commented 1 month ago

I completely agree with you. To be honest, the performance of the BDF/NDF methods is rather poor anyway. Just get in touch with me as soon as you find more time for this project.