Metadata-Version: 2.3
Name: b3p
Version: 0.0.4rc12
Summary: Command line tools for preprocessing of wind turbine blade models
License: MIT
Author: wr1
Author-email: 8971152+wr1@users.noreply.github.com
Requires-Python: >=3.9.7
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: cyclopts (>=2.9.9,<3.0.0)
Requires-Dist: frd2vtu (>=0.1.3rc1,<0.2.0)
Requires-Dist: h5py (>=3.11.0,<4.0.0)
Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
Requires-Dist: meshio (>=5.3.5,<6.0.0)
Requires-Dist: mkdocs-material (>=9.6.1,<10.0.0)
Requires-Dist: numpy (>2.0.0)
Requires-Dist: pandas (>=2.2.3,<3.0.0)
Requires-Dist: pyarrow (>18)
Requires-Dist: pytest (>=8.3.3,<9.0.0)
Requires-Dist: pytest-cov (>=6.0.0,<7.0.0)
Requires-Dist: pyvista (>=0.43.5)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: ruamel-yaml (>=0.18.6)
Requires-Dist: scipy (>=1.13.0,<2.0.0)
Requires-Dist: sympy (>=1.13.3,<2.0.0)
Requires-Dist: vtk (>=9.3,<9.4)
Description-Content-Type: text/markdown

[![Deploy](https://github.com/wr1/b3p/actions/workflows/publish.yml/badge.svg)](https://github.com/wr1/b3p/actions/workflows/publish.yml)[![Test](https://github.com/wr1/b3p/actions/workflows/test.yml/badge.svg)](https://github.com/wr1/b3p/actions/workflows/test.yml)![PyPI](https://img.shields.io/pypi/v/b3p)

# b3p 
Command line tools to create models for composite (wind turbine) blades. 

## Functionality
- Building 3D models of wind turbine blades
- Creating a quad mesh for the blade
- Assigning scalable *slab based* laminate plans to the structure
- Assembling a shell mesh with laminate properties
- Writing mesh information to VTK files

## Install
From pypi
```sh
pip install b3p
``` 
From source
```sh
git clone https://github.com/wr1/b3p.git
cd b3p 
pip install -e .
``` 
## How to run
```sh 
Usage: b3p COMMAND

╭─ Commands ──────────────────────────────────────────────────╮
│ 2d         Create 2d meshes for calculation of 6x6 matrices │
│ build      Build the blade model, geometry, mesh, drape     │
│ ccx        Run the ccx analysis                             │
│ clean      Clean the working directory.                     │
│ shell      Start an interactive shell.                      │
│ --help,-h  Display this message and exit.                   │
│ --version  Display application version.                     │
╰─────────────────────────────────────────────────────────────╯
```
In a cloned repository:
```sh
cd examples
# build the blade model, geometry, mesh, drape
b3p build blade_test.yml
# run the ccx fea analysis
b3p ccx blade_test.yml  
```

## Output
Plot of geometric input parameters for the example blade
![test_blade](https://user-images.githubusercontent.com/8971152/148471383-7f652a84-447a-4db0-81e2-2e27b1785745.png)

Visualisation of the number of plies on the mesh using [Paraview](https://paraview.org)
![3dblade_nplies](https://user-images.githubusercontent.com/8971152/148471469-61fb3efb-1789-4667-97b4-11b9e36d2e73.png)

Visualisation of a 2d cross section mesh 
![mesh2d](https://user-images.githubusercontent.com/8971152/148645980-51c36e1a-89e1-469d-aeea-49bf5adf4070.png)

[CalculiX](http://www.dhondt.de/) results (very coarse mesh)
![zstrain](https://user-images.githubusercontent.com/8971152/151350188-0a6f31bf-5f0e-457b-b6cb-438bb10b4c91.png)



