Multi-language, Multi-environment Numerical Code Generation
AceGen provides an optimal environment for designing and
implementing numerical code. It is designed to approach especially
hard problems, such as analytical sensitivity analysis of complex
multi-field problems, where general strategies to efficiently
formulate numerical procedures have not yet been established.
AceGen automatically derives formulas needed in numerical
procedures. Symbolic derivation of the characteristic quantities
(e.g., gradients, tangent operators, sensitivity vectors, etc.)
can erroneously lead to exponential behavior of derived expressions,
both in time and space. The new approach in AceGen avoids this
problem by combining several techniques with the symbolic and
algebraic capabilities of Mathematica: automatic
differentiation, automatic code generation, simultaneous optimization
of expressions, and theorem-proving via stochastic evaluation of
The application's multi-language capabilities are useful for
rapidly prototyping numerical procedures in script languages of
general problem-solving environments like Mathematica, as well
as for generating highly optimized and efficient compiled code in
languages like Fortran or C. You can explore and analyze derived
formulas through the unique user interface. The AceGen package
also provides a collection of prearranged modules that let you
automatically create an interface between the automatically generated
code and the numerical code-execution environment.
With AceGen and Mathematica, you can create code for use
in numerical environments such as:
With Mathematica and its support for multiple languages and
environments, AceGen enables generation of numerical code for a variety
of systems from the same symbolic description.
- AceFEM, a
research application based on Mathematica
- FEAP, a research program written in Fortran
- ELFEN, a commercial system written in Fortran
- ABAQUS, a general commercial environment
About the Developer
Joe Korelc is a professor of mechanics at the University of Ljubljana
in Slovenia. He has published numerous articles on finite element
methods, automatic code generation, and the use of symbolic methods in
engineering. Professor Korelc is currently head of the Division of
Structures in the university's Faculty of Civil and Geodetic
Engineering, president of the Slovenian Society of Mechanics, and vice
president of the Central European Association of Computational Mechanics.
AceGen is developed and supported by Joe Korelc.
University of Ljubljana
Faculty of Civil and Geodetic Engineering
AceGen 3.3 requires Mathematica
7 or 8 and is available for Windows, Mac OS X, and Linux.
Note: Contact the developer for trial information.