Introduction to OpenSees: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 42: | Line 42: | ||
==Remember OpenSees is a Software Framework== | ==Remember OpenSees is a Software Framework== | ||
*A framework is NOT an executable. | *A framework is NOT an executable. | ||
*A framework IS a set of cooperating software components for | *A framework IS a set of cooperating software components for building applications in a specific domain. | ||
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 OpenSees framework is written primarily in the objectoriented | *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 | ||
language C++; though other languages namely C and | *Most users, however, will use OpenSees.exe which is, indeed, an executable. | ||
Fortran are also used. | |||
*The abstract classes in the OpenSees framework define the | ==Basics of Object-Oriented Programming== | ||
interface. The concrete subclasses that exist the | *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. | ||
implementations. Other classes can be provided to extend the | *Each object is of a particular type or Class. The class defines the data and methods of an object. | ||
capabilities of the framework | *3 basic relationships between classes | ||
:1. IS-A (Truss is an Element) | |||
:2. KNOWS-A (Truss knows a Node) | |||
:3. HAS-A (Truss has a Material) |
Revision as of 19:20, 28 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
- 1. IS-A (Truss is an Element)
- 2. KNOWS-A (Truss knows a Node)
- 3. HAS-A (Truss has a Material)