GSoC/GCI Archive
Google Summer of Code 2009

ASCEND

Web Page: http://ascendwiki.cheme.cmu.edu/Student_Projects

Mailing List: ascend-sim-users@lists.sourceforge.net

The ASCEND project is a volunteer effort to produce a highly usable mathematical problem-solving tool for engineers and scientists. ASCEND has been under development primarily at Carnegie Mellon University, since the late 1970s, but, with the retirement of Art Westerberg from that university, the development is now coordinated by a small group of academics primarily in Australia and the US. Development continues to be active, with several new features having been added over the course of the last six months, and we are still seeing strong continuing interest from the community. We are very eager to build up ASCEND as a alternative to the spreadsheet, with the benefits of visible/'readable' model structure and improved reusability that it offers to technical users. http://ascendwiki.cheme.cmu.edu/ASCEND_history

Projects

  • Implementing canvas-based GUI modeller of energy systems in ASCEND The project aims to implement a canvas-based GUI modeller for energy systems, which enjoys significant advantages over a text-based modeller in terms of user friendliness. The current GUI modeller of ASCEND supports certain basic features, but lacks support for other essential features which are usually expected from a standard GUI modeller. I would be implementing all such vital features into the existing modeller making it more complete in terms of functionality and thus more appealing to use.
  • Improved ODE/DAE support The project implies creating a library using LINK semantics, to better describe dynamical systems. For this purpose, the Ascend language parser will need to be extended. I will use Bison, using on a context free grammar defined for this purpose, to create a C programs that parse a given input based on that grammar. Flex will also be useful to scan for specific lexical patterns in the input (a satisfactory structure for ODEs and DAEs must be defined).
  • Non-proprietary Optimization ASCEND is a modeling environment with a number of integrated solvers, used to model complex engineering problems. Among others, it includes a wrapper for CONOPT - a commercial optimization tool. CONOPT a being commercial product cannot be packaged with ASCEND for free distribution and the lack of a free, good optimization tool limits the utility of ASCEND. This can be bettered by including a wrapper for IPOPT and adding support for Hessian Matrices followed by tight integration.
  • Real-time ASCEND To extend an ASCEND in order to support real-time input data from data acquisition hardware like Arduino Duemilanove.
  • Renewable Energy Systems Modelling This project is aimed at extending ASCEND for Renewable Energy Systems(RES) Modeling, by providing reusable modeling blocks of components used in RES and improving its ODE/DAE support. The modeling block components shall be compatible so that the user can build a variety of system simulations of RES. The improvement of ODE/DAE support focuses on the extension of ASCEND capabilities of solving transient models based in state space equations and other time variant systems.