首页/文章/ 详情

快速学会一项分析-解决接触的不收敛(稳定)问题-OS-T:1393

28天前浏览632
         在OptiStruct中解决接触不稳定现象,通常可以通过以下三种方式来处理:
        1. 接触稳定(Contact Stabilization): 接触稳定是通过在接触切向和法向施加较小的阻尼弹簧来改善接触的收敛性。这种方式特别有用,当结构的一部分通过接触来固定时。可以通过两种方法定义接触稳定:
        通过PARAM参数定义:使用EXPERTNL选项激活CNTSTB关键字,此时将采用默认参数的CNTSTB选项卡片。此参数为全局参数,对所有载荷步生效。
        通过CNTSTB选项卡片定义:在CNTSTB的选项卡片中定义是否激活接触稳定性控制(APSTB)和引入切向/法向接触稳定刚度(LMTGAP)。
        2. 间隙(Clearance): 间隙是在两个接触零件之间设置一个初始的分离距离,这样可以在分析开始时避免接触界面之间的穿透。间隙不会物理地移动节点,但如果两个表面的间隙等于或小于指定的间隙,接触被认为是关闭的,不管节点的实际位置如何。可以通过PCONT属性卡片定义间隙,在PCONT卡片的CLEARANCE字段中输入一个值,如0.1。
        3. 调整(Adjust): 调整用于在分析开始时自动调整从节点的位置,以确保良好的接触状态。调整是通过接触界面填充(GPAD)来定义的,用于确定从节点调整的方向和距离。如果MORIENT字段是OPENGAP或OVERLAP,而引用的PCONT条目中的GPAD字段是NONE或零,则跳过节点调整,因为在OPENGAP或OVERLAP的情况下,如果从节点被调整到正好在主面上,没有办法决定主推力的方向。例如,可以在接触设置界面设置为Auto,自动调整。
本教程演示了使用接触稳定、间隙和调整的应用效果,上述行为是为了解决分析中接触不稳定的状态。
在开始之前,请将本教程中使用的文件复 制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-1393/contact_S2S.zip
该模型由两个圆形零件组成,其中内部的被加热,外部的被冷却,导致两者之间发生接触。
初始模型是无法收敛的状态,下面将演示接触稳定功能来帮助模型实现收敛。此外,还将演示contact设置,例如间隙和调整。本教程中涵盖的练习包括:
·启动HyperMesh并导入模型
·摩擦接触特性的定义
·运行模型以遇到收敛问题
·通过接触稳定功能克服收敛问题
·contact间隙的定义和调整
·HyperView中的结果比较
图1.模型插图
一、启动HyperMesh并设置OptiStruct用户配置文件
1.启动HyperMesh。
此时将打开User Profile对话框。
2.选择OptiStruct然后单击OK
这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。
二、导入模型    

