Hi, I am involved in the JModelica/Assimulo effort, and I have also used CasADi in collaboration with the Leuven team, so I thought I offer my five cents.
I think that both JModelica/Assimulo and CasADi would be valuable additions to Sage, since they address different problems, even though there is some overlapping functionality. Also, there is ongoing work to integrate JModelica.org and CasADi. CasADi is mainly targeting a flexible environment for implementation of dynamic optimization algorithms, e.g., multiple shooing and collocation. CasADi also offers excellent support for automatic differentiation of expressions, a generic functionality that can be explored by many simulation and optimization algorithms. In addition, CasADi comes with interfaces to a number of algorithms, including Ipopt, CSparse, SuperLU and some of the algorithms in the SUNDIALS suite. From a simulation perspective, CasADi offers strong support for simulation of sensitivities (both forward and adjoint I think), since these are typically useful in optimization, but it does not offer support for hybrid DAEs. Assimulo is a general purpose simulation package for Python offering integration with different solvers, including IDA and CVODE in the SUNDIALS suite. The main focus of Assimulo is to provide comprehensive Python classes that make it easy to add new integrators and to provide a user-friendly and Pythonesque model description format. Assimulo also supports sensitivity computations (only forward mode) and handling of events, i.e., hyrid DAEs. Assimulo is tightly integrated in the JModelica.org platform, and serves as the simulation engine for Modelica models, which is one of the main features of JModelica.org. Modelica is a modeling language enabling users to build object-oriented equation-based models of physical systems - a compiler is available in JModelica.org to translate the Modelica code into C code that is compiled into a model executable that can be simulated with Assimulo. The Assimulo integration in JModelica.org also offers some convenience features like writing of the simulation result to file in a standardized format, setting of model parameters. In addition, the industrial standard Functional Mock-up Interface (http://www.functional-mockup- interface.org/) is supported. There are additional details in the paper http://www.control.lth.se/Publication/cand+11mod11.html. JModelica.org supports export of DAE models in XML-format, which can be imported into CasADi. Based on this feature, collocation algorithms for dynamic optimization have been implemented in JModelica.org - in this sense CasADi is one of the dependencies of JModelica.org. This approach has shown great potential in that efficient evaluation of first and second order derivatives as offered by CasADi is combined with the flexibility of scripting in Python offered by CasADi's SWIG interface. Preliminary results are reported in the paper http://www.control.lth.se/Publication/and+11mod11.html. Best /Johan -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org