首页/文章/ 详情

如何快速将3D杆系模型转化为CAE梁单元线体分析模型?这篇文章告诉你正确的方法!

7月前浏览1184

本文来源于周炬、苏金英老师所著《ANSYS Workbench 有限元分析实例详解》一书中的案例,经过整理,以供学习参考。

实际工程中,结构构建基本都是3D 建模的结构件,如图1所示,为一杆系结构模型。此类杆系模型如果不加修改,直接采用实体模型进行分析,必将消耗大量计算机资源,因此,一般都会将其转化为梁模型进行分析。

图1 某杆系结构模型


① 抽取梁模型并修复

在SpaceClaim 中,点击“文件”→“打开”,打开刚才的文件(SpaceClaim 可以直接打开市面上所有的3D 模型)。如图2所示:


图2 在SpaceClaim 中打开某杆系结构模型


点击“准备”→“抽取”,如图3所示。然后按住鼠标左键框选模型,选取方法分为左上到右下和右下到左上两种,分别表示框选区为选择对象、框选区相关联图形为选择对象,这与AutoCAD 的操作一样。

图3 在SpaceClaim 中抽取梁模型


抽取梁模型后显示的线型横梁模型如图4所示。点击“显示”,可以在“线型横梁”和“实体横梁”视图间切换。

图4  在SpaceClaim 中切换梁模型显示


可以观察到横梁模型间存在间隙或多余区域。如图5所示,需要对其进行延伸修复等操作。

图5 梁模型中的间隙和多余部分

点击“准备”→“延伸”,在选项菜单中定义“最长距离”为50mm,再勾选“修剪表面”、“局部相交”、“在延伸或修剪之后合并”选项,在信息栏可以看到有64处区域,然后点击屏幕左侧中部的,如图6所示。延伸工具不能一次完全修复成功,需要多次修改最长距离数值,直至信息栏出现“找不到任何区域”。

图6 梁模型节点处的延伸修复处理


横梁模型依然存在间隙和不同交点,则需要点击“设计”→“移动”工具,如图7所示。

图7 移动修复工具


如图8所示,在需要移动的横梁端点上左键点击选择(表示被移动基准),会出现一个坐标系的操作图标,然后点击屏幕左侧中部的(快捷键U,表示以定位点方式来移动),最后点击图中圆圈处的交点(表示移动终点基准)。

图8  移动修复处理

所有横梁移动完成后,再进行一次“延伸”修复,最终模型如图9所示。

图9 最终模型


② 宏定义及调用定义梁截面

梁的截面参数测量。梁的截面定义有非常多的方法,本例介绍一种适合工程的宏文件操作方式。


在spaceclaim中,右键点击“结构”→“横梁轮廓”→“抽取的轮廓1”→“编辑横梁轮廓”,依次打开几个横梁截面,如图10所示,同时用“测量”→“测量”工具测量截面参数,并记录。

图10 编辑轮廓



图11  尺寸测量


文件先保存后,关闭SpaceClaim。回到ANSYS Workbench 主界面,切换进入DM 模块。注意:默认Line Bodies 为No,这里需要定义为Yes。点击Generate 导入后,模型如图12所示。

图12  模型导入Designmodeler


接下来,就可以定义截面宏文件了。如图13所示,定义一个截面边长为60mm、壁厚为4 mm的正方形方管。右键点击Cross Section,在出现的菜单中点击Export Cross Sections to Script…,即可另存为一个js 宏文件。

图13  导出JS宏文件


用记事本打开刚才存盘的js 文件,如图14 所示。宏文件采用Python 编译,非常利于学习和运用。

图14   js宏文件的内容

该文件中:

即为刚才定义的截面类型(RectTube1)和截面尺寸。以此格式,此后增加下面字符:

即为截面类型为RectTube2、截面边长为80mm、壁厚为4 mm的正方形方管和截面类型为Channel1、边长为100mm、50mm、50mm,壁厚为5mm 的槽钢。


将修改的js 文件存盘备用。先删除之前定义的截面,点击File→RunScript,如图15所示,找到刚才存盘的js文件。导入后,即建立好了截面。

图15 导入JS截面文件


最后将定义的截面赋予线体。如图16所示,依次定义各横梁截面。

图16 线体赋予截面属性

所有横梁截面定义完成后,还需要按照实际模型,比照横梁模型的截面方向。截面方向的定义。至此,就可完成3D 梁模型的建立。


~结语~

