本案例以带肋板的支架为研究对象,演示在Workbench平台下,如何使用SCDM和Mechanical进行参数化仿真分析的完整流程。
1、案例描述
支架的几何结构和承载如下所示,肋板结构由三点生成的B-Spline曲线控制,对样条曲线上B点的X、Y方向位置尺寸进行参数化;研究不同肋板结构下,侧向加载5.0MPa压力和底端固定约束时,支架在X方向的最大变形量。
实现方法:在Workbench平台下,首先使用SCDM脚本功能创建参数化模型,然后在Mechanical中对压力载荷数值与X方向最大变形量进行参数化,最后在Parameter Set下进行参数化研究。
2、SCDM脚本参数化
在SCDM中可以创建脚本组和脚本参数,然后绑定脚本建模代码,实现在WB下几何的全参数化,并且可在Parameter Set下同步管理输入参数。接下来演示脚本参数化详细过程。
打开Workbench 2019R1,新建“Static Structural”分析系统,双击Geometry进入SCDM软件。然后在群组(Group)面板下,单击右键选择“创建脚本组”命名为“Bracket”,并创建两个初值为5.0的脚本变量:midXcoor和midYcoor,最后编辑脚本组中的建模代码,操作过程如下。
# Python Script, API Version = V17
ClearAll()
# 绑定群组中的脚本参数
midPtInfo = (Parameters.midXcoor, Parameters.midYcoor)
# Step1:Create blocks
BlockBody.Create(Point.Create(MM(0), MM(0), MM(0)), Point.Create(MM(40), MM(5), MM(35)), ExtrudeType.ForceAdd)
BlockBody.Create(Point.Create(MM(0), MM(0), MM(0)), Point.Create(MM(5), MM(40), MM(35)), ExtrudeType.ForceAdd)
BlockBody.Create(Point.Create(MM(0), MM(0), MM(15)), Point.Create(MM(20), MM(20), MM(20)), ExtrudeType.ForceIndependent)
# Step2:Create B-Spline
sectionPlane = Plane.Create(Frame.Create(Point.Create(MM(5), MM(5), MM(5)),
Direction.DirY,
Direction.DirX))
ViewHelper.SetSketchPlane(sectionPlane)
points = List[Point2D]()
points.Add(Point2D.Create(MM(0), MM(15)))
points.Add(Point2D.Create(MM(midPtInfo[0]), MM(midPtInfo[1]))) #create parameters
points.Add(Point2D.Create(MM(15), MM(0)))
SketchNurbs.CreateFrom2DPoints(False, points)
ViewHelper.SetViewMode(InteractionMode.Solid)
# Step3.1:Pull B-Spline to toolFaces
sel_edge = Selection.Create(GetRootPart().Curves[0])
ExtrudeEdges.Execute(sel_edge, Point.Origin, Direction.DirZ, MM(30), ExtrudeEdgeOptions())
# Step3.2:Slice Body by toolFaces
selection = Selection.Create(GetRootPart().Bodies[1])
toolFaces = Selection.Create(GetRootPart().Bodies[2].Faces[0])
SplitBody.Execute(selection, toolFaces, True)
# Step3.3:Delete Bodies
Delete.Execute(Selection.Create(GetRootPart().Bodies[2:4]))
# Step3.4: Combine Bodies
Combine.Merge(Selection.Create(GetRootPart().Bodies), None)
创建命名组用于Mechanical中通过Named Selection选定加载位置,因为回放脚本时,SCDM会重头开始构建模型,并为所有实体分配新ID,所以采用几何选取(Geometry Selection)的方式指定加载位置会更新失败。
本案例中,我们通过面索引分别选中压力和固定约束面,创建Selection实例,然后命名为“FixedSurface”和“PressSurface”;最后选中实体命名为“BracketBody”;脚本代码如下。
def create_ns(sel, name):
ns = NamedSelection.Create(sel, Selection())
ns.CreatedNamedSelection.SetName(name)
# Creation of the named selections
create_ns(Selection.Create(GetRootPart().Bodies[0].Faces[0]), 'FixedSurface')
create_ns(Selection.Create(GetRootPart().Bodies[0].Faces[1]), 'PressSurface')
create_ns(Selection.Create(GetRootPart().Bodies[0]), 'BracketBody')
3、Mechanical参数化
关闭SCDM软件,然后双击WB下的“Static Structural”分析系统中Model单元格,进入到Mechanical软件中。在Mechanical软件中,任何以“口”符号为前缀的输入或输出都可以参数化。
指定仿真模型材料:在结构树Materials节点处,右键插入Material Assignment,在属性框中Scope组下通过Named Selection选中BracketBody命名组,指定材料为默认的结构钢。
设置固定约束:在结构树Static Structure节点处,右键插入Fixed Support,在属性框中Scope组下通过Named Selection选中FixedSurface命名组。
设置压力载荷:在结构树Static Structure节点处,右键插入Pressure,在属性框中Scope组下通过Named Selection选中PressSurface命名组。输入压力值为5.0MPa,然后点中Magnitude前“口”将压力输入值进行参数化。
创建X方向变形云图:在结构树Solution节点处,右键插入Direction Deformation,在属性框中的Results组下,然后点中Maximum前“口”,将最大X方向变形量进行参数化。
4、Workbench参数化驱动
在SCDM和Mechanical中定义的参数,显示在Workbench中Parameter Set选项卡中,可在选项卡界面下直接更改参数,通过参数驱动重新生成几何模型、网格和仿真结果。
创建如下设计点,点击Update All Design Points,Workbench会在后台通过参数驱动SCDM和Mechanical软件,开始计算所有设计点工况。得到各设计点下的结果如下,保存项目文件退出。
作者:小田老师
精选:王华军
编辑:刘义美 | 校对:栗夏
排版:李俊苗
联系客服