Structural analysis solvers tailored for semi-analytical models
- Linear statics: [K]{u} = {f}
- Eigensolver for Linear buckling: ([K] + lambda[KG]){u} = 0
- Eigensolver for dynamics: ([K] + lambda^2[M]){u} = 0
- Nonlinear statics using Newton-Raphson
- Nonlinear statics using the Arc-Length method
Currently these solvers are pretty much compatible with my other repositories panels, buckling.
Citing this library
Saullo G. P. Castro (2026). Structural analysis solvers tailored for semi-analytical models (Version 0.4.1). Zenodo. DOI: https://doi.org/10.5281/zenodo.2581212.
Documentation
The documentation is available on: https://saullocastro.github.io/structsolve.
History
See CHANGELOG.md for the details of each version.
- version 0.4.1 (2026-09-17)
- Fixed the eigenvalue shift of the sparse solver of
lb, which could return buckling loads higher than the critical ones - Newton-Raphson with full Newton iterations and a relative convergence criterion by default, reaching quadratic convergence with exact tangent stiffness matrices
- Fixed the load-factor bookkeeping of Newton-Raphson, which could finish before reaching the full load
- Arc-length methods (Riks and Crisfield) rewritten, able to trace limit points, snap-through and snap-back until a load factor of exactly 1.0
- Sphinx documentation
- Fixed the eigenvalue shift of the sparse solver of
- version 0.3.1 (2026-04-09)
- Robust estimation of the eigenvalue shift for singular matrices in
freqandlb, and newskip_null_colsargument - Python 3.14 support
- Estimation of the eigenvalue shift in
freqandlb - Packaging with
pyproject.toml, GitHub Actions and a test suite
- Robust estimation of the eigenvalue shift for singular matrices in
- version 0.2.2 (2019-03-02)
- Release of 0.2.1 with an updated distribution
- Fixed the dense solver of
freq freqreturns the eigenvalueslambda**2instead of the natural frequencies
- version 0.1.0 (2018-06-23)
- First release, with the solvers from
compmech
- First release, with the solvers from
License
Distributed in the 3-Clause BSD license (https://raw.github.com/saullocastro/structsolve/master/LICENSE).
Contact: S.G.P.Castro@tudelft.nl
Metadata
Release files for structsolve 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| structsolve-0.4.1.tar.gz | 28.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| structsolve-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.7 kB
Release files / structsolve-0.4.1.tar.gz
| Download URL | structsolve-0.4.1.tar.gz |
|---|---|
| Size | 28.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2beb9ecad2bba957e05f9c16819e69f9a3b9a20ea4637d7dfc27b5d95ea14f26
|
|
BLAKE2b-256 checksum How to use checksums |
92723be1ff4c6bf3e84e41a0624812d6585757a7134987c5670e90ec39e42403
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / structsolve-0.4.1-py3-none-any.whl
| Download URL | structsolve-0.4.1-py3-none-any.whl |
|---|---|
| Size | 24.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3200438b36b9a519a86874fa55b49fee80063e606888786cf36c11d9a391383e
|
|
BLAKE2b-256 checksum How to use checksums |
5ab89d88be5837e4f16a7894af5d5936cb9c0875ee03e5fbbfd84ab58ede5024
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|