structsolve 0.9.3__tar.gz → 0.9.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {structsolve-0.9.3/structsolve.egg-info → structsolve-0.9.4}/PKG-INFO +4 -3
- {structsolve-0.9.3 → structsolve-0.9.4}/README.md +3 -2
- {structsolve-0.9.3 → structsolve-0.9.4}/pyproject.toml +1 -1
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/convergence.py +5 -1
- {structsolve-0.9.3 → structsolve-0.9.4/structsolve.egg-info}/PKG-INFO +4 -3
- {structsolve-0.9.3 → structsolve-0.9.4}/LICENSE +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/setup.cfg +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/__init__.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/analysis.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/arc_length.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/arc_length_crisfield.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/arc_length_riks.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/arpackutils.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/callbacks.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/freq.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/linear_buckling.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/logger.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/newton_raphson.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/sparseutils.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve/static.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve.egg-info/SOURCES.txt +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve.egg-info/dependency_links.txt +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve.egg-info/requires.txt +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/structsolve.egg-info/top_level.txt +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_analysis.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_arc_length.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_arc_length_fung_kaplan.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_arpackutils.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_follower_freq_static.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_follower_loads.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_freq.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_linear_buckling.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_linear_buckling_unsymmetric.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_load_factor_dependent_load.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_newton_raphson.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_reuse.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_sparse_first.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_sparseutils.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_static.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_static_deflection.py +0 -0
- {structsolve-0.9.3 → structsolve-0.9.4}/tests/test_warnings_registry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: structsolve
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.4
|
|
4
4
|
Summary: Structural analysis solvers
|
|
5
5
|
Author-email: "Saullo G. P. Castro" <castrosaullo@gmail.com>
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -63,7 +63,7 @@ Currently these solvers are pretty much compatible with my other repository
|
|
|
63
63
|
Citing this library
|
|
64
64
|
===================
|
|
65
65
|
|
|
66
|
-
Saullo G. P. Castro (2026). Structural analysis solvers tailored for semi-analytical models (Version 0.9.
|
|
66
|
+
Saullo G. P. Castro (2026). Structural analysis solvers tailored for semi-analytical models (Version 0.9.4). Zenodo. DOI: https://doi.org/10.5281/zenodo.2581212.
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
Documentation
|
|
@@ -78,7 +78,7 @@ History
|
|
|
78
78
|
|
|
79
79
|
See [CHANGELOG.md](CHANGELOG.md) for the details of each version.
|
|
80
80
|
|
|
81
|
-
* version 0.9.
|
|
81
|
+
* version 0.9.4 (2026-10-28)
|
|
82
82
|
- Crisfield's convergence criterion is the default of the non-linear analyses, `Analysis.convergence = 'crisfield'`, with `relTOL = 1e-9`: the residual and the reference forces are measured with the norm scaled by the diagonal of `calc_kC()` over the free degrees of freedom; the former check is kept with `convergence = 'relative'`
|
|
83
83
|
- With both convergence criteria, an iteration also converges at the round-off floor of its residual, `3 eps ||(|K_C0| |c|)||`: the arc-length methods trace the snap-through of a low arch at `relTOL = 1e-9` through the null load where they stopped
|
|
84
84
|
- `lb` returns the negative load multipliers closest to zero after the positive ones, and a tensile reference load no longer needs the dense fallback
|
|
@@ -87,6 +87,7 @@ See [CHANGELOG.md](CHANGELOG.md) for the details of each version.
|
|
|
87
87
|
- documentation published again: pandoc installed in the documentation workflow
|
|
88
88
|
- `lb` and `freq` no longer reset the registry of the warnings already shown, which made a warning of the caller under the `'default'` action be shown again after each call
|
|
89
89
|
- The residual is `R = Fint - lbd*Fext`, the convention of `pyfe3d.solver` and `panels`, with `K_T dc = -R` in the Newton-Raphson corrections and `dR/dlbd = -Fext`; the solutions are bitwise identical
|
|
90
|
+
- `structsolve.convergence`: the round-off floor cites Higham (2002), Sec. 3.5, for the componentwise bound of the rounding error of a matrix-vector product
|
|
90
91
|
* version 0.8.0 (2026-10-14)
|
|
91
92
|
- Fewer evaluations and factorizations, same solutions: `dR/dlbd` is evaluated together with the tangent stiffness matrix only, Newton-Raphson reuses the factorization of the tangent while it is not updated, the follower linear static analysis factorizes `K0` once, and `lb` estimates its shift and the inertia of `K` once for all its attempts
|
|
92
93
|
* version 0.7.0 (2026-10-13)
|
|
@@ -28,7 +28,7 @@ Currently these solvers are pretty much compatible with my other repository
|
|
|
28
28
|
Citing this library
|
|
29
29
|
===================
|
|
30
30
|
|
|
31
|
-
Saullo G. P. Castro (2026). Structural analysis solvers tailored for semi-analytical models (Version 0.9.
|
|
31
|
+
Saullo G. P. Castro (2026). Structural analysis solvers tailored for semi-analytical models (Version 0.9.4). Zenodo. DOI: https://doi.org/10.5281/zenodo.2581212.
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
Documentation
|
|
@@ -43,7 +43,7 @@ History
|
|
|
43
43
|
|
|
44
44
|
See [CHANGELOG.md](CHANGELOG.md) for the details of each version.
|
|
45
45
|
|
|
46
|
-
* version 0.9.
|
|
46
|
+
* version 0.9.4 (2026-10-28)
|
|
47
47
|
- Crisfield's convergence criterion is the default of the non-linear analyses, `Analysis.convergence = 'crisfield'`, with `relTOL = 1e-9`: the residual and the reference forces are measured with the norm scaled by the diagonal of `calc_kC()` over the free degrees of freedom; the former check is kept with `convergence = 'relative'`
|
|
48
48
|
- With both convergence criteria, an iteration also converges at the round-off floor of its residual, `3 eps ||(|K_C0| |c|)||`: the arc-length methods trace the snap-through of a low arch at `relTOL = 1e-9` through the null load where they stopped
|
|
49
49
|
- `lb` returns the negative load multipliers closest to zero after the positive ones, and a tensile reference load no longer needs the dense fallback
|
|
@@ -52,6 +52,7 @@ See [CHANGELOG.md](CHANGELOG.md) for the details of each version.
|
|
|
52
52
|
- documentation published again: pandoc installed in the documentation workflow
|
|
53
53
|
- `lb` and `freq` no longer reset the registry of the warnings already shown, which made a warning of the caller under the `'default'` action be shown again after each call
|
|
54
54
|
- The residual is `R = Fint - lbd*Fext`, the convention of `pyfe3d.solver` and `panels`, with `K_T dc = -R` in the Newton-Raphson corrections and `dR/dlbd = -Fext`; the solutions are bitwise identical
|
|
55
|
+
- `structsolve.convergence`: the round-off floor cites Higham (2002), Sec. 3.5, for the componentwise bound of the rounding error of a matrix-vector product
|
|
55
56
|
* version 0.8.0 (2026-10-14)
|
|
56
57
|
- Fewer evaluations and factorizations, same solutions: `dR/dlbd` is evaluated together with the tangent stiffness matrix only, Newton-Raphson reuses the factorization of the tangent while it is not updated, the follower linear static analysis factorizes `K0` once, and `lb` estimates its shift and the inertia of `K` once for all its attempts
|
|
57
58
|
* version 0.7.0 (2026-10-13)
|
|
@@ -116,7 +116,8 @@ the component itself, e.g. under large self-equilibrated axial forces,
|
|
|
116
116
|
such that the residual cannot be computed more accurately than about
|
|
117
117
|
`\varepsilon \| |\boldsymbol{K}_{C0}| \, |\boldsymbol{c}| \|`, with `\varepsilon` the machine
|
|
118
118
|
precision and `|\boldsymbol{K}_{C0}|` and `|\boldsymbol{c}|` the elementwise absolute values of the
|
|
119
|
-
linear stiffness matrix and of the solution
|
|
119
|
+
linear stiffness matrix and of the solution, which is the componentwise
|
|
120
|
+
bound of the rounding error of a matrix-vector product [5]_. When this level is above
|
|
120
121
|
`\epsilon` times the references of `\zeta_i`, e.g. near a null load, where
|
|
121
122
|
the references, net force vectors, are small and the element contributions
|
|
122
123
|
are not, the iterations stagnate and every step fails. The iteration `i`
|
|
@@ -174,6 +175,9 @@ References
|
|
|
174
175
|
small curvature, NACA Technical Note 2840, National Advisory Committee
|
|
175
176
|
for Aeronautics, Washington, 1952.
|
|
176
177
|
https://ntrs.nasa.gov/citations/19930083579
|
|
178
|
+
.. [5] Higham, N. J., Accuracy and Stability of Numerical Algorithms, 2nd
|
|
179
|
+
ed., SIAM, 2002, Sec. 3.5, Eqs. (3.12) and (3.13).
|
|
180
|
+
https://doi.org/10.1137/1.9780898718027
|
|
177
181
|
|
|
178
182
|
"""
|
|
179
183
|
import numpy as np
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: structsolve
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.4
|
|
4
4
|
Summary: Structural analysis solvers
|
|
5
5
|
Author-email: "Saullo G. P. Castro" <castrosaullo@gmail.com>
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -63,7 +63,7 @@ Currently these solvers are pretty much compatible with my other repository
|
|
|
63
63
|
Citing this library
|
|
64
64
|
===================
|
|
65
65
|
|
|
66
|
-
Saullo G. P. Castro (2026). Structural analysis solvers tailored for semi-analytical models (Version 0.9.
|
|
66
|
+
Saullo G. P. Castro (2026). Structural analysis solvers tailored for semi-analytical models (Version 0.9.4). Zenodo. DOI: https://doi.org/10.5281/zenodo.2581212.
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
Documentation
|
|
@@ -78,7 +78,7 @@ History
|
|
|
78
78
|
|
|
79
79
|
See [CHANGELOG.md](CHANGELOG.md) for the details of each version.
|
|
80
80
|
|
|
81
|
-
* version 0.9.
|
|
81
|
+
* version 0.9.4 (2026-10-28)
|
|
82
82
|
- Crisfield's convergence criterion is the default of the non-linear analyses, `Analysis.convergence = 'crisfield'`, with `relTOL = 1e-9`: the residual and the reference forces are measured with the norm scaled by the diagonal of `calc_kC()` over the free degrees of freedom; the former check is kept with `convergence = 'relative'`
|
|
83
83
|
- With both convergence criteria, an iteration also converges at the round-off floor of its residual, `3 eps ||(|K_C0| |c|)||`: the arc-length methods trace the snap-through of a low arch at `relTOL = 1e-9` through the null load where they stopped
|
|
84
84
|
- `lb` returns the negative load multipliers closest to zero after the positive ones, and a tensile reference load no longer needs the dense fallback
|
|
@@ -87,6 +87,7 @@ See [CHANGELOG.md](CHANGELOG.md) for the details of each version.
|
|
|
87
87
|
- documentation published again: pandoc installed in the documentation workflow
|
|
88
88
|
- `lb` and `freq` no longer reset the registry of the warnings already shown, which made a warning of the caller under the `'default'` action be shown again after each call
|
|
89
89
|
- The residual is `R = Fint - lbd*Fext`, the convention of `pyfe3d.solver` and `panels`, with `K_T dc = -R` in the Newton-Raphson corrections and `dR/dlbd = -Fext`; the solutions are bitwise identical
|
|
90
|
+
- `structsolve.convergence`: the round-off floor cites Higham (2002), Sec. 3.5, for the componentwise bound of the rounding error of a matrix-vector product
|
|
90
91
|
* version 0.8.0 (2026-10-14)
|
|
91
92
|
- Fewer evaluations and factorizations, same solutions: `dR/dlbd` is evaluated together with the tangent stiffness matrix only, Newton-Raphson reuses the factorization of the tangent while it is not updated, the follower linear static analysis factorizes `K0` once, and `lb` estimates its shift and the inertia of `K` once for all its attempts
|
|
92
93
|
* version 0.7.0 (2026-10-13)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|