OpenSees

Last updated
Repository github.com/OpenSees/OpenSees/
Written in C++
Operating system Linux, Windows and Unix-like
License http://opensees.berkeley.edu/OpenSees/copyright.php
Website opensees.berkeley.edu

OpenSees (the Open System for Earthquake Engineering Simulation) is an object-oriented software framework created during the National Science Foundation-sponsored era (1997-2007) of the Pacific Earthquake Engineering Research (PEER) Center. OpenSees allows users to create finite element applications for simulating the response of structural and geotechnical systems subjected to earthquakes. This framework was developed by Frank McKenna and Gregory L. Fenves with significant contributions from Michael H. Scott, Terje Haukaas, Armen Der Kiureghian, Remo M. de Souza, Filip C. Filippou, Silvia Mazzoni, and Boris Jeremic. OpenSees is primarily written in C++ and uses several Fortran numerical libraries for linear equation solving.

Contents

Licensing

The license permits the use, reproduction, modification, and distribution by educational, research, and non-profit entities for non-commercial purposes. Use, reproduction, and modification by other entities is allowed for internal purposes, but these entities cannot redistribute the program or its derivatives. [1]

Usage

Users of OpenSees create applications by writing scripts in either the Tcl or Python programming language.

OpenSees developers manage the source code at GitHub.

Acronym

The proper acronym capitalization for the "Open System for Earthquake Engineering Simulation" is OpenSees, as opposed to OpenSEES. This reflects the same unconventional capitalization of Tcl.

History

Prior to taking on the name "OpenSees," the framework was simply called "G3" in reference to the name of the PEER research group tasked with simulation development. The doctoral thesis of Frank McKenna on parallel object-oriented structural analysis formed the basis for "G3."

The current version as of March 2024 is 3.6.0.

Related Research Articles

<span class="mw-page-title-main">SimPy</span> Process-based discrete-event simulation framework based on standard Python

SimPy stands for “Simulation in Python”, is a process-based discrete-event simulation framework based on standard Python. It enables users to model active components such as customers, vehicles, or agents as simple Python generator functions. SimPy is released as open source software under the MIT License. The first version was released in December 2002.

Software design is the process of conceptualizing how a software system will work before it is implemented or modified. Software design also refers to the direct result of the design process – the concepts of how the software will work which consists of both design documentation and undocumented concepts.

A modeling language is any artificial language that can be used to express data, information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure of a programing language.

<span class="mw-page-title-main">Decision support system</span> Information systems supporting business or organizational decision-making activities

A decision support system (DSS) is an information system that supports business or organizational decision-making activities. DSSs serve the management, operations and planning levels of an organization and help people make decisions about problems that may be rapidly changing and not easily specified in advance—i.e., unstructured and semi-structured decision problems. Decision support systems can be either fully computerized or human-powered, or a combination of both.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

<span class="mw-page-title-main">Data modeling</span> Creating a model of the data in a system

Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques. It may be applied as part of broader Model-driven engineering (MDE) concept.

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

The term conceptual model refers to any model that is formed after a conceptualization or generalization process. Conceptual models are often abstractions of things in the real world, whether physical or social. Semantic studies are relevant to various stages of concept formation. Semantics is fundamentally a study of concepts, the meaning that thinking beings give to various elements of their experience.

<span class="mw-page-title-main">Enterprise modelling</span>

Enterprise modelling is the abstract representation, description and definition of the structure, processes, information and resources of an identifiable business, government body, or other large organization.

<span class="mw-page-title-main">Computational engineering</span>

Computational Engineering is an emerging discipline that deals with the development and application of computational models for engineering, known as Computational Engineering Models or CEM. Computational engineering uses computers to solve engineering design problems important to a variety of industries. At this time, various different approaches are summarized under the term Computational Engineering, including using computational geometry and virtual design for engineering tasks, often coupled with a simulation-driven approach In Computational Engineering, algorithms solve mathematical and logical models that describe engineering challenges, sometimes coupled with some aspect of AI, specifically Reinforcement Learning.

The George E. Brown, Jr. Network for Earthquake Engineering Simulation (NEES) was created by the National Science Foundation (NSF) to improve infrastructure design and construction practices to prevent or minimize damage during an earthquake or tsunami. Its headquarters were at Purdue University in West Lafayette, Indiana as part of cooperative agreement #CMMI-0927178, and it ran from 2009 till 2014. The mission of NEES is to accelerate improvements in seismic design and performance by serving as a collaboratory for discovery and innovation.

Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts.

<span class="mw-page-title-main">ArchiMate</span> Enterprise architecture modeling language

ArchiMate is an open and independent enterprise architecture modeling language to support the description, analysis and visualization of architecture within and across business domains in an unambiguous way.

A dynamic terrain is the representation of terrain together with the capability for modification during a simulation.

The virtual world framework (VWF) is a means to connect robust 3D, immersive, entities with other entities, virtual worlds, content and users via web browsers. It provides the ability for client-server programs to be delivered in a lightweight manner via web browsers, and provides synchronization for multiple users to interact with common objects and environments. For example, using VWF, a developer can take video lesson plans, component objects and avatars and successfully insert them into an existing virtual or created landscape, interacting with the native objects and users via a VWF interface.

References

  1. "Copyright". University of California, Berkeley . Retrieved 2014-05-16.