GSoC/GCI Archive
Google Summer of Code 2011


Web Page:

Mailing List:

ASCEND provides an open-source modeling environment to aid scientists and engineers to debug and solve difficult equation-based models. There is an object-oriented modelling language in which a user can enter their equations, and then a Python/GTK GUI that can be used to inspect, debug, and solve the resulting model.

More details at

The ASCEND team is an un-funded group of collaborating academics and professionals. The project first started at Carnegie-Mellon University in the 1970s and since then was developed across 15 different PhD projects under the leadership of Prof Art Westerberg, now retired. The core group is now John Pye, Ben Allan, Art Westerberg and Krishnan Chittur.


  • Adding the Mass Matrix functionality in Radau5 Solver Given a system of DAE, I intend to find the mass matrix and consequently the solutions using RADAU5.
  • Canvas Based Modeling Enhancements Enhancements on parameter handling, solving process and other features in the canvas based modeler for ASCEND.
  • Development of the translator system which accepts new-syntax ascend models and generates ascend4 compatible models The project aims to improvise the present syntax available for the purpose of making it more familiar and easier to use. Presently the idea is to generate a stand-alone lex/yacc based program using PLY as compiler tool. The program reads from the input file of new-syntax models and generates ascend 4 compatible models. The new syntax will act as a wrapper over the present syntax and no changes in the TypeDescription or Instantiation stages will be required.
  • FPROPS Commercial packages like REFPROP act as a databases of fluid properties, in fact they are actually programs which use thermodynamic equations of state to calculate these properties on the fly. The purpose of this project is to develop the open source FPROPS platform which seeks to emulate and expand upon these programs. Specifically FPROPS will be restructured for extensibility, existing discrepancies will be investigated and new features such as support for new equations of state will be added.
  • GUI Improvements & Bug Squashing The project is about making enhancements to the PyGTK GUI of ASCEND. The PyGTK GUI is relatively new and needs some polishing.
  • Implementing a GPU-Based NLA Solver in the ASCEND In this project, the specific hardware architecture of the Graphic Processing Unit (GPU) is exploited as a new hardware co-processor to tackle the computational time challenge in the nonlinear algebraic (NLA) solver. The proposed novel approach can become an important winning feature for the ASCEND project over other competitor Equation Oriented tools (open source/proprietary).