Introduction to OpenSees

From OpenSeesWiki
Revision as of 19:21, 28 November 2009 by Silviamazzoni (talk | contribs)
Jump to navigation Jump to search

Context for Simulation in Earthquake Engineering

  • Research and practice is moving towards Performance-Based Seismic Engineering, which depends on high-fidelity models and simulation to assess performance.
  • Simulation models capture knowledge from tests to leverage investment in limited experimentation.
  • Community-based, open-source software for simulation promotes innovation in research and advanced applications for practice.
  • NEES infrastructure is supporting OpenSees to provide simulation capability and integration with NEESit services for NEES research.

What is OpenSees?

  • A software framework for simulation applications in earthquake engineering using finite element methods. OpenSees is not a code.
  • A communication mechanism for exchanging and building upon research accomplishments.
  • As open-source software, it has the potential for a community code for earthquake engineering.

Simulation Framework

Computation
Algorithms
Solvers
Parallel/distributed computing
Information Technology
Software framework
Databases
Visualization
Internet/grid computation
Models
Simulation models
Performance models
Limit state models
Material
component
system models

OpenSees Approach to Simulation

Basic approach
Modular software design for implementing and integrating modeling, numerical methods, and IT for scalable, robust simulation
Focus on capabilities needed for performance-based engineering
Programmable interfaces
Most users
a “code” for nonlinear analysis
Fully scriptable.
Generally
a software framework for developing simulation applications

Remember OpenSees is a Software Framework

  • A framework is NOT an executable.
  • A framework IS a set of cooperating software components for building applications in a specific domain.
  • The OpenSees framework is written primarily in the objectoriented language C++; though other languages namely C and Fortran are also used.
  • The abstract classes in the OpenSees framework define the interface. The concrete subclasses that exist the implementations. Other classes can be provided to extend the capabilities of the framework
  • Most users, however, will use OpenSees.exe which is, indeed, an executable.

Basics of Object-Oriented Programming

  • In object-oriented programming, the program is seen as a collection of objects. Each object is capable of receiving messages, processing data, and sending messages to other objects.
  • Each object is of a particular type or Class. The class defines the data and methods of an object.
  • 3 basic relationships between classes
IS-A (Truss is an Element)
KNOWS-A (Truss knows a Node)
HAS-A (Truss has a Material)