ASCEND is a free,
open sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, mathematical modelling system developed at
Carnegie Mellon UniversityCarnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
since the 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. It was a pioneering piece of software in the chemical process modelling field, with its novel modelling language conventions and powerful solver, although it has never been commercialised and remains as an open source software project.
ASCEND includes nonlinear algebraic
solverA solver is a generic term indicating a piece of mathematical software, possibly in the form of a stand-alone computer program or as a software library, that 'solves' a mathematical problem. A solver takes problem descriptions in some sort of generic form and calculate their solution...
s, differential/algebraic equation solvers, nonlinear
optimisationIn mathematics, computational science, or management science, mathematical optimization refers to the selection of a best element from some set of available alternatives....
and modelling of multi-region 'conditional models'. Its matrix operations are supported by an efficient
sparse matrixIn the subfield of numerical analysis, a sparse matrix is a matrix populated primarily with zeros . The term itself was coined by Harry M. Markowitz....
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
ModelicaModelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents.The free Modelica languageis...
. 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 and 2011.
See also
- Art Westerberg
Art Westerberg is an emeritus professor at Carnegie Mellon University in Pittsburgh, Pennsylvania. He has been a major contributor to the field of numerical methods for solving chemical engineering problems, and has been involved since the 1980s with a mathematical modelling package named ASCEND.-...
- AMPL
AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and solving high-complexity problems for large-scale mathematical computation AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and...
- APMonitor
APMonitor, or "Advanced Process Monitor", is a modeling language for differential and algebraic equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic...
- EMSO
EMSO simulator is an equation-oriented process simulator with a graphical interface for modeling complex dynamic or steady-state processes. It is CAPE-OPEN compliant. EMSO stands for Environment for Modeling, Simulation, and Optimization...
- JModelica.org
JModelica.org is a free and open source platform based on the Modelica modeling language for modeling, simulation, optimization and analysis of complex dynamic systems. The platform is maintained and developed by Modelon AB in collaboration with academic and industrial institutions, notably Lund...
- Modelica
Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents.The free Modelica languageis...
- List of chemical process simulators
External links
- ASCEND home page
- ASCEND wiki, including documentation and development notes