Summer of Code - Getting Started: Difference between revisions

Line 89: Line 89:
that of other functions in odepkg (or that of DASPK and LSODE) but will need specific  extensions to accommodate for specific options that only make sense for this specific class of solvers.
that of other functions in odepkg (or that of DASPK and LSODE) but will need specific  extensions to accommodate for specific options that only make sense for this specific class of solvers.
An initial list of methods to be implemented includes (but is not limited to)
An initial list of methods to be implemented includes (but is not limited to)
* Symplectic Euler methods, see [http://en.wikipedia.org/wiki/Semi-implicit_Euler_method here]
* Symplectic Euler methods, see [http://en.wikipedia.org/wiki/Semi-implicit_Euler_method here] and [http://openlibrary.org/books/OL9056139M/Geometric_Numerical_Integration | here]
* Störmer-Verlet method, see [http://en.wikipedia.org/wiki/Verlet_integration here]
* Störmer-Verlet method, see [http://en.wikipedia.org/wiki/Verlet_integration here] and [http://openlibrary.org/books/OL9056139M/Geometric_Numerical_Integration | here]
* Velocity Verlet method, see [http://en.wikipedia.org/wiki/Verlet_integration here]
* Velocity Verlet method, see [http://en.wikipedia.org/wiki/Verlet_integration here] and [http://openlibrary.org/books/OL9056139M/Geometric_Numerical_Integration | here]
* Symplectic partitioned Runge-Kutta methods, see [http://reference.wolfram.com/mathematica/tutorial/NDSolveSPRK.html here] or [http://dx.doi.org/10.1137/0733019 here]
* Spectral Variational Integrator methods, see [http://www3.nd.edu/~izaguirr/papers/acta_numerica.pdf here] or [http://www.math.ucsd.edu/~mleok/pdf/HaLe2012_SVI.pdf here]
* Spectral Variational Integrator methods, see [http://www3.nd.edu/~izaguirr/papers/acta_numerica.pdf here] or [http://www.math.ucsd.edu/~mleok/pdf/HaLe2012_SVI.pdf here]
* Symplectic partitioned Runge-Kutta methods, see [http://reference.wolfram.com/mathematica/tutorial/NDSolveSPRK.html here] or [http://homepage.math.uiowa.edu/~ljay/publications.dir/Sympl2158439.pdf here]


For this latter there is an existing code which is already working but needs to be improved, posted on the patch tracker.
For this latter there is an existing code which is already working but needs to be improved, posted on the patch tracker.
Furthermore, methods to implement solutions of problems with rigid constraints should be implemented, e.g.
Furthermore, methods to implement solutions of problems with rigid constraints should be implemented, e.g.
* SHAKE, see [http://en.wikipedia.org/wiki/Constraint_algorithm here] or [http://physics.ujep.cz/~mlisal/md/qshake.pdf here]
* SHAKE, see [http://en.wikipedia.org/wiki/Constraint_algorithm here] or [http://dx.doi.org/10.1016/0021-9991(77)90098-5 here]
* RATTLE, see [http://physics.ujep.cz/~mlisal/md/qshake.pdf here] or [https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&ved=0CD8QFjAC&url=http%3A%2F%2Fciteseer.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.53.9037%26rep%3Drep1%26type%3Dpdf&ei=McPBUdW8Ksrc4QS4mIG4Bg&usg=AFQjCNGTEGjC3zeXdenzBD5ldAiEeisoMg&sig2=Z0uSHE-8FTiK1RMdzcH1vA&bvm=bv.47883778,d.bGE here]
* RATTLE, see [http://dx.doi.org/10.1016/0021-9991(83)90014-1 here] or [http://dx.doi.org/10.1002/jcc.540161003 here]


'''Potential mentor:''' Mattia Penati, Edie Miglio, Carlo de Falco
'''Potential mentor:''' Mattia Penati, Edie Miglio, Carlo de Falco
=== Matlab-compatible ODE solvers in core-Ocatve ===
* Adapt "odeset" and "odeget" from the odepkg package so that the list of supported options is more Matlab-compatible,
in the sense that all option names that are supported by matlab should be available. On the other hand, Matllab returns
an error if an option which is not in the list of known options is passed to "odeset", but we would rather make this a warning
in order to allow for special extensions, for example for symplectic integrators.
* Adapt the interface of "ode45" in odepkg to be completely Matlab compatible, fix its code and documentation style and move it to Octave-core.
* Build Matlab compatible versions of "ode15s" and "ode15i". jwe has prototype implementations of these built as wrappers to "dassl" and "daspk". An initial approach could be to just improve these wrappers, but eventually it would be better to have wrappers for
"IDA" from the sundials library.
'''Potential mentor:''' Sebastian Schöps, Carlo de Falco


== GUI ==
== GUI ==
Anonymous user