OpenSees Developer

From OpenSeesWiki
Revision as of 05:26, 27 February 2010 by Fmk (talk | contribs)
Jump to navigation Jump to search

OpenSees Developer pages are intended for application developers of OpenSees. OpenSees is a software framework for developing sequential and parallel finite element applications applications for structural and geotechnical engineering.

The OpenSees code is open-source and released under a modified GPL. The modification allows users to use the source code for their own use. It does not allow them to sell a product that includes OpenSees code. The interpreters are written in such a way that developers wishing to gain financial advantage could for example:

  1. Create pre and post processors for the OpenSees interpreters.
  2. Create new modules, i.e. elements, materials, solvers, integrators, ... for the OpenSees interpreters.

The code is made open-source and free to use and expand upon for a number of reasons:

  • Linus's Law: Given enough eyeballs all bugs are shallow.
  • Free software attracts users.
  • New ideas can be explored and built upon if they are available to be scrutinized.
  • Too much software developed in Civil Engineering research institutions is lost when graduate students leave.
  • The software developed in Civil Engineering research requires greater testing.


Design the Framework

The initial design of the framework is outlined 'Object-Oriented Finite Element Programming: Frameworks for Analysis, Algorithm and Parallel Computing (1997), F.McKenna' link. Some of the interfaces in the dissertation have been modified over time.

Over time there has been many additions made to the framework, though the original design has remained basically the same. There have been many people who have contributed greatly to the framework over time. Their contributions are noted in the classes that they have developed. Whenever possible, we encourage you to cite these persons and their work in articles, if your work relies on using their code specifically or if you build upon developing your own.

Using the Framework

Adding New Components to the Framework