3. References
If you want to understand the design behind OpenSees you can look at the following:
For the overall framework have a look at: McKenna, F. “Object-oriented finite element programming: Frameworks for analysis, algorithms and parallel computing.” PhD Dissertation, UC Berkeley, 1999
To understand the use of object composition in an OpenSees analysis: McKenna, F., Scott, M.H., and Fenves, G.L. “Nonlinear finite element analysis software architecture using object composition.” Journal of Computing in Civil Engineering, 24(1):95-107, January 2010..