1.单击File>Import>Solver Deck
导入选项卡将添加到您的选项卡菜单中。
2.对于File type ,选择OptiStruct
3.选择文件图标。
此时将打开Select OptiStruct文件Browser。
4.选择保存到工作目录的contact_S2S.fem文件。
5.单击Open
6.单击Import,然后单击Close关闭导入选项卡。
三、设置模型
1           
2           
3           
3.1创建PCONT属性
基础模型已经包含材料、属性、边界条件和Load Step定义。还定义了接触面和接触界面。
创建一个PCONT属性来定义摩擦力,该属性将引用到已创建的接触对。
1.在Model Browser中,右键点击并选择Expand All
2.右键单击Model Browser,然后选择Create>Property以创建PCONT属性。
3.对于Name ,输入cont_prop。
4.单击Card Image旁边的下拉菜单,然后选择PCONT
5.在MU1 字段中,为静摩擦系数指定值0.2。    
图2.Contact属性定义
6.在Model Browser界面中,选择contact_interface
7.单击旁边的下拉菜单选项并选择Property Id
8.对于PID,请选择cont_prop属性。
3.2提交作业
1.在Analysis页面中,输入OptiStruct面板。
图3.访问OptiStruct面板
2.单击input file字段后面的save as
此时将打开Save As对话框。
3.选择要写入OptiStruct模型文件的目录,然后在File name字段中输入模型名称contact_S2S.fem。    
对于OptiStruct输入文件,建议使用.fem扩展名。
4.单击Save
contact_S2S.fem文件的名称和位置将显示在输入文件中。
5.将导出选项切换设置为all
6.将run options切换设置为analysis
7.将memory options切换设置为memory default
8.单击OptiStruct。这将启动OptiStruct作业。
如果作业成功,则新的结果文件将出现在保存输入文件的目录中。如果存在任何错误,请查看contact_S2S.out文件中的错误消息,这些错误消息可以帮助调试输入模型。
可以注意到,此模型将遇到收敛问题和作业错误。在接下来的部分中,将演示不同的接触设置,以帮助模型实现收敛。
3.3添加接触稳定
由于该模型的非线性仅仅是由于接触引起的,因此克服收敛问题的一个好方法是添加接触稳定。当结构的一部分由contact固定到位时,这将特别有用,这里就是这种情况。
1.单击Setup>Create>Control Cards
2.选择PARAM并选中EXPERTNL旁边的框。
3.选择CNTSTB以激活接触稳定。
Note:接触稳定也可以通过CNTSTB批量数据输入来激活,该输入可以在SUBCASE中引用。此方法提供了更多选项来定义接触稳定。
4.复Submit the Job,使用新文件名contact_CNTSTB.fem
图4.创建PARAM、EXPERTNL、CNTSTB
Note:模型在接触稳定的情况下成功收敛。
3.4添加间隙
现在,接触间隙的影响将显示在模型中。
1.在Model Browser中,选择cont_prop属性。    
2.在Entity Editor中,单击CLEARANCE旁边的字段,然后输入值0.1。
如果不移动网格来实现此目的,则Clearance将在内部将表面之间的间隙设置为所选的实际值,而不管网格的实际位置如何。
图5.通过PCONT定义contact 属性
3.Submit the Job,使用新文件名contact_clearance.fem
3.5添加AUTO Adjust
现在,adjust的影响将显示在模型中。首先,  将删除在Add Clearance中定义的接触间隙。
1.在Model Browser中,选择cont_prop属性。
2.单击CLEARANCE旁边的字段,然后删除之前指定的值0.1。
3.在Model Browser中,选择界面contact_interface
4.点击ADJUST旁边的字段,然后选择AUTO    
图6.Contact界面中ADJUST的定义
3.6应用曲面平滑
Submit the Job,文件名为contact_adjust.fem
四、查看结果
位移、单元应力、接触力、接触变形、接触状态和接触traction 力均经过计算,并可以使用HyperView中的云图面板进行绘制。
比较Contact Traction
比较不同模型之间的Contact Traction。
1.启动HyperView。
2.选择page窗口layout图标 ,将页面拆分为3 个窗口。
3.单击 以在其中一个窗口中加载第一个模型。
4.选择contact_CNTSTB.h3d作为模型和结果。
5.单击Apply
6.在另外两个窗口中对contact_clearance.h3dcontact_adjust.h3d执行相同的操作
7.单击三个窗口之一中的Contour工具栏图标。
8.对于Result type ,选择Contact Traction/Normal(s).
9.单击Apply    
图7.HyperView中的云图面板
10.在Entity Editor中,取消选择结构的outer部分。
只有接触面上的结果才可见。
11.在显示云图的窗口中单击鼠标右键,然后选择Apply Style>Current Page>All selected以查看所有模型的相同结果。
图8.将Setup in One Window应用于页面的其余部分
12.显示了两个运行的正常contact traction 的云图。
具有间隙和调整功能的模型的traction 力比仅具有稳定性的模型的traction 力更均匀。此外,这三种模型的峰值要低得多。在调整的情况下,间隙最初是闭合的,与其他情况相比,留给无应力热膨胀的空间更小。因此,与间隙结果相比,在这种情况下adjust的contact traction 力更高。
图9.三种不同运行的法向contact traction 云图    
             


