workbench不能完全支持ANSYS经典版本的所有功能。为此在分析时,有时需要插入命令流,以实现以下功能:
① 使用KEYOPT设置单元关键字;
② 使用RMODIF设置单元实常数;
③ 使用MP,MPDATA定义材料参数;
④ 使用TB,TBDATA定义材料模型。
本文对ANSYS中以上四个方面的命令的使用进行了盘点。
—01—
单元关键字的命令流插入语法格式:
KEYOPT,ITYPE,KNUM,VALUE
其中:
ITYPE ―为单元类型号,在workbench中常用CID
或TID,表示contact ID和target ID;
KNUM ―为单元关键字选项(图1中括号内数字);
VALUE ―为每一个关键字的具体设置。
以接触分析为例,接触单元的KEYOPT关键字选项可以在ANSYS help中查询,如下图1:
图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(三维)
图3 接触对下插入command
—02—
单元实常数的命令流插入语法格式:
RMODIF,NSET,STLOC,VALUE
其中:
NSET―为单元实常数号,在workbench中常用
CID或TID代替;
STLOC―实常数表格的位置;
VALUE―实常数的数值。
同样以接触为例,在workbench中的接触对下,对于非对称接触(asymmetric),用CID表征实常数号或材料号;对于对称接触(symmetric),用TID表征实常数号或材料号,如下图:
接触单元的实常数选项同样可以在ANSYS help中通过图1方式查询,如下图:
在某些分析中,我们需要改变实常数时,可以通过如下方式在接触对下插入命令流修改实常数(同图3):
举例:
RMODIF,CID,9,200E6 !设置最大摩擦应力TAUMAX
RMODIF,CID,13,100E5 !设置最大粘结应力COHE
RMODIF,CID,21,1.2 !设置静动态摩擦系数之比FACT
RMODIF,CID,21,1.2 !设置摩擦衰减系数DC
—03—
在ANSYS中,可以通过命令流定义材料参数。如使用MPDATA命令来定义摩擦系数。例如,可以为某个具体的材料指定一个固定的摩擦系数,或者根据温度、速度等条件变化来定义摩擦系数的非线性变化。
通常材料属性与温度有关,即一个温度对应一个材料属性。在ANSYS中,我们平时在定义材料的时候没有定义温度,那是因为软件已经默认了一个温度值。
材料定义时,当材料属性与温度无关时,线性材料属性定义用MP命令;当材料属性与温度有关时,线性材料定义需要用到MPTEMP、MPDATA命令。
MP用于定义材料属性,命令插入语法格式:
MP,Lab,MAT,C0,C1,C2,C3,C4
其中:
MP—表示材料属性(Material Property),材料
属性为固定值时,其值为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(element type)所定义的ITYPE编
号,表示该组属性属于ITYPE。workbench
中插入命令流时,常用matid替换,软件
会自动转换为对应的材料号,如下:
MP命令举例如下:
ET,1,227,11 !定义单元类型,ITYPE=1
! 以下为定义ET下的材料属性
MP,EX,1,2e11
MP,PRXY,1,0.3
MP,DENS,1,7800
MP,ALPX,1,3.1e-6
MP,KXX,1,70
MP,C,1,120
ET,2,227,11 !定义单元类型,ITYPE=2
! 以下为定义ET下的材料属性
MP,EX,2,2e11
MP,PRXY,2,0.3
MP,DENS,2,7800
MP,ALPX,2,3.1e-6
MP,KXX,2,70
MP,C,2,120
MPTEMP命令用于为材料属性定义一个随温度变化的温度表,插入语法格式:
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定义温度点对应的材料属性,如下:
/CLEARMPTEMP,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.5E3
MPDATA,EX,1,5,6.5E3,8.5E3,9.5E3,1E4!材料2 密度在8个温度点的数值
MPDATA,DENS,2,1,2000,2500,2800,3000
MPDATA,DENS,2,5,4000,4500,5000,5200!绘制材料1弹性模量随温度的变化曲线
MPPLOT,EX,1
!绘制材料2密度随温度的变化曲线
MPPLOT,DENS,2
—04—
TB, Lab, MATID, NTEMP, NPTS, TBOPT,EOSOPT
其中:
Lab—为材料模型数据表类型,TB命令支持的材料
模型数据表类型很多,具体参见NASYS help 下Command Reference有关内容,如下图。
STLOC—为输入数据在表格中起始位置。例如,如
果STLOC=1,则C1字段中的数据输入适
用于第一个表常数,C2适用于第二个表
常数,依此类推。如果STLOC=5,则C1
字段中的数据适用于第五个表常数,依此
类推。默认为填充的最后一个位置加1。
C1~C6—表示具体参数值, 数据值分配给以STLO 开头的六个位置。如果该位置中已经存Oper—要执行的操作。为DEFI时,表示定义一个
新的数据点(默认值),该点按X1的升序插入
到表中,如果已经存在具有相同X1值的点,
则将其替换。为DELE时,删除现有点,x1值
必须与要删除点的x1值匹配(XN被忽略)。
二、材料模型定义案例

② 定义某材料的MISO模型(多线性等向强化模型)本构曲线
/CLEAR
fc=14.3
!定义材料的线弹性部分的属性
MP,EX,13,fc*0.19/0.0002
MP,PRXY,13,0.2
MP,DENS,13,2500E-12
!声明为弹塑性材料,具体为MISO类型
TB,MISO,13,,11
绘制出的曲线如下:

ANSYS workbench的材料库目前可以定义许多材料参数和模型,软件也在不断完善材料库。以上材料参数和材料模型的定义(仅做本文演示,不能用于工程)多可以通过材料库定义,但是有时候也需要插入简单的命令流,为此了解经典版本中关于材料参数和模型定义的有关命令也很有必要。