OpenSees Developer: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 41: Line 41:
[[Windows Vista DLL Creation]]
[[Windows Vista DLL Creation]]


== Building The Software on Parallel Machines ===
== Building The Software on Parallel Machines ==

Revision as of 17:27, 15 October 2012

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

External code can be added to the OpenSees interpreters wsing dynamic link libraries on Windows (DLL) and Mac (dylib), and shared objects (.so) on Unix machines. Example code can be obtained from the following svn repository: svn://opensees.berkeley.edu/usr/local/svn/OpenSees/trunk/DEVELOPER . The following articles contain instruction for each of the different types of classes that can be added to the interpreters:

Add A New Material

Add A New Element

Add A New Solver

Add A New Integrator

Add A New Solution Algorithm

Add A New Recorder

Windows Vista DLL Creation

Building The Software on Parallel Machines