Introduction to OpenSees: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 66: Line 66:


==What is in a Domain==
==What is in a Domain==
*Element
;Element
*Node
;Node
*MPConstraint
;MPConstraint
*SPConstraint
;SPConstraint
*LoadPattern
;LoadPattern
**ElementalLoad
:ElementalLoad
**NodalLoad
:NodalLoad
**SPConstraint
:SPConstraint
**TimeSeries
:TimeSeries


==Other Classes Associated with Elements
==Other Classes Associated with Elements==
*Material
;Material
**Uniaxial
:Uniaxial
**nD
:nD
**Section
:Section
*GeomTransformation
;GeomTransformation
**Linear,Pdelta or Corotational
:Linear,Pdelta or Corotational
**Convert element force and deforamtion quantities from the global coordinate system to the element basic system (local coordinates)
:Convert element force and deforamtion quantities from the global coordinate system to the element basic system (local coordinates)


==How People Use OpenSees==
==How People Use OpenSees==

Revision as of 07:13, 29 November 2009

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)

Main Abstractions in OpenSees Framework

ModelBuilder
Constructs the objects in the model and adds them to the domain.
Domain (Central component)
Holds the state of the model at time t and (t + dt)
Analysis
Moves the model from state at time t to state at time (t + dt)
Recorder
Monitors user defined parameters in the model during the analysis

What is in a Domain

Element
Node
MPConstraint
SPConstraint
LoadPattern
ElementalLoad
NodalLoad
SPConstraint
TimeSeries

Other Classes Associated with Elements

Material
Uniaxial
nD
Section
GeomTransformation
Linear,Pdelta or Corotational
Convert element force and deforamtion quantities from the global coordinate system to the element basic system (local coordinates)

How People Use OpenSees

  • Provide their own main() function in C++ and link to framework.
  • Use OpenSees interpreterS. These are extensions of the Tcl interpreter for finite element analysis which are built using the OpenSees framework.
    • OpenSees.exe (Sequential-computing version)
    • OpseseesSP.exe (Parallel-computing version)
    • OpenSeesMP.exe (Parallel-computing version)

What is Tcl

Tcl is a programming language.

  • It is a string based command language.
  • Variables and variable substitution
  • Expression evaluation
  • Basic control structures (if , while, for, foreach)
  • Procedures
  • File manipulation
  • Sourcing other files.
  • Comand syntax:

command arg1 arg2 …