Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
yexiang1992 committed Nov 26, 2024
1 parent 86f0193 commit 7f9ac77
Showing 1 changed file with 34 additions and 56 deletions.
90 changes: 34 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<p align="center">
<font size=7><a href="https://github.com/yexiang1992/opstool">opstool</a></font>
<p align="center"><font size=5 color=YellowGreen>modelling, visualization, post-processing for OpenSeesPy.</font></p>
</p>
# opstool
*Pre-Processing, Post-Processing, and Visualization Tailored for OpenSeesPy*

[![pypi](https://img.shields.io/pypi/v/opstool)](https://pypi.org/project/opstool/)
[![Downloads](https://static.pepy.tech/badge/opstool)](https://pepy.tech/project/opstool)
Expand All @@ -10,80 +8,60 @@
![license](https://img.shields.io/github/license/yexiang1992/opstool)
[![code grade](https://img.shields.io/codefactor/grade/github/yexiang1992/opstool)](https://www.codefactor.io/repository/github/yexiang1992/opstool)

`opstool` is a useful toolbox package aims to help [OpenSeesPy](https://openseespydoc.readthedocs.io/en/latest/) _pre-processing_, _visualization_, _analysis-aid_, etc.
The package is still under development.
``opstool`` is a powerful and user-friendly package designed to simplify and enhance structural analysis workflows
with [OpenSees](https://opensees.berkeley.edu/) and [OpenSeesPy](https://openseespydoc.readthedocs.io/en/latest/).
It provides advanced tools for preprocessing, postprocessing, and visualization, making structural
simulations more efficient and accessible.

The package is still under development.
To use, install `opstool` from [opstool-PyPI](https://pypi.org/project/opstool/):


```python
```bash
pip install --upgrade opstool
```

The restriction on the python version mainly depends on `openseespy`,
it is recommended that you use [Anaconda](https://www.anaconda.com/) to avoid library version incompatibilities.

### Document
## Document

**Latest**: See [https://opstool.readthedocs.io/en/latest/](https://opstool.readthedocs.io/en/latest/).

**Stable**: See [https://opstool.readthedocs.io/en/stable/](https://opstool.readthedocs.io/en/stable/)

### Visualization

#### Based on [plotly](https://plotly.com/python/)

| Model | Modal | Deformation |
| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/CvGfgAi6IMlw9JQ.png) | ![](https://s2.loli.net/2023/03/27/r1NaUGuiEcjJMYn.png) | ![](https://s2.loli.net/2023/03/27/TzL3YsmPQU1nlx8.png) |
| ![](https://s2.loli.net/2023/03/27/cUXb3oJF6BuqpCg.png) | ![](https://s2.loli.net/2023/03/27/LstpljZ6SWqJCzU.png) | ![](https://s2.loli.net/2023/03/27/ejBhzgDwR4NAcdM.png) |
| ![](https://s2.loli.net/2023/03/27/hSYqerWg9O5xmvB.png) | ![](https://s2.loli.net/2023/03/27/MWqZnDu8hUF4wBt.png) | ![](https://s2.loli.net/2023/03/27/1yVpOlzWgHGLBRC.png) |

<!-- ![CableBridgeModelVis.png](https://s2.loli.net/2022/12/02/iPhmRDaO83AVkbv.png)
![CableBridgeEigenVis.png](https://s2.loli.net/2022/12/02/3UzvQldb8CSIYJw.png)
> 📌 **Note:** Since an opstool version **v1.0.1**, the API and features have undergone significant changes and upgrades. As a result, it feels more like a new library, and you should take some time to familiarize yourself with the new interface usage.
![CableBridgeDefoVis.png](https://s2.loli.net/2022/12/02/qV2XzOkiMQTRl5D.png) -->
## Key Features

#### Based on [pyvista](https://docs.pyvista.org/)
1. **Preprocessing Tools**:
- *Fiber Section Meshing*: Generate detailed fiber meshes for various geometries.
- *GMSH Integration*: Import and convert `Gmsh <https://gmsh.info/>`__ models, including geometry, mesh, and physical groups.
- *Unit System Management*: Ensure consistency with automatic unit conversions.
- *Mass Generation*: Automate lumped mass calculations.
2. **Postprocessing Capabilities**:
- Easy retrieval and interpretation of analysis results using `xarray <https://docs.xarray.dev/en/stable/index.html#>`__.
3. **Visualization**:
- Powered by `PyVista <https://docs.pyvista.org/>`__ (VTK-based) and `Plotly <https://plotly.com/python/>`__ (web-based).
- Nearly identical APIs for flexible visualization of model geometry, modal analysis, and simulation results.
- Supports most common OpenSees elements.
4. **Intelligent Analysis**:
- Features like automatic step size adjustment and algorithm switching to optimize simulation workflows.
- Moment-Curvature Analysis: Generate moment-curvature curves for various sections.

| Model | Eigen | Deformation |
| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/NfVY135ibDSdCgj.png) | ![](https://s2.loli.net/2023/03/27/r1NaUGuiEcjJMYn.png) | ![](https://s2.loli.net/2023/03/27/EMo5lJx2eC9zSm4.png) |
| ![](https://s2.loli.net/2023/03/27/YWVnahNiwgFS6tE.png) | ![](https://s2.loli.net/2023/03/27/vFuV8IfHosRJYkG.png) | ![](https://s2.loli.net/2023/03/27/KFzs3qoy2cEWl7u.png) |
| ![](https://s2.loli.net/2023/03/27/fPgMBHSrNJazbCI.png) | ![](https://s2.loli.net/2023/03/27/Ei9tMheJm5LPuax.png) | ![](https://s2.loli.net/2023/03/27/xE1CycfZYhTW6OX.png) |
## Why Choose opstool?

<!-- ![None.png](https://s2.loli.net/2022/12/07/TElXvIoDZFAfysc.png)
- **Efficiency**: Streamlines complex workflows, reducing time spent on repetitive tasks.
- **Flexibility**: Provides nearly identical interfaces for different visualization engines.
- **Accessibility**: Makes advanced structural analysis tools like OpenSeesPy more approachable to users of all levels.

![None.png](https://s2.loli.net/2022/12/07/bMqL2kKHpN4XBeZ.png) -->
``opstool`` is actively evolving, with continuous additions of new features planned for the future.
With ``opstool``, you can focus on what matters most:
understanding and solving your structural engineering challenges.
Whether you are building models, visualizing results, or interpreting data,
``opstool`` is your go-to solution for OpenSeesPy workflows.

#### Animation

| Eigen | Deformation |
| :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2022/12/07/akOEebwrNZCuj2V.gif) | ![](https://s2.loli.net/2022/12/07/KVEYO6eC8hlWvXg.gif) |

#### Fiber section vis

| &#x2705; | &#x2705; |
| :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2022/12/03/jwvVecT3GCWbdBI.png) | ![](https://s2.loli.net/2022/12/03/NQ5VOA6iUFtY9af.png) |

### Fiber Section Mesh Generation

| &#x2705; | &#x2705; | &#x2705; |
| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/bRYlfP8vNLEeJxF.png) | ![](https://s2.loli.net/2023/03/27/XfPkFKYmZEWJqnc.png) | ![](https://s2.loli.net/2023/03/27/YuwXlkZCIQRnsiK.png) |
| ![](https://s2.loli.net/2023/03/27/z2JvO3B9GD8EnkC.png) | ![](https://s2.loli.net/2023/03/27/ci3DtqojAy9zfeH.png) | ![](https://s2.loli.net/2023/03/27/Ss3rlzUv7u2Pjp6.png) |

### Moment-Curvature Analysis of Fiber Section

| Section Mesh | Moment-Curvature Analysis |
| :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/z6S4sL8RbfeApV7.png) | ![](https://s2.loli.net/2023/03/27/lGFdgMypkxHW3PU.png) |

### License

This software is published under the [GPLv3 license](https://www.gnu.org/licenses/gpl-3.0.en.html).

...

0 comments on commit 7f9ac77

Please sign in to comment.