以上便是本期介绍的spaceclaim抽取线体模型,并在designmodeler中通过定义宏文件的方式定义截面的方法。以往 3D 梁模型的建立依据坐标描点,费时费力,而且易出现差错。相比之下,采用SpaceClaim软件的抽取梁工具则可以很快地完成梁模型的重建,同时结合js 宏文件定义梁截面,拥有了原来ANSYS 经典APDL 的操作优势,方便快捷。

来源:薛定谔的Cube
SpaceClaimACTWorkbenchpythonAutoCAD
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-31
最近编辑:7月前
巴郡撸猫人
硕士 签名征集中
获赞 15粉丝 25文章 73课程 0
点赞
收藏
作者推荐

ANSYS中关键字、实常数、材料属性和材料模型定义常用命令流!

workbench不能完全支持ANSYS经典版本的所有功能。为此在分析时,有时需要插入命令流,以实现以下功能:①使用KEYOPT设置单元关键字;②使用RMODIF设置单元实常数;③使用MP,MPDATA定义材料参数;④使用TB,TBDATA定义材料模型。本文对ANSYS中以上四个方面的命令的使用进行了盘点。—01—插入单元关键字单元关键字的命令流插入语法格式:KEYOPT,ITYPE,KNUM,VALUE其中:ITYPE―为单元类型号,在workbench中常用CID或TID,表示contactID和targetID;KNUM―为单元关键字选项(图1中括号内数字);VALUE―为每一个关键字的具体设置。以接触分析为例,接触单元的KEYOPT关键字选项可以在ANSYShelp中查询,如下图1:图1接触单元的关键字查询(以CONTA174为例)图1中,KEYOPT(1)为接触单元CONTA174的1号关键字选项(括号内数值),该关键字控制着接触单元的自由度选项。从上图可以看到,在ANSYS中,不同分析类型下支持不同的接触自由度。某些分析,我们需要通过插入命令流激活特定的自由度。例如摩擦生热就需要激活结构和温度自由度。如下,可插入单元关键字的命令流激活单元自由度:图2利用关键字选项设置单元自由度关于不同分析问题的自由度选项:-结构:Ux,Uy,Uz-结构/热:Ux,Uy,Uz,TEMP(温度)-热:TEMP-结构/热/电:Ux,Uy,Uz,TEMP,VOLT(伏特)-热/电:TEMP,VOLT-结构/电:Ux,Uy,Uz,VOLT-电:VOLT-磁:AZ(二维,A方向上的矢量位),MAG(三维)关于其他关键字选项和具体的设置,可以根据上述方式查阅帮助文档,此处不再赘述。......接触对下插入KEYOPT命令如下所示:图3接触对下插入command—02—插入单元实常数单元实常数的命令流插入语法格式:RMODIF,NSET,STLOC,VALUE其中:NSET―为单元实常数号,在workbench中常用CID或TID代替;STLOC―实常数表格的位置;VALUE―实常数的数值。同样以接触为例,在workbench中的接触对下,对于非对称接触(asymmetric),用CID表征实常数号或材料号;对于对称接触(symmetric),用TID表征实常数号或材料号,如下图:接触单元的实常数选项同样可以在ANSYShelp中通过图1方式查询,如下图:图4接触单元的实常数(以CONTA174为例)在某些分析中,我们需要改变实常数时,可以通过如下方式在接触对下插入命令流修改实常数(同图3):举例:RMODIF,CID,9,200E6!设置最大摩擦应力TAUMAXRMODIF,CID,13,100E5!设置最大粘结应力COHERMODIF,CID,21,1.2!设置静动态摩擦系数之比FACTRMODIF,CID,21,1.2!设置摩擦衰减系数DC—03—定义材料参数在ANSYS中,可以通过命令流定义材料参数。如使用MPDATA命令来定义摩擦系数。例如,可以为某个具体的材料指定一个固定的摩擦系数,或者根据温度、速度等条件变化来定义摩擦系数的非线性变化。通常材料属性与温度有关,即一个温度对应一个材料属性。在ANSYS中,我们平时在定义材料的时候没有定义温度,那是因为软件已经默认了一个温度值。材料定义时,当材料属性与温度无关时,线性材料属性定义用MP命令;当材料属性与温度有关时,线性材料定义需要用到MPTEMP、MPDATA命令。MP用于定义材料属性,命令插入语法格式:MP,Lab,MAT,C0,C1,C2,C3,C4其中:MP—表示材料属性(MaterialProperty),材料属性为固定值时,其值为C0;当随温度变化时,由后四个参数控制。C1,C2,C3,C4为温度曲线多项式中,分别为一次、二次、三次、四次项系数,如果为0,则代表一个为C0常数的材料性能。Lab—表示材料属性标签,任何元素具备何种属性在元素属性表中均有说明。例如:弹性模量:Lab=EX,EY,EZ密度:Lab=DENS主泊松比:Lab=PRXY,PRYZ,PRZX次泊松比:Lab=NUXY,NUYZ,NUZX剪切模量:Lab=GXY,GYZ,GXZ热膨胀系数:Lab=ALPX,ALPY,ALPZ摩擦系数:Lab=MU比热容:Lab=C热传导系数:Lab=KXX,KYY,KZZ......MAT—表示材料参考编号,可为0或空,默认为1;对应ET(elementtype)所定义的ITYPE编号,表示该组属性属于ITYPE。workbench中插入命令流时,常用matid替换,软件会自动转换为对应的材料号,如下:MP命令举例如下:ET,1,227,11!定义单元类型,ITYPE=1!以下为定义ET下的材料属性MP,EX,1,2e11MP,PRXY,1,0.3MP,DENS,1,7800MP,ALPX,1,3.1e-6MP,KXX,1,70MP,C,1,120ET,2,227,11!定义单元类型,ITYPE=2!以下为定义ET下的材料属性MP,EX,2,2e11MP,PRXY,2,0.3MP,DENS,2,7800MP,ALPX,2,3.1e-6MP,KXX,2,70MP,C,2,120MPTEMP命令用于为材料属性定义一个随温度变化的温度表,插入语法格式:MPTEMP,STLOC,T1,T2,T3,T4,T5,T6其中:STLOC—确定输入温度的起始位置,默认值为最后填充值加1;T1~T6—指定从STLOC开始将要赋予的6个位置的温度值。如果某位置的值已存在,将会被覆盖。如果T1=0,则STLOC位置处的值将为0;若T2~T6=0,则使相对应位置的值不变。MPDATA命令用于指定与温度相对应的材料性能数据,插入语法格式如下:MPDATA,Lab,MAT,STLOC,C1,C2,C3,C4,C5,C6其中:Lab—表示材料属性标签,含义同前述;MAT—表示材料参考编号,含义同前述;STLOC—数据表的起始位置。若STLOC=1,在C1项输入数据为表中第一个数据;若STLOC=7,在C1项输入数据为表中第七个数据;默认值为最后位置加1。C1~C6—表示具体参数值。MPTEMP和MPDATA命令经常联合使用用于定义随温度变化的材料属性,举例如下:假设某材料的弹性模量与温度有关。例如我们定义8个温度点,并用MPDATA定义温度点对应的材料属性,如下:/CLEAR/PREP7!STLOC从1开始定义MPTEMP,1,25,35,45,55!STLOC从第5点开始定义MPTEMP,5,65,75,85,95!材料1弹性模量在8个温度点的数值定义:MPDATA,EX,1,1,1E3,2.5E3,4.5E3,5.5E3MPDATA,EX,1,5,6.5E3,8.5E3,9.5E3,1E4!材料2密度在8个温度点的数值MPDATA,DENS,2,1,2000,2500,2800,3000MPDATA,DENS,2,5,4000,4500,5000,5200!绘制材料1弹性模量随温度的变化曲线MPPLOT,EX,1!绘制材料2密度随温度的变化曲线MPPLOT,DENS,2—04—定义材料模型在ANSYS中,可以通过TB、TBDATA、TBTEMP、TBPT命令的使用定义材料模型。从字面意思理解,TB有table即表格的意思。实际在ANSYS中TB命令用于激活材料属性或特殊元素输入的数据表,常用于声明材料模型的非线性采用的屈服准则或者本构曲线类型,如MISO(多线性等向强化模型)、KINH(随动强化模型)、BH(磁滞曲线模型)等。ANSYS中,需先通过TB命令声明材料非线性类型(如MISO、BKIN等)后,才能使用TBPT命令。需要注意,若材料参数与温度相关,需先用TBTEMP指定温度点,再紧接着通过TBPT或TBDATA命令定义该温度下的应力-应变曲线。这里需要理解的是,TBDATA意为tabledata,即通过表格定义数据信息,其用途较广。在使用时,TB定义了具体表格类型和需要填充的数据类型,而TBDATA则根据TB定义的类型填充数据内容。TBDATA使用范围要远远大于TBPT命令。TBPT通常专门用于材料本构曲线的定义,即输入应力—应变点,每行只输入两个参数,即应力-应变数值同时输入。一、语法介绍下面我们就来了解一下以上命令的一些语法:①TB命令用于激活材料属性或特殊元素输入的数据表。插入语法格式如下:TB,Lab,MATID,NTEMP,NPTS,TBOPT,EOSOPT其中:Lab—为材料模型数据表类型,TB命令支持的材料模型数据表类型很多,具体参见NASYShelp下CommandReference有关内容,如下图。MATID—材料标识号。有效值是任何数字n,其中0<n<100000。默认=1。NTEMP—将提供温度数据的数量(如果使用)。通过TBTEMP命令指定温度。NPTS—如果给定,则为对应指定温度的各选项数值。也可通过TBDATA或TBPT命令定义数据点。EOSOPT—对于显示动力学分析且Lab为EOS时,指定模型的状态方程。通过TB命令定义材料模型的方法可参考《ANSYSMooney-Rivlin超弹性材料模型介绍及其设置方法》一文,此处不再赘述。需要注意的是,Lab参数对应的材料模型数据表类型需要输入的参数类型都不尽相同,需要根据官方帮助文件进行填写。②TBDATA命令用于定义材料数据表的数据。插入语法格式如下:TBDATA,STLOC,C1,C2,C3,C4,C5,C6其中:STLOC—为输入数据在表格中起始位置。例如,如果STLOC=1,则C1字段中的数据输入适用于第一个表常数,C2适用于第二个表常数,依此类推。如果STLOC=5,则C1字段中的数据适用于第五个表常数,依此类推。默认为填充的最后一个位置加1。C1~C6—表示具体参数值,数据值分配给以STLO开头的六个位置。如果该位置中已经存在值,则重新定义该值。空白值将现有值保持不变。③TBTEMP命令用于定义材料数据表中的温度。插入语法格式如下:TBTEMP,TEMP,KMOD其中:TEMP—温度值(默认为0.0);KMOD—如果为空,TEMP将定义一个新的温度。(使用TBLIST列出温度和数据。)④TBPT命令用于定义非线性数据曲线上的一个点。插入语法格式如下:TBPT,Oper,X1,X2,X3,...,XN其中:Oper—要执行的操作。为DEFI时,表示定义一个新的数据点(默认值),该点按X1的升序插入到表中,如果已经存在具有相同X1值的点,则将其替换。为DELE时,删除现有点,x1值必须与要删除点的x1值匹配(XN被忽略)。二、材料模型定义案例①定义某材料随温度变化的弹塑性模型:/CLEAR/PREP7!定义温度点材料的线弹性属性MPTEMP,1,25,100!定义材料对应温度的线弹性属性MPDATA,EX,12,1,3.0E11,2.05E11!声明材料类型为BKIN(双线性随动强化模型),材料编号为12,共2个温度点(如上MPTEMP定义)对应的材料曲线TB,BKIN,12,2!以下分别输入每个温度点对应的材料应力应变曲线数据!第一个温度点及对应数据TBTEMP,25,1TBDATA,1,235E6,3.00E10!第二个温度点及对应数据TBTEMP,100,2TBDATA,1,185E6,2.05E10TBPLOT绘制出的曲线如下:②定义某材料的MISO模型(多线性等向强化模型)本构曲线/CLEAR/PREP7fc=14.3!定义材料的线弹性部分的属性MP,EX,13,fc*0.19/0.0002MP,PRXY,13,0.2MP,DENS,13,2500E-12!声明为弹塑性材料,具体为MISO类型TB,MISO,13,,11TBPT,,0.0002,fc*0.19TBPT,,0.0004,fc*0.36TBPT,,0.0006,fc*0.51TBPT,,0.0008,fc*0.64TBPT,,0.001,fc*0.75TBPT,,0.0012,fc*0.84TBPT,,0.0014,fc*0.91TBPT,,0.0016,fc*0.96TBPT,,0.0018,fc*0.99TBPT,,0.002,fcTBPT,,0.0033,fcTBPLOT绘制出的曲线如下:ANSYSworkbench的材料库目前可以定义许多材料参数和模型,软件也在不断完善材料库。以上材料参数和材料模型的定义(仅做本文演示,不能用于工程)多可以通过材料库定义,但是有时候也需要插入简单的命令流,为此了解经典版本中关于材料参数和模型定义的有关命令也很有必要。来源:薛定谔的Cube

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