Metadata-Version: 2.4
Name: ospgrillage
Version: 0.5.1
Summary: Bridge deck grillage analysis using OpenSeesPy
Author-email: Monash Smart Structures <colin.caprani@monash.edu>, Jun Wei Ngan <jun.ngan@monash.edu>, Colin <colin.caprani@monash.edu>
License: MIT
Project-URL: Homepage, https://monashsmartstructures.github.io/ospgrillage/
Project-URL: Documentation, https://monashsmartstructures.github.io/ospgrillage/
Project-URL: Source, https://github.com/MonashSmartStructures/ospgrillage
Project-URL: Tracker, https://github.com/MonashSmartStructures/ospgrillage/issues
Keywords: bridge, grillage, openseespy
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Scientific/Engineering
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: openseespy>=3.2.2.6
Requires-Dist: opsvis>=1.0
Requires-Dist: matplotlib
Requires-Dist: numpy>=1.26
Requires-Dist: pandas
Requires-Dist: scipy>=1.10.1
Requires-Dist: xarray
Provides-Extra: test
Requires-Dist: pytest>=6.2.2; extra == "test"
Provides-Extra: gui
Requires-Dist: PyQt5; extra == "gui"
Requires-Dist: PyQtWebEngine; extra == "gui"
Requires-Dist: plotly>=5.0; extra == "gui"
Provides-Extra: legacy-viz
Requires-Dist: vfo>=0.0.6; extra == "legacy-viz"
Dynamic: license-file

![ospgrillage logo](https://raw.githubusercontent.com/MonashSmartStructures/ospgrillage/main/docs/source/images/ospgrillage_logo.png)

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![version](https://img.shields.io/github/downloads/MonashSmartStructures/ospgrillage/total?label=version)]() 
![GitHub issues](https://img.shields.io/github/issues/MonashSmartStructures/ospgrillage?logoColor=yellowgreen)
![GitHub pull requests](https://img.shields.io/github/issues-pr/MonashSmartStructures/ospgrillage?color=yellowgreen)
[![PyPI](https://img.shields.io/pypi/v/ospgrillage)]()
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/MonashSmartStructures/ospgrillage/Build%20and%20deploy)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/MonashSmartStructures/ospgrillage/Deploy%20to%20GitHub%20Pages?label=gh%20page%20build)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/MonashSmartStructures/ospgrillage/Tests?label=Tests)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/MonashSmartStructures/ospgrillage)
![GitHub last commit](https://img.shields.io/github/last-commit/MonashSmartStructures/ospgrillage?color=ff69b4)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)
[![codecov](https://codecov.io/gh/MonashSmartStructures/ospgrillage/branch/main/graph/badge.svg?token=dUTOmPBnyP)](https://codecov.io/gh/MonashSmartStructures/ospgrillage)
[![status](https://joss.theoj.org/papers/d44339b03dc4f1add2678167c1a1b6de/status.svg)](https://joss.theoj.org/papers/d44339b03dc4f1add2678167c1a1b6de)
[![DOI](https://zenodo.org/badge/365436121.svg)](https://zenodo.org/badge/latestdoi/365436121)



# Overview

*ospgrillage* is a python wrapper of the *OpenSeesPy* package to speed up the creation of bridge deck grillage models. [OpenSeesPy](openseespydoc.readthedocs.io) is a python interpreter of the well-know Open System for Earthquake Engineering Simulation ([OpenSees](https://opensees.berkeley.edu/)) software framework. *ospgrillage* provides a simple python API which allows users to:

1. Quickly generate and analyze a bridge deck grillage model in the *OpenSeesPy* model space, including many forms of loading and load cases;
2. Export a py file containing the *OpenSeesPy* commands, which on execution, creates the prescribed *OpenSeesPy* grillage model.

The ability to use *ospgrillage* directly to do bridge deck analysis, or to export the *OpenSeesPy* command file for further editing, facilites an enormous range of use cases in both practice and research.

## Documentation

*ospgrillage*'s full documentation can be found [here](https://monashsmartstructures.github.io/ospgrillage/index.html).

## Installation

Install using pip:
```bash
    pip install ospgrillage
```
    
Refer to the [installation docs](https://monashsmartstructures.github.io/ospgrillage/pages/installation.html) for more information.

## Contributions

Check out our [contributing guide](https://github.com/MonashSmartStructures/ospgrillage/blob/main/.github/CONTRIBUTING.md) to learn more on contributing, coding rules, community Code of Conduct and more.

## Citing

If you use *ospgrillage* in your work, please cite the corresponding JOSS paper:

> Ngan, J.W. and Caprani, C.C. (2022), "*ospgrillage*: A bridge deck grillage analysis
> preprocessor for OpenSeesPy", *Journal of Open Source Software*, 7(77), 4404.
> [doi.org/10.21105/joss.04404](https://doi.org/10.21105/joss.04404)

[![JOSS](https://joss.theoj.org/papers/d44339b03dc4f1add2678167c1a1b6de/status.svg)](https://joss.theoj.org/papers/d44339b03dc4f1add2678167c1a1b6de)


# Capabilities

## Modelling

### Bridge Deck Models
-  Beam elements only - a traditional form of model
-  Beam elements with rigid links - a modification of the traditional form for box sections
-  Shell and beam elements - the modern form of modelling, but with more complex results interpretation

### Meshing
-  Single-span decks
-  Skewed (Oblique) and Orthogonal meshes
-  Positive and negative skew angles
-  Allows for skew mesh to be set up to 30 degrees
-  Allows for orthogonal mesh to be set no less than 11 degrees
-  Grillage elements grouped automatically for easy assignment of properties
-  Autodetect edges of spans as supporting nodes
-  Allows for diaphragms / end slabs
-  Allows for unit width properties for transverse slab/members
-  Pinned and roller supports

### Element types
The following *OpenSees* element types are supported:
-  `elasticBeamColumn`
-  `TimoshenkoBeamColumn`  
-  Shell elements

## Materials
-  A JSON materials library file for codified common material properties

## Utilities

### Load types
-  Nodal loads
-  Point loads
-  Line loads
-  Patch loads
-  Compound loads (any combination of the above load types) 

### Analysis
-  Load cases contain arbitrary multiple load types, including compound loads
-  Moving load analysis of arbitrary load types through compound loads

### Post-processing
-  Output results utilise python's `xarray` format
-  Retrieve result envelopes from `xarray` results
-  Query options for moving load 
-  Plotting displacement and force component from the results

# Credits
- Mayer Melhem for producing the documentation illustrations and the design of the *ospgrillage* logo.
