# Abdbeam : composites cross section analysis
A Python package for the cross section analysis of composite material beams of any shape.
![Abdbeam Hat Example](https://user-images.githubusercontent.com/24232637/51789056-0d42e200-2153-11e9-9fae-cdd82db90422.png)
## Main features
These are a few things you can do with **Abdbeam**:
* Use a fast thin-walled anisotropic composite beam theory including closed cells, open branches, shear connectors and booms (discrete stiffeners containing axial and torsional stiffnesses);
* Recover replacement stiffnesses (EA, EIyy, EIzz, EIyz, GJ) and/or a full 4 x 4 stiffness matrix for beams with arbitrary layups and shapes;
* Recover centroid and shear center locations;
* Obtain internal load distributions (Nx, Nxy, Mx, My, Mxy for segments; Px and Tx for booms) for a large number of cross section load cases (defined by Px, My, Mz, Tz, Vy and Vz section loads);
* Plot cross sections, their properties and internal loads.
## Installing
Install using PyPI ([Python package index](https://pypi.org/project/abdbeam)) :
```sh
pip install abdbeam
```
## Source and Documentation
The source code is hosted on GitHub at https://github.com/victorazzo/abdbeam and the documentation can be found at https://docs.abdbeam.org.
## Dependencies
- [NumPy](https://www.numpy.org)
- [Pandas](https://pandas.pydata.org)
- [Matplotlib](https://matplotlib.org)
## Example
Let's use **Abdbeam** to analyze the cross section with two closed cells below:
<img src="https://user-images.githubusercontent.com/24232637/50049830-266c6380-00bc-11e9-808d-97896d3f3e16.png" width="400">
Start creating the section materials, its points and segments (we'll also calculate the section properties and request a summary at the end):
```python
import abdbeam as ab
sc = ab.Section()
# Create a materials dictionary:
mts = dict()
mts[1] = ab.Laminate()
ply_mat = ab.PlyMaterial(0.166666, 148000, 9650, 4550, 0.3)
mts[1].ply_materials[1] = ply_mat
mts[1].plies = [[0,1]]*6 + [[45,1]]*6
# Create a points dictionary based on Y and Z point coordinates:
pts = dict()
pts[1] = ab.Point(0, -35)
pts[2] = ab.Point(-50, -35)
pts[3] = ab.Point(-50, 35)
pts[4] = ab.Point(0, 35)
pts[5] = ab.Point(50, 35)
pts[6] = ab.Point(50, -35)
# Create a segments dictionary referencing point and material ids:
sgs = dict()
sgs[1] = ab.Segment(1,2,1)
sgs[2] = ab.Segment(2,3,1)
sgs[3] = ab.Segment(3,4,1)
sgs[4] = ab.Segment(4,1,1)
sgs[5] = ab.Segment(4,5,1)
sgs[6] = ab.Segment(5,6,1)
sgs[7] = ab.Segment(6,1,1)
# Point the dictionaries to the section
sc.materials = mts
sc.points = pts
sc.segments = sgs
# Calculate and output section properties
sc.calculate_properties()
sc.summary()
```
Which prints:
```sh
Section Summary
===============
Number of points: 6
Number of segments: 7
Number of cells: 2
Centroid
--------
yc = -2.67780636e-01
zc = 0.00000000e+00
Shear Center
------------
ys = 2.35301214e-03
zs = -1.45758049e-03
Replacement Stiffnesses
-----------------------
EA = 6.80329523e+07
EIyy = 5.24834340e+10
EIzz = 8.36408748e+10
EIyz = 0.00000000e+00
GJ = 1.23762317e+10
EImax = 8.36408748e+10
EImin = 5.24834340e+10
Angle = 0.00000000e+00
[P_c] - Beam Stiffness Matrix at the Centroid
---------------------------------------------
[[ 6.80329523e+07 0.00000000e+00 2.46320132e+05 -1.43701515e+08]
[ 0.00000000e+00 5.24834340e+10 0.00000000e+00 0.00000000e+00]
[ 2.46320132e+05 0.00000000e+00 8.36408748e+10 -2.12142163e+07]
[-1.43701515e+08 0.00000000e+00 -2.12142163e+07 1.23762317e+10]]
[W_c] - Beam Compliance Matrix at the Centroid
----------------------------------------------
[[1.50683149e-08 0.00000000e+00 1.66286490e-28 1.74959530e-10]
[0.00000000e+00 1.90536313e-11 0.00000000e+00 0.00000000e+00]
[1.57282135e-25 0.00000000e+00 1.19558821e-11 2.04936911e-14]
[1.74959530e-10 0.00000000e+00 2.04936911e-14 8.28315446e-11]]
[P] - Beam Stiffness Matrix at the Origin
-----------------------------------------
[[ 6.80329523e+07 0.00000000e+00 -1.79715871e+07 -1.43701515e+08]
[ 0.00000000e+00 5.24834340e+10 0.00000000e+00 0.00000000e+00]
[-1.79715871e+07 0.00000000e+00 8.36456213e+10 1.72662667e+07]
[-1.43701515e+08 0.00000000e+00 1.72662667e+07 1.23762317e+10]]
[W] - Beam Compliance Matrix at the Origin
------------------------------------------
[[1.50691722e-08 0.00000000e+00 3.20155371e-12 1.74965018e-10]
[0.00000000e+00 1.90536313e-11 0.00000000e+00 0.00000000e+00]
[3.20155371e-12 0.00000000e+00 1.19558821e-11 2.04936911e-14]
[1.74965018e-10 0.00000000e+00 2.04936911e-14 8.28315446e-11]]
```
Now let's create two load cases (101 and 102) and calculate their internal loads:
```python
sc.loads = dict()
sc.loads[101] = ab.Load(My=5e6)
sc.loads[102] = ab.Load(Tx=250000, Vz=5000.0)
sc.calculate_internal_loads()
```
Next print all internal loads (which outputs a lot of data we'll not show here):
```python
sc.print_internal_loads()
```
Or access the Pandas dataframe containing these internal loads directly:
```python
df = sc.sgs_int_lds_df
```
Next plot the cross section and its properties (we'll show the segment orientations, hide legends, change the centroid , shear center and principal axis colors and use a custom figure size):
```python
ab.plot_section(sc, segment_coord=True, title='Abdbeam - Example',
legend=False, prop_color='#471365', figsize=(5.12, 3.84))
```
![Abdbeam Plot Section Example](https://user-images.githubusercontent.com/24232637/51790615-babef100-2165-11e9-83c8-72a0d1a6c1f0.png)
Finally, plot Nx and Nxy for load case 101 (we'll change the matplotlib contour palette, reduce the internal load diagram scale, and use a custom figure size):
```python
ab.plot_section_loads(sc, 101, contour_color='viridis', diagram_scale=0.7,
int_load_list=['Nx', 'Nxy'], figsize=(5.12, 3.84))
```
![Abdbeam Plot Loads Example](https://user-images.githubusercontent.com/24232637/52542062-0a0e3f80-2d6a-11e9-8f17-323d5186180b.png)
## License
BSD-3
## Contribute
**Abdbeam** is at its early development stages and we encourage you to pitch in and [contribute on GitHub](https://github.com/victorazzo/abdbeam). Guidelines for contributors are in the works, so stay tuned.
## Theory
For the theory behind Abdbeam, the most complete reference is:
[Victorazzo DS, De Jesus A. A Kollár and Pluzsik anisotropic composite beam theory for arbitrary multicelled cross sections. Journal of Reinforced Plastics and Composites. 2016 Dec;35(23):1696-711.](https://journals.sagepub.com/doi/abs/10.1177/0731684416665493)
These are also great references on its originating theory:
* [Kollár LP, Springer GS. Mechanics of composite structures. Cambridge university press; 2003 Feb 17.](https://www.amazon.com/Mechanics-Composite-Structures-L%C3%A1szl%C3%B3-Koll%C3%A1r/dp/0521126908/ref=sr_1_1?ie=UTF8&qid=1544936929&sr=8-1&keywords=Mechanics+of+composite+structures)
* [Kollár LP and Pluzsik A. Analysis of thin-walled composite beams with arbitrary layup. J Reinf Plast Compos 2002; 21: 1423–1465.](https://journals.sagepub.com/doi/abs/10.1177/0731684402021016928)
Note: the effects of shear deformation and restrained warping are assumed negligible in **Abdbeam**. Check the references above for more details.
没有合适的资源?快使用搜索试试~ 我知道了~
用于任何形状 的复合 材料梁 的横截面分析的 Python 包_python_代码_下载
共45个文件
png:16个
py:14个
rst:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 4 下载量 181 浏览量
2022-07-03
16:42:25
上传
评论 1
收藏 418KB ZIP 举报
温馨提示
主要特点 这些是您可以使用Abdbeam做的一些事情: 使用快速薄壁各向异性复合梁理论,包括封闭单元、开放分支、剪力连接器和悬臂(包含轴向和扭转刚度的离散加劲肋); 恢复具有任意铺层和形状的梁的替换刚度(EA、EIyy、EIzz、EIyz、GJ)和/或完整的 4 x 4 刚度矩阵; 恢复质心和剪切中心位置; 获取大量横截面载荷工况(由 Px、My、Mz、Tz、Vy 和 Vz 截面载荷定义)的内部载荷分布(管片的 Nx、Nxy、Mx、My、Mxy;动臂的 Px 和 Tx); 绘制横截面、它们的属性和内部载荷。 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
abdbeam-master.zip (45个子文件)
abdbeam-master
docs
make.bat 756B
Makefile 584B
source
rst
api.rst 1KB
installation.rst 425B
license.rst 2KB
theory.rst 2KB
examples.rst 30KB
creating_sections.rst 476B
images
abdbeam_examples_kollar_single_cell_002.png 27KB
abdbeam_paper_example_section.png 13KB
abdbeam_examples_kollar_single_cell_001.png 15KB
abdbeam_examples_megson_001.png 17KB
abdbeam_examples_bruhn_001.png 14KB
abdbeam_examples_kollar_open_001.png 14KB
abdbeam_hat_example.png 46KB
abdbeam_examples_kollar_open_002.png 14KB
abdbeam_examples_hat_001.png 21KB
abdbeam_paper_example_Nx_Nxy.png 20KB
abdbeam_examples_hat_002.png 63KB
abdbeam_section_example_001.png 20KB
abdbeam_examples_torque_box_002.png 14KB
abdbeam_sign_conventions.png 49KB
abdbeam_examples_torque_box_001.png 20KB
abdbeam_examples_megson_002.png 24KB
conf.py 5KB
index.rst 6KB
abdbeam
plots.py 21KB
core.py 58KB
materials.py 14KB
__init__.py 209B
examples
example_torque_box.py 4KB
example_hat.py 2KB
example_victorazzo.py 1KB
example_kollar_springer_open.py 1KB
example_megson.py 2KB
__init__.py 2B
example_kollar_springer_single_cell.py 1KB
example_bruhn.py 2KB
licenses
LICENSE_PANDAS 2KB
LICENSE_NUMPY 2KB
LICENSE_MATPLOTLIB 5KB
LICENSE 1KB
setup.py 882B
.gitignore 7B
README.md 7KB
共 45 条
- 1
资源评论
- 在下小邹2023-04-12资源很不错,内容和描述一致,值得借鉴,赶紧学起来!
- 白龙超2023-01-11发现一个宝藏资源,资源有很高的参考价值,赶紧学起来~
- Phenacetin2023-12-24发现一个宝藏资源,赶紧冲冲冲!支持大佬~
- 画心一色2023-07-13实在是宝藏资源、宝藏分享者!感谢大佬~
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 部署yolov8的tensorrt模型支持检测分割姿态估计的C++源码+部署步骤.zip
- 以简单、易用、高性能为目标、开源的时序数据库,支持Linux及Windows, Time Series Database.zip
- python-leetcode面试题解之第198题打家劫舍-题解.zip
- python-leetcode面试题解之第191题位1的个数-题解.zip
- python-leetcode面试题解之第186题反转字符串中的单词II-题解.zip
- 一个基于python的web后端高性能开发框架,下载可用
- python-leetcode面试题解之第179题最大数-题解.zip
- python-leetcode面试题解之第170题两数之和III数据结构设计-题解.zip
- python-leetcode面试题解之第168题Excel表列名称-题解.zip
- python-leetcode面试题解之第167题两数之和II输入有序数组-题解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功