ASCEND

ASCEND is an open source, mathematical modelling chemical process modelling system developed at Carnegie Mellon University since late 1978. ASCEND is an acronym which stands for Advanced System for Computations in Engineering Design. Its main uses have been in the field of chemical process modelling although its capabilities are general.

ASCEND includes nonlinear algebraic solvers, differential/algebraic equation solvers, nonlinear optimization and modelling of multi-region 'conditional models'. Its matrix operations are supported by an efficient sparse matrix solver called mtx.

ASCEND differs from earlier modelling systems because it separates the solving strategy from model building. So domain experts (people writing the models) and computational engineers (people writing the solver code) can work separately in developing ASCEND. Together with a number of other early modelling tools, its architecture helped to inspire newer languages such as Modelica. It was recognised for its flexible use of variables and parameters, which it always treats as solvable, if desired

The software remains as an active open-source software project, and has been part of the Google Summer of Code programme in 2009, 2010, 2011, 2012, 2013 (under the Python Software Foundation) and has been accepted for the 2015 programme as well.