# 1.2. History

In many respects, the predecessor code to Aria is the highly successful Goma code. Although none of the Goma code is included in Aria, Goma has inspired many of the algorithm, design and implementation decisions in Aria. Several of the staff members who contributed to Goma have also contributed to Aria, either as developers, users, or testers.

Like Goma, Aria’s primary nonlinear algorithm is a full Newton-Raphson method with analytical sensitivities. However, Aria takes aspects of the implementation further by adding versatility in how the sensitivities are constructed and providing options for both finite-difference, and automatic differentiation sensitivities. Furthermore, Aria has a richer suite of nonlinear solver capabilities including matrix-free Newton-Krylov, methods and even loose coupling. Like its muse Goma, Aria includes a large suite of physics and capabilities that can be included in an analysis.

On December 5, 2000 Phil Sackinger initiated the Opera code which was to serve as a test bed for what would become Aria. The Opera code was a patterned after the Calore code which is a thermal analysis GFEM code, but differed in many respects. At that time, no applications had been written on top of the Sierra Framework that used multiple degrees of freedom (e.g., velocity AND pressure) or that used multiple element type (e.g., linear and quadratic interpolations). Opera was created as an exploratory code, to determine what changes would need to be made to the Framework and to experiment with the Framework in constructing such an application. During this period, the principle developers of Opera where Phil Sackinger, Sam Subia and Matt Hopkins.

On November 20, 2001 Matt Hopkins made the first commit to the Aria code base, using Opera as the starting point. And thus Aria was born.