来源:TodayCAEer
ACTOptiStructHyperMeshHyperView非线性动网格材料控制曲面Altair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-10-19
最近编辑:28天前
TodayCAEer
本科 签名征集中
获赞 18粉丝 27文章 242课程 0
点赞
收藏
作者推荐

Excel函数:从知识付费到自我提升的旅程-16

在Excel函数的丰富世界中,我们已经见识了众多强大的功能。让我们回顾一下此前介绍过的函数:SUM、VLOOKUP、IF、AVERAGE、COUNT、MAX、MIN、ROUND、CONCATENATE、SUMIF、LEFT、RIGHT、MID、LEN、INDEX、MATCH、HYPERLINK、SUBTOTAL、AGGREGATE、TEXT、OFFSET、ROW、COLUMN、INDIRECT、ISNUMBER、AND、OR、NOT、COUNTA、FIND、UPPER、LOWER、PROPER、TRIM、VALUE、DATE、YEAR、MONTH、DAY、DATEDIF、IFERROR、ABS、INT、ROUNDUP、ROUNDDOWN、SUMPRODUCT、STDEV、AVERAGEIF、COUNTBLANK、ISBLANK、PMT、FV、PV、NPER、RATE、HYPERLINK的高级应用、INDEX和MATCH函数的组合应用、SUMIFS、COUNTIFS、AVERAGEIFS、SUBSTITUTE、REPLACE、LENB、CODE、CHAR、ISEVEN、ISODD、ROW函数的扩展应用、COLUMN函数的扩展应用、TRANSPOSE、FILTER、UNIQUE、SORT、SORTBY、XLOOKUP。现在,让我们继续探索新的Excel函数。一、SEQUENCE函数函数介绍:SEQUENCE函数用于生成一个按指定规则的序列。应用场景:可以方便地生成连续的数字序列,用于编号、填充数据等。例如,快速生成1到100的连续序列。示例:“=SEQUENCE(100)”将生成一个包含1到100的100个数字的序列。二、BYROW函数函数介绍:BYROW函数对数组的每一行进行指定的计算。应用场景:在处理二维数组数据时,可以对每一行进行独立的操作。例如,计算每一行数据的总和。示例:假设有一个3行4列的数据区域A1:D3,“=BYROW(A1:D3,LAMBDA(row,SUM(row)))”将计算每一行数据的总和。三、BYCOL函数函数介绍:BYCOL函数对数组的每一列进行指定的计算。应用场景:与BYROW函数类似,用于对每一列数据进行操作。比如,计算每一列数据的平均值。示例:对于同样的3行4列数据区域A1:D3,“=BYCOL(A1:D3,LAMBDA(col,AVERAGE(col)))”将计算每一列数据的平均值。四、FORMULATEXT函数函数介绍:FORMULATEXT函数用于返回指定单元格中的公式文本。应用场景:在检查和分析复杂公式时非常有用,可以快速查看单元格中的公式内容。例如,检查公式是否正确。示例:假设A1单元格中有公式“=SUM(B1:B5)”,“=FORMULATEXT(A1)”将返回“=SUM(B1:B5)”。五、GETPIVOTDATA函数函数介绍:GETPIVOTDATA函数用于从数据透视表中提取特定的数据。应用场景:当需要从数据透视表中获取特定的值进行进一步分析时使用。例如,在报表中引用数据透视表中的数据。示例:假设有一个数据透视表,要获取特定行和列交叉处的值,可以使用“=GETPIVOTDATA("字段名",数据透视表区域,"行标签","列标签")”。来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