Metadata-Version: 2.4
Name: ANYstructure
Version: 6.1.1
Summary: A plate field optimization tool for offshore structures calculated according to DNV standards
Home-page: https://github.com/audunarn/ANYstructure
Author: Audun Arnesen Nyhus
Author-email: audunarn@gmail.com
License: MIT
Keywords: dnv-gl-os-c101 dnv-rp-c202 dnv-rp-c201 naval_architecture structural_engineering steel buckling fatigue local_scantlings optimization weight
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib
Requires-Dist: meshio
Requires-Dist: numpy
Requires-Dist: numpy-stl
Requires-Dist: Pillow
Requires-Dist: reportlab
Requires-Dist: scipy
Requires-Dist: xlwings
Requires-Dist: scikit-learn
Provides-Extra: core
Requires-Dist: matplotlib; extra == "core"
Requires-Dist: meshio; extra == "core"
Requires-Dist: numpy; extra == "core"
Requires-Dist: numpy-stl; extra == "core"
Requires-Dist: Pillow; extra == "core"
Requires-Dist: reportlab; extra == "core"
Requires-Dist: scipy; extra == "core"
Provides-Extra: excel
Requires-Dist: xlwings; extra == "excel"
Provides-Extra: ml
Requires-Dist: scikit-learn; extra == "ml"
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Provides-Extra: all
Requires-Dist: matplotlib; extra == "all"
Requires-Dist: meshio; extra == "all"
Requires-Dist: numpy; extra == "all"
Requires-Dist: numpy-stl; extra == "all"
Requires-Dist: Pillow; extra == "all"
Requires-Dist: reportlab; extra == "all"
Requires-Dist: scipy; extra == "all"
Requires-Dist: xlwings; extra == "all"
Requires-Dist: scikit-learn; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

![picture](https://github.com/audunarn/ANYstructure/blob/master/anystruct/images/ANYstructure_logo.jpg)

# ANYstructure #
ANYstructure is the ultimate steel structure design tool for plate fields and cylinders! 
Weight, weld and cost optimization.
Calculations are based on DNV standards and recommended practices.

### What's new in 6.1.1 ###
* Urgent fix for cylindrical shell updates where hidden cone defaults could overwrite radius, ring spacing and shell lengths.
* 3D CAD export dialog now includes a transformation scale input and keeps intermediate IFC files unchecked by default.
* 3D solid export can write one joined IFC product without building a heavy global boolean union.

### What's new in 6.1.0 ###
* Simplified GUI input option.
* Weld/weight optimization.
* Cost optimization.
* 3D representation of panels/cylinders.
* Improved Semi-analytical buckling implementation.
* Optimization of stiffened plate with girder.
* Bug fixing.
* Export 3D shell model.
* SciPy Differential Evolution Optimizer added.

### What's new in 6.0.3 ###
* New buckling method: Semi-analytical buckling for flat plates.
* Updated ML buckling to numerical instead of classification. Improved accuracy of the neural network.
* Updated color coding option.
* Implemented extended testing regime.
* Started work on separating calculation code from the GUI.
* Python 3.14 supported.
* Addressed some calculation bugs.
* Updated API.

------------------------------------------------------------------------

For documentation:

https://anystructure.readthedocs.io/en/latest/

For tutorials:

https://www.youtube.com/@ANYopenSoft

## Development setup ##

ANYstructure is currently maintained as a Python package named `anystruct`. The GUI can still be launched through the `ANYstructure` console command after an editable install.

Recommended local setup:

```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements-dev.txt
python -m pip install -e .
python -m pytest
```

Launch the desktop app after installation:

```powershell
ANYstructure
```

Dependency groups are also available for focused installs:

```powershell
python -m pip install -r requirements-core.txt
python -m pip install -r requirements-ml.txt
python -m pip install -r requirements-excel.txt
```

Equivalent package extras are exposed as `core`, `ml`, `excel`, `dev`, and `all`. The default package install still includes Excel and ML dependencies for backwards compatibility.

Excel project import requires a local Excel installation and is not expected to run in basic automated tests.
The external Excel-sheet DNV PULS calculation workflow has been removed from this release; ML-CL remains available.

## The following is calculated: ##
* Minimum plate thickness (DNV-OS-C101)
* Minimum section modulus of stiffener/plate (DNVGL-OS-C101)
* Minimum shear area (DNVGL-OS-C101)
* Buckling (DNVGL-RP-C201)
* Buckling strength of shells DNV-RP-C202
* Machine learning buckling, PULS based
* Semi-analytical buckling
* Fatigue for plate/stiffener connection (DNVGL-RP-C203)


Compartments (tank pressures) are created automatically.

Pressures on external hull (or any other generic location) is defined by specifying equations.

You can optimize cylinders, single plate/stiffener field or multiple. Geometry of double bottom can be optimized.

PLEASE CONTRIBUTE. REPORT BUGS ERRORS ETC.
For windows executable (.exe) version for non-coders, use the link below.

Feedback: audunarn@gmail.com or discuss on github.

Please like, share or comment on LinkedIn: https://www.linkedin.com/in/audun-arnesen-nyhus-6aa17118/

Screenshot (this example can be loaded from file "ship_section_example.txt"):

![picture](https://github.com/audunarn/ANYstructure/blob/master/anystruct/images/ANYstructure%20screenshot.png)
