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