本节将学习以下内容:
(1)理解用于抽取合力和合力矩的HyperMesh FBD(free body diagrams)功能,定义用于计算力和力矩的截面。
(2)通过在HyperMesh中使用FBD来理解载荷路径,把自由体载荷输出并加载到细化模型中作为子模型的边界条件。
过程如图2-15~图2-17所示。
图2-15 机翼的全局载荷模型
图2-16 全局模型中需要提取载荷的单元集
图2-17 对细节模型施加从全局模型得到的自由体载荷
本节包括两个练习,下面先讲解练习1。
1.练习1
利用合力和合力矩功能从全局载荷提取载荷并创建剪力-弯矩图和土豆图。
为Spar2创建一个坐标系
(1)打开HyperMesh,选择RADIOSS(BulkData)用户模板。
(2)打开icw_ex1.hm模型文件。
(3)从菜单栏中选择Tools→Set Browser。
(4)单击Sets→Elements。
(5)用鼠标右键单击Spar2单元集,选择Isolate,此时Spar2的网格就会在图形区单独显示,可以在visualization工具栏中选择Shaded Elements and Mesh Lines进行着色显示。
(6)从菜单栏中选择Geometry/Create/Nodes/Interpolate Nodes进入Create Nodes面板来创建Spar2左端的节点。
(7)对于Number of nodes between输入1,选择模型中最左上方的点和左下方的点,如图2-18所示,单击create。
图2-18 创建中间节点
(8)对Spar2右边的点重复上步骤(7)的操作。
(9)单击return退出Create Nodes面板。
(10)通过以下任一种方式进入Systems,单击菜单Geometry→Create→Systems,
从面板区选择1D→systems面板。
(11)进入create by axis direction面板,以Spar2最左边的中点为坐标原点,并沿长度方向建立直角坐标系的X轴。
(12)单击origin并且选择最左边的中点。
(13)选择最右边的中点处作为X轴上的点。
(14)选择左上方的点作为xy平面上的点。
(15)切换到rectangular,单击create。
(16)单击return退出Systems面板。
为Spar2创建截面
(1)单击Post→Free Body→Cross-Section,打开FBD Cross-section Manager。
截面定义包含以下几项:
1)用于定义截面的节点(这些节点定义了截面并且决定力和力矩在截面的哪一边进行计算)的element set(单元集),只需要包括与定义截面的点相连的一侧截面的单元,其他单元可以被选中但对结果没有影响。
2)定义截面几何的node set(节点集)。
3)summation node可以是模型中任何一个点,也可以自动设置为截面中心,截面中心的计算使用组成截面的节点坐标,忽略单元厚度的变化。所以,计算中心和理论中心有微小的区别(当截面为变厚度时)。
4)定义截面合力和合力矩输出用的结果坐标系(可选)。
(2)在FDB Cross-section Manager面板单击Advanced options展开显示Auto create cross-section列表。利用列表创建沿着Spar2长度方向的截面。在这些截面上抽取合力和合力矩数据用于创建剪力-弯矩图和土豆图。定义截面有两种方法,一种是手工方法,另一种是高级方法。高级方法会自动创建“连续”截面,在这个练习中将用到高级方法,如图2-19所示。
图2-19 使用高级方法创建连续截面
(3)单击Elements两次,然后选择Spar2的所有单元并单击proceed,如图2-20所示。
图2-20 选择单元
(4)单击Nodes两次,选择组成Spar2第一个截面的左侧顶部和底部的节点并单击proceed,如图2-21所示。
图2-21 选择节点
(5)在Element set prefix中输入Spar2_E,在Node set prefix中输入Spar2_N。
因为要在cross-section manager工具创建必要的单元集和节点集,所以必须为它们定义字符串前缀。通过为这个字符串设定一个递增数字来为每个截面创建单独的名字,还可以为第一个set的数值设置一个偏置值(作为起始值),最终set名称由前缀和该数值共同决定。
(6)选中Sets accumulate并单击Accept。
这样就通过Auto create cross-sections创建了截面列表,如图2-22所示。
图2-22 截面列表
(7)单击Advanced options,关闭Auto create cross-sections窗口。
(8)可以选择Display sections查看选择的截面。图形区域会对定义截面的单元集、节点集、sum node和结果坐标系进行更新。另外,如果选中了Show model复选框,在图形区域中会显示整个模型,被选中的截面会以红色高亮显示,其他部分以透明方式显示。
(9)在spreadsheet选择第一个截面(Spar2_E1,Spar2_N1),按住〈shift〉键,选择最后一个截面(Spar2_E8,Spar2_N9)去更新它们的结果坐标系。
更新任何一个或者多个截面,利用Ctrl/Shift键从列表中选择截面,然后单击Summation Node或者Result System去更新定义。
(10)单击两次Result System,选择位于Spar2左端中部的system,单击proceed。所有截面更新为结果坐标系102,如图2-23所示。
(11)单击Close退出FBD Cross-Section Manager。
图2-23 截面坐标系
提取Spar2所有载荷工况下的所有截面的力和力矩
(1)单击Post→Free Body→Resultant Force and Moment,打开Resultant Force and Moment。
(2)在.op2 file窗口中选择icw.op2。
(3)在Loadsteps列表中选择所有的工况。
(4)在Cross-sections列表中选择Spar2的所有截面。
(5)合力和合力矩的输出选项如表2-1所示。单击Coordinate system两次。
表2-1 合力和合力矩的输出选项
(6)选择Spar2左端中部的坐标系102,然后单击proceed(必须先在Model Browser显示system 102 Longeron2坐标系)。
(7)设置Zero tolerance为0.01。
(8)选中Create load collectors复选框,并选择一种默认颜色(可选)。
(9)选中Show summary table复选框。
(10)选中Create.csv file复选框,单击select from list.选择一个存在的文件.csv(在后面追加数据)或者输入一个新的文件名。在本例中输入icw_res_force_moment.csv。
(11)选中Create.fbd file复选框,单击select from list.选择一个存在的文件.fbd(在后面追加数据)或者输入一个新的文件名。在本例中输入(默认情况保存到HyperMesh启动目录,可以更改)。
(12)单击Accept计算所有选择的工况下每一个截面的合力和合力矩。Resultant Force and Moment Output Summary窗口显示了合力和合力矩计算结果(见图2-24)。对于任何一个截面,都有一个单独的工况数据块。该数据块包含了截面的节点力、力矩,以及这些节点力和力矩关于summary node(本例中是截面的中心)的合力。需要注意的是,因为合力向量在sum node处产生的附加力矩也要考虑进来,所以合力矩并不是简单地将Mx、My、Mz直接叠加,每个点的Fx、Fy、Fz的合力则是通过简单相加得到。
(13)(可选)双击文件icw_res_force_moment.csv,用Microsoft Excel打开.csv文件。
(14)(可选)用任何一个标准文本编辑程序打开.fbd文件icw_res_force_moment.fbd。该文件所包含的结果和图2-24中的列表是一样的,但是以压缩格式存储,用于在HyperGraph中为各个截面创建剪力-弯矩图和土豆图。
图2-24 截面的合力和合力矩计算结果汇总
(15)单击Close退出Resultant Force and Moment。
利用Free Body Results Manager在图形区域检查合力以及合力矩矢量
(1)单击Post→Free Body Results Manager,打开FBD Results Manager。
(2)单击Element Set两次,单击set,选择Spar2_E2并单击proceed。
(3)在Free Body Results Manager窗口中选中Show model复选框,此时整个模型中被选择的单元会以红色高亮显示,其他部分以透明显示,方便在模型中找到element set(单元集)。
(4)在Results type中选择Resultant Force and Moment。该操作在数据库中搜索含有力和力矩结果的loadsteps,并展开loadsteps列表。
(5)在Loadsteps中选择SUBCASE1。该操作在数据库中搜索含有力和力矩结果的node sets,并展开列表。
(6)在Node sets中选择Spar2_N3。该操作在数据库中搜索含有力和力矩结果,并展开列表。
(7)对于Display options选择Fy(剪力--结果坐标系的Y轴,在腹板平面内)和Mz(主弯矩--结果坐标系的Z轴,垂直于腹板平面)。
为了查看截面结果的输出坐标系,可以使用Free Body Cross-Section Manager去查看定义的截面。该操作将会显示单元集、节点集、结果坐标系和被选择的截面中定义的summation。选择力的分量在图形区域查看大小和方向(可选)。图形区域可以显示单个或多个力矩向量,以方便数据采集和报告。
(8)(可选)选择Update load collector color并选择color去改变载荷向量的颜色。
新设置的颜色只赋予给了选择的载荷分量并在数据库中保存。因此,该操作可以为任意单个或多个载荷向量改变颜色。
(9)单击Accept在图形区域显示合力和合力矩向量,如图2-25所示。
(10)(可选)按照步骤(2)~(4),继续查看其他截面的合力和合力矩向量。
(11)单击Reset清除显示并重置列表。
(12)单击Close退出FBD Results Manager。
图2-25 合力和合力矩向量
为Spar2中被选择的截面创建Potato Plots(土豆图)
(1)从开始菜单打开HyperGraph并单击Add Page按钮创建一个新页面。
(2)单击菜单Tools→Free Body Diagrams→Potato Plot,打开Potato Plot对话框。
(3)单击Select from List打开文件icw_res_force_moment.fbd。
(4)在Sections列表中选择截面Spar2_E1_Spar2_N1作为要创建Potato Plots的截面。
Potato Plots(土豆图)为每一个含有所有工况数据点的截面创建一个单独的图表。Potato Plots在给定一个截面通过剪力-弯矩图能够有效地为所选loadsteps做一个切片。因为Spar2_E1_Spar2_N1是机翼Spar2的根部,因此这个地方受力最大,此处的工况可以被看做临界载荷工况。Potato Pots可以通过定义截面上最大和最小载荷来找出临界工况。在该例中,将会讲解怎样识别最大和最小剪力Fy和弯矩Mz。此外,也可以使用其他方法来找出临界工况。
(5)从Loadsteps列表中,通过列表框旁边的filter buttons或者用〈Ctrl〉/〈Shift〉键选择所有loadsteps。
(6)在Potato Plots中component选择Fy(剪力)。
(7)对于Y Component选择Mz,单击Add plot。
注意:也可以通过选择其他x和y后单击Add Plot来创建其他Potato Plots,可以通过在电子表格区域选择Plots单击Delete Plots删除Plots。
(8)(可选)在Plot Titles中输入Title和Subtitle。
(9)在Plot Options中的Reverse sign下拉列表中选择Spar2_E1_Spar2_N1。
(10)在底部的下拉列表中选择Reverse selected section。
(11)选中Label points:Loadstep复选框。
(12)单击Apply创建Potato Plots,如图2-26所示。
由于只选中了一个截面,结果中只创建了一张图表。Potato Plots主要用来确定最大或者最小的工况,从截面Spar2_E1_Spar2_N1的Potato Plot中可以看到剪力和剪力矩的最大和最小工况是SUBCASE9、SUBCASE11、SUBCASE14和SUBCASE16。在Spar2的后续设计中将会考虑这些临界工况(作为所有工况的子集)。在练习2中,将抽取工况的载荷应用于Spar2的细化模型的分析和设计。
图2-26 载荷步的土豆图
为Spar2创建所选工况的剪力-弯矩图
(1)单击Add Page按钮创建一个新的页面。
(2)单击菜单Tools→Free Body Diagram→Shear Moment Plot,打开Shear Moment Plot面板。
(3)单击Select from List导入icw_res_force_moment.fbd文件。
(4)从Sections列表中,选择所有与Spar2有关的截面(Spar2_E1_Spar_N1~Spar2_E8_ Spar2_N9)。
(5)在Loadsteps中选择中确定的临界工况SUBCASE 9、SUBCASE 11、SUBCASE 14和SUBCASE 16。
(6)在VMT Plots中,X component选择X。
选择X是因为合力和合力矩的提取是在坐标系102下进行的,而102坐标系的X轴为Spar的长度方向。
(7)在VMT Plots中,Y component选择Fy和Mz用于绘制Spar2剪力和主弯矩图。
(8)(可选)在Plot Titles面板中输入Title和Subtitle。
(9)在Plot Options中的Reverse sign下拉菜单中选择截面Spar2_E1_Spar2_N1。
(10)在底部的下拉菜单中选择Reverse selected section。该选项允许改变单个或多个截面的结果的符号。该操作是非常有用的,因为该练习中所有的截面都是从右边定义的,然而第一个截面[Spar2_E1_Spar2_N1]在左面没有单元,只能从左边定义。通过单元和节点集定义的截面从左边定义还是从右边定义取决于任何给定节点定义的截面的单元。所以任何给定的截面可以从左边或者右边定义,两种不同的定义方式的不同点是结果大小相同方向相反。对于剪力-弯矩图,所有选择的截面应该从同一个方向定义,这样的结果图才是有效的。(www.xing528.com)
(11)确定Envelop results的复选框没有被选中。
(12)选择One Plot Per Component窗口布局(Layout)。该操作会影响结果图的数量,选项如下:One plot per loadstep,One plot per Y Component和One curve per plot。在这个例子中,因为选择了4个工况和两个Y components,所以将会有8条曲线。这8条曲线在几张图中显示取决于layout选项。对于本操作,One Plot per loadstep将会有4张图,因为有4个工况。One Plot per Y component将会有两张图,剪力和剪力图分别在一张图上显示。
图2-27 剪力弯矩图
(13)单击Apply生成剪力-弯矩图,如图2-27所示。
这些图可以用于传统的材料力学计算。例如,使用S=My/I和T=VQ/IT计算各种截面的应力。图中提供了方程中的M(弯矩)和V(剪力)值,截面参数可以通过HyperBeam(HyperMesh/1D/HyperBeam)获取。
2.练习2
从全局载荷模型中抽取自由体载荷并传递给详细模型作为边界条件--子模型技术(注意不是子结构技术,两者是完全不同的)。
使用FBD功能为Spar2提取自由体载荷
(1)从练习1继续,或者打开icw_ex2.hm模型。
(2)单击菜单Post→Free Body→Force,打开FBD Forces面板。
(3)如果icw.op2已经载入,继续;否则载入icw.op2。该文件包含使用GPFORCE输出的节点力数据,所有包含节点力输出的工况都会在列表中列出。
(4)在Loadsteps列表中选择SUBCASE 9、SUBCASE 11、SUBCASE 14和SUBCASE 16,这些是在练习1的中得到的临界工况。
(5)在Entity selection区域,单击两次Element Set。
(6)单击set,选择Spar2并单击proceed。
(7)单击Result System两次选择坐标系102(参考练习1),单击proceed。
注意:可能需要先将坐标系102在Model browser(Model tab)中显示出来。自由体载荷将在结果坐标系中输出。
(8)单击Summation Node两次,选择左侧中点,然后单击proceed。Summation Node用于求所有载荷的合力。如果是自由体(全部载荷),合力应该为0。因此,通常的合力结果为0。但是如果求自由体载荷时没有包含所有载荷,可以在Summation Node得到我们关心的自由体等效总载荷(只有施加载荷或反力载荷)。
FBD Forces的Output options描述如下。
FBD type:定义在FBD中考虑的节点力(GPFORCE)类型。GPFORCE的数据可以包括element、applied、SPC和MPC forces。FBD类型包括All loads、Applied loads only和Reaction loads only(只考虑SPC和MPC反力)。
Create load collectors:创建包含合力和合力矩的load collectors(载荷集),便于在图形区域显示为力和力矩矢量。
Show summary table:弹出一个类似于.csv文件(逗号分隔)的窗口显示格式化的结果,用于快速查看数据(无需打开电子表格或文本文件)。
(9)FBD type选择All Loads。
(10)Zero tolerance输入0.01。
(11)激活Create load collectors并选择一种默认颜色。
(12)激活Show summary table。
(13)激活Create.csv file选择一个存放目录并输入icw_fbd_force.csv。
(14)单击Accept对所有选择的工况进行载荷抽取。
(15)(可选)打开icw_fbd_forces.csv查看结果。
(16)单击Close退出FBD Forces面板。
使用FBD Results Manager在图形区域查看FBD force矢量
(1)单击菜单Post→Free Body Results Manager,打开FBD Results Manager面板。
(2)单击Element Set两次,单击set选择Spar2,单击select然后单击proceed。
(3)(可选)选中Show model复选框显示整个模型,选择的set中的单元会以红色高亮显示,其他部分以透明方式显示。
(4)Results type选择FBD ForcesAll Loads。
(5)Loadsteps选择SUBCASE 9。
(6)Display options选择Fy(剪力)。
(7)(可选)选择Update load collector color并选择一种颜色来改变载荷矢量的颜色。
(8)单击Accept在图形区查看自由体载荷,如图2-28所示。
(9)单击Reset清除显示并重置列表。
(10)单击Close退出FBD Results Manager面板。
图2-28 查看自由体载荷
使用FBD Export Manager输出FBD力到.fem文件
(1)单击菜单Post→Free Body Export Manager,打开FBD Export Manger面板。
(2)单击Element Set两次,单击set选择Spar2,单击proceed。
(3)Results type选择FBD ForcesAll Loads。
(4)Loadsteps选择SUBCASE 9,SUBCASE 11,SUBCASE 14,SUBCASE 16。
(5)激活Create appropriate loadsteps选项,为Output file选择文件存放目录并输入spar2_ fbd_forces.fem,单击Add to export输出。
该操作将显示与当前选择的FBD结果相关的已选择的loadsteps的载荷集。可以选择其他loadsteps并单击accepted增加其他loadsteps的显示,也可以通过选择其他element set并单击accepted增加其显示。单击Reset可以清除当前显示。
(6)单击Export。该操作将显示的载荷及其他相关卡片输出到指定的输出文件。该文件可以在导入到其他的HyperMesh模型(细节模型),成为该细节模型的边界条件(还需要为模型增加限制刚体的约束)。
(7)单击Reset。该操作清除当前显示。
(8)单击Close退出FBD Export Manager面板。
(9)(可选)单击菜单File→Save as,将文件另存为hm数据库文件icw_final.hm。
(10)单击菜单File→Exit,退出HyperMesh。
将.fem中的FBD forces导入到细节模型并求解
(1)打开HyperMesh,并打开模型文件spar2_ex2.hm。
(2)单击菜单File→Import,打开Import面板。
(3)Import type选择FE Model,File type选择RADIOSS(Bulk Data),并导入文件spar2_fbd_forces.fem,单击Import。该操作将从全局模型中得到的自由体载荷导入到细节模型中。下一步将自由体载荷与细节模型相关联,对模型做一些清理,定义新的loadsteps(包含自由体载荷和用于限制刚体位移的约束)并求解模型。
(4)单击菜单Mesh→Check→Nodes→Equivalence进入Edges面板。对导入的自由体载荷的节点和细节模型的相同位置节点进行equivalence(合并)操作。
(5)将选项从comps切换到elems。
(6)单击elems从扩展面板中选择displayed。
(7)单击preview equiv。
(8)单击equivalence对18个加载节点和Spar2上相应节点进行equivalence(合并)操作。
注意:可以通过在曲面上放置硬点使模型在划分网格的时候在希望的地方(此处为加载点)放置节点,也可以通过R类单元(RBE2或RBE3)将加载点和模型节点连接起来。
(9)单击return退出Edges面板。
(10)使用快捷键F2进入Delete面板。
(11)单击comps,选择TempMass。单击select。
(12)单击delete entity删除TempMass component。
(13)单击return退出Delete面板。
(14)在Model browser用鼠标右键单击LoadCollector,选择Hide隐藏所有载荷。
(15)根据下面的步骤定义约束刚体位移的自由度约束:
创建一个load collector用于放置约束。单击菜单Collectors→Create→Load Collectors进入loadcollectors面板。
在create子面板的loadcolname=后输入名称Const。单击颜色选择红色。
切换为no card image,单击create。
注意:该操作自动设置新创建的Const为当前的load collector,新创建的载荷和约束将自动被放置在当前的load collector中。
为将要创建位移约束的3个点赋一个坐标系。单击菜单Mesh→Assign→Node Analysis System,进入Systems Assign子面板。
选择图2-29中的3个节点,单击system选择坐标系102(左下角位置)。
图2-29 选择坐标系
单击set displacement,然后单击return退出Systems面板。
在中间隔板左下端节点施加一个约束。单击菜单BCs→Create→Constraints进入Constrains面板。
选择左下端节点并选择dof1、dof2和dof3,单击create。
选择左上端节点并选择dof1和dof3,单击create。
选择右下端节点并选择dof3,单击create。
注意到以上创建的约束只是限制了结构的刚体位移,没有对结构的相对变形进行任何的限制。在有的结构上(如弯曲的结构)这样的点可能无法在结构的现有节点上找到,这时可能需要在空间上创建一个点,然后使用RBE2或RBE3单元与结构节点相连。如果使用RBE3还需要设置响应的UM选项。另外一种处理方法是使用惯性释放进行分析,以上用法请参考惯性释放的相关章节。
单击return退出constraints面板。
(16)为4个自由体loadsteps更新约束,操作如下:
单击菜单Setup→Edit→LoadSteps,进入loadsteps面板。
单击name=并选择SUBCASE 9。
将分析类型切换为linear static。
选择SPC,单击=并选择Const。
单击update。
为SUBCASE 11、SUBCASE 14和SUBCASE 16重复以上步骤。
(17)单击菜单Setup→Create→Control Cards,进入Control Cards面板。
(18)单击FORMAT。
(19)number_of_formats输入2并按〈Enter〉键。
(20)两个FORMAT分别选择HM和OUTPUT2。
(21)单击return指定输出文件格式。*.res(HM)用于HyperMesh后处理,*.op2用于HyperView后处理。
(22)单击GLOBAL_OUTPUT_REQUEST→DISPLACEMENTS,然后单击return完成位移输出请求。
(23)单击GLOBAL_OUTPUT_REQUEST→STRESS,然后单击return完成应力输出请求。
(24)单击return退出control cards面板。
(25)单击菜单File→Save As,将文件另存为spar2_ex2_analysis.hm。
(26)单击菜单Applications→RADIOSS,进入RADIOSS bulk子面板运行模型。
(27)run options选择analysis。
(28)export options选择all。
(29)单击RADIOSS输出求解模型并在RADIOSS中使用Bulk Data格式进行求解。如果在options栏有optiskip,则可以直接在单击RADIOSS求解前将其删除。
(30)RADIOSS求解完成后单击return退出RADIOSS面板。
(31)在Post页面单击Deformed面板查看分析结果。
(32)单击Simulation=选择SUB9PosShearPosMoment PosT。
(33)单击data type=选择Displacements。
(34)单击deform查看变形,如图2-30所示
图2-30 局部结构变形
(35)单击return退出deformed面板。
(36)在Post页面,单击contour进入contour面板查看分析结果。
(37)单击Simulation=选择SUB9PosShearPosMoment PosT。
(38)单击data type=选择Von Mises Stress。
(39)单击POST→Contour→legend子面板。
(40)将find maximum切换为maximum=并输入100000。
(41)单击contour在图形区域查看云图,如图2-31所示。
图2-31 局部结构应力
(42)(可选)继续使用contour面板查看其他结果。
(43)单击return退出contour面板。
(44)(可选)单击菜单File→Save,保持文件。
(45)单击菜单File→Exit,退出HyperMesh。
注意:本例使用了HyperMesh的后处理模块,在后续例子中一律使用HyperView进行后处理。HyperView和HyperGraph是Altair公司推荐使用的后处理模块。本例的细节模型和原始模型中局部的形状有所不同,实际应用中也经常只是对局部模型进行细化而不改变形状。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。