ANYbuckling
Buckling of stiffened flat panels, cylinders and curved plates according to DNV standards.
ANYbuckling is the standalone calculation engine extracted from ANYstructure. It has no GUI and only depends on numpy and scipy.
Calculation methods
| Method | Standard | Entry point |
|---|---|---|
| Prescriptive flat-plate buckling | DNV-RP-C201 | anybuckling.FlatStru |
| Prescriptive cylinder / curved plate buckling | DNV-RP-C202 | anybuckling.CylStru |
| Semi-analytical stiffened/unstiffened panel (S3/U3) | PULS-type ultimate capacity | anybuckling.semianalytical |
| DNV PULS Excel runner (optional, licensed sheet required) | PULS | anybuckling.puls.PULSpanel |
The ML-based buckling predictions available in ANYstructure are not part of this package.
Installation
pip install ANYbuckling
Optional extras:
pip install ANYbuckling[excel] # xlwings, needed only for the PULS Excel runner
Quick start
Flat stiffened panel (DNV-RP-C201, prescriptive)
from anybuckling import FlatStru
panel = FlatStru('Flat plate, stiffened')
panel.set_material(mat_yield=355, emodule=210000, material_factor=1.15, poisson=0.3)
panel.set_plate_geometry(spacing=680, thickness=12, span=3300)
panel.set_stresses(pressure=0.01, sigma_x1=50, sigma_x2=50,
sigma_y1=100, sigma_y2=100, tau_xy=5)
panel.set_stiffener(hw=260, tw=12, bf=49, tf=28, stf_type='bulb', spacing=680)
panel.set_buckling_parameters(calculation_method='DNV-RP-C201 - prescriptive',
buckling_acceptance='ultimate')
results = panel.get_buckling_results()
print(results['Plate']['Plate buckling']) # plate UF
print(results['Stiffener']) # stiffener UFs
Domains: 'Flat plate, unstiffened', 'Flat plate, stiffened' and
'Flat plate, stiffened with girder'. Switch calculation_method to
'SemiAnalytical S3/U3' to run the same panel through the
semi-analytical solver.
Cylinder (DNV-RP-C202)
from anybuckling import CylStru
cyl = CylStru(calculation_domain='Longitudinal Stiffened shell')
cyl.set_material(mat_yield=355, emodule=210000, material_factor=1.15, poisson=0.3)
cyl.set_stresses(sasd=-137.6, tQsd=78.3, shsd=-3.9)
cyl.set_shell_geometry(radius=6500, thickness=19,
tot_length_of_shell=20000, distance_between_rings=3300)
cyl.set_longitudinal_stiffener(hw=232, tw=12, bf=49, tf=28, spacing=680)
cyl.set_imperfection()
cyl.set_fabrication_method()
cyl.set_end_cap_pressure_included_in_stress()
cyl.set_uls_or_als('ULS')
cyl.set_shell_buckling_parmeters()
print(cyl.get_buckling_results())
Domains cover unstiffened, longitudinally stiffened, ring stiffened and orthogonally stiffened shells and panels, plus unstiffened conical shells, with either stress or force input.
Semi-analytical S3/U3 solver directly
from anybuckling.semianalytical import row_to_s3_input, solve_s3_panel
row = {
'Length of panel': 3300.0, 'Stiffener spacing': 680.0, 'Plate thick.': 12.0,
'Stiffener type': 'L-bulb', 'Stiffener boundary': 'Cont',
'Stiff. Height': 260.0, 'Web thick.': 12.0, 'Flange width': 49.0,
'Flange thick.': 28.0, 'Yield stress plate': 355.0, 'Yield stress stiffener': 355.0,
'Axial stress': 50.0, 'Trans. stress 1': 100.0, 'Trans. stress 2': 100.0,
'Shear stress': 5.0, 'Pressure (fixed)': 0.01, 'In-plane support': 'Integrated',
}
result = solve_s3_panel(row_to_s3_input(row))
print(result.valid, result.buckling_usage_factor, result.ultimate_usage_factor)
The solver also ships a benchmark and verification CLI:
python -m anybuckling.semianalytical --help
Relation to ANYstructure
The classes keep their original ANYstructure names (Structure,
CalcScantlings, AllStructure, Shell, CylinderAndCurvedPlate,
PULSpanel) because ANYstructure uses this package as a dependency. Fatigue,
load combinations, optimization, FE integration, machine-learning prediction,
and the GUI remain in ANYstructure.
Development
pip install -e .[dev]
pytest
License
GPL-3.0-or-later. See LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anybuckling-0.1.1.tar.gz.
File metadata
- Download URL: anybuckling-0.1.1.tar.gz
- Upload date:
- Size: 154.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
711da9686c3f0d14fece488fdf7fa787d0bfe703af42f8d1b124b290816f1fec
|
|
| MD5 |
dfb05e3be41b0c71ed28739423ffd343
|
|
| BLAKE2b-256 |
8b1e951a389d5dd1ea8323938ce447ec99b88041ac9e095de4bdd2da99d8107b
|
Provenance
The following attestation bundles were made for anybuckling-0.1.1.tar.gz:
Publisher:
publish-release-assets.yml on audunarn/ANYbuckling
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anybuckling-0.1.1.tar.gz -
Subject digest:
711da9686c3f0d14fece488fdf7fa787d0bfe703af42f8d1b124b290816f1fec - Sigstore transparency entry: 2651620409
- Sigstore integration time:
-
Permalink:
audunarn/ANYbuckling@a871d5a3c466666b79f3ce3a015a2cfd7534376b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/audunarn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release-assets.yml@a871d5a3c466666b79f3ce3a015a2cfd7534376b -
Trigger Event:
release
-
Statement type:
File details
Details for the file anybuckling-0.1.1-py3-none-any.whl.
File metadata
- Download URL: anybuckling-0.1.1-py3-none-any.whl
- Upload date:
- Size: 145.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89123d04e4e83d5896e48218a5c247f1815d5a9ead8ae97f5f4f9ede7aed8360
|
|
| MD5 |
f86ea828ba3d682957cdaa97839e853d
|
|
| BLAKE2b-256 |
c4719cf77945b64e9b415f942b90e1592154833d9a84705c6e969df372e5ed4d
|
Provenance
The following attestation bundles were made for anybuckling-0.1.1-py3-none-any.whl:
Publisher:
publish-release-assets.yml on audunarn/ANYbuckling
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anybuckling-0.1.1-py3-none-any.whl -
Subject digest:
89123d04e4e83d5896e48218a5c247f1815d5a9ead8ae97f5f4f9ede7aed8360 - Sigstore transparency entry: 2651620449
- Sigstore integration time:
-
Permalink:
audunarn/ANYbuckling@a871d5a3c466666b79f3ce3a015a2cfd7534376b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/audunarn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release-assets.yml@a871d5a3c466666b79f3ce3a015a2cfd7534376b -
Trigger Event:
release
-
Statement type: