Version of the Day


Sundance is a system for rapid development of high-performance parallel finite-element solutions of partial differential equations. It is built on top of an engine for in-place Frechet differentiation of symbolic objects, thereby enabling differentiable simulations for use in optimization, uncertainty quantification, and adaptive error control.

The motivation for creating Sundance is a conviction that you should be able to code a finite element problem using the same level of abstraction you would use to describe the problem and its discretization on a blackboard. Sundance provides a set of high-level components with which you can specify and solve a problem. The high-level nature of the components means that you need not worry about tedious and error-prone bookkeeping details. In addition to the advantage of conceptual simplicity and freedom from bookkeeping, this component-based approach allows a high degree of flexibility in the formulation, discretization, and solution of a problem.

Please send any questions or comments to Kevin Long


The alphabetical class list produced by Doxygen is overwhelming and contains many items not useful to the typical applications programmer. For quick reference, go instead to the index of major classes and functions, organized by topic.

Citing Sundance

If you use Sundance in your work, please cite the paper


Current developers


Site Contact