任意形状复合材料梁的截面分析。
abdbeam的Python项目详细描述
Abdbeam:复合材料横截面分析
用于分析任意形状的复合材料梁的横截面的python包。
主要功能
以下是使用abdbeam可以做的一些事情:
- 使用快速薄壁各向异性组合梁理论,包括闭孔单元、开口分支、剪力连接件和吊杆(包含轴向和扭转刚度的离散加强件);
- 恢复具有任意叠层和形状的梁的替换刚度(ea、eiyy、eizz、eiyz、gj)和/或完整的4x 4刚度矩阵;
- 恢复质心和剪切中心位置;
- 获取大量横截面载荷情况下(由Px、My、Mz、Tz、Vy和Vz截面载荷定义)的内部载荷分布(Nx、Nxy、MX、My、MXy用于节段;Px和Tx用于吊杆);
- 绘制横截面、横截面特性和内部荷载。
安装
使用pypi(Python package index)安装:
pip install abdbeam
来源和文档
源代码托管在github上的https://github.com/victorazzo/abdbeam,文档可以在https://docs.abdbeam.org找到。
依赖关系
示例
让我们使用abdbeam分析下面两个封闭单元的横截面:
开始创建截面材质、其点和线段(我们还将计算截面属性并在末尾请求摘要):
importabdbeamasabsc=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_matmts[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 sectionsc.materials=mtssc.points=ptssc.segments=sgs# Calculate and output section propertiessc.calculate_properties()sc.summary()
哪个打印:
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]]
现在,让我们创建两个荷载工况(101和102)并计算它们的内部荷载:
sc.loads=dict()sc.loads[101]=ab.Load(My=5e6)sc.loads[102]=ab.Load(Tx=250000,Vz=5000.0)sc.calculate_internal_loads()
下一步打印所有内部负载(输出大量数据,此处不显示):
sc.print_internal_loads()
或者直接访问包含这些内部负载的pandas数据框:
df=sc.sgs_int_lds_df
下一步绘制截面及其属性(我们将展示片段方向、隐藏传说、改变形心、剪切中心和主轴颜色并使用自定义图形大小):
ab.plot_section(sc,segment_coord=True,title='Abdbeam - Example',legend=False,prop_color='#471365',figsize=(5.12,3.84))
最后,为负载情况101绘制nx和nxy(我们将更改matplotlib轮廓调色板,减少内部负载图比例,并使用自定义图形大小):
ab.plot_section_loads(sc,101,contour_color='viridis',diagram_scale=0.7,int_load_list=['Nx','Nxy'],figsize=(5.12,3.84))
许可证
BSD-3
贡献
abdbeam正处于早期开发阶段,我们鼓励您投入并contribute on GitHub。对贡献者的指导正在制定中,所以请继续关注。
理论
对于abdbeam背后的理论,最完整的参考是:
这些也是对其原始理论的重要参考:
- Kollár LP, Springer GS. Mechanics of composite structures. Cambridge university press; 2003 Feb 17.
- Kollár LP and Pluzsik A. Analysis of thin-walled composite beams with arbitrary layup. J Reinf Plast Compos 2002; 21: 1423–1465.
注:在abdbeam中,剪切变形和约束翘曲的影响可以忽略不计。查看上面的参考资料了解更多详细信息。