本文摘要(由AI生成):
NUMCMP命令用于压缩图素编号,使不连续编号变为连续。但在建模过程中,若对包含不连续TYPE/MAT/REAL等的项执行NUMCMP,ALL,可能导致误引用和未定义错误。建议在模型创建完成后定义单元类型、材料等,以避免此类问题。
用法:NUMCMP,Label
解释:该命令对Label项(如NODE、ELEM、KP、LINE、AREA、VOLU、MAT、TYPE、REAL、CP、CE或ALL)等进行编号压缩,即将不连续的编号改为连续的编号。
用途:在创建几何模型过程中,图素编号不连续是很正常的,尤其是布采用尔运算建模。因此,为了便于方便建模或数据处理,经常会执行编号压缩命令。
问题:通常对NODE、ELEM、KP、LINE、AREA、VOLU进行编号压缩或所有这些进行编号压缩,往往会执行“NUMCMP,ALL”,这就会对所有图素或定义项(如MAT、TYPE、REAL)等进行压缩。如果MAT、TYPE、REAL在定义时确实是不连续的,则在执行“NUMCMP,ALL”后,编号自然成为连续的。这会导致未定义、属性混乱等致命错误,而有些错误还不易发现。
举例1:编号压缩导致未定义(如实常数等)
finish$/clear$/prep7
et,1,beam189
mp,ex,1,2e11
mp,prxy,1,0.3
mp,ex,8,1.9e11
mp,prxy,8,0.2
sectype,1,beam,rect
secdata,0.2,0.2
k,1
k,2,6
k,3,6,3
l,1,2
l,2,3
lsel,s,,,1
latt,1,,1,,,3,1
lsel,s,,,2
latt,1,,1,,,1,8
lsel,all
numcmp,all !单元网格划分后使用了编号压缩命令
!mplist查看只有材料号1和2,材料号8已消失
esize,0.5
lmesh,all
dk,1,all
fk,3,fx,1000
/solu
solve !出现未定义材料号8的错误
错误提示
举例2:赋予的单元属性非己所愿
/prep7
et,1,link8
et,2,shell181
mp,ex,1,2e5
mp,prxy,1,0.31
r,2,10 !壳厚
r,4,1200 !杆面积
r,6,30 !壳厚
blc4,,,200,100 !为简单起见,仅仅创建一个面
!----此间有很多建模操作从略
numcmp,all !建模过程中使用编号压缩命令
aatt,1,2,2
!赋予2号实常数,原意板厚10,但实际上2号实常数已是1200的值
esize,10
mshkey,1
amesh,all
/eshape,1
eplot !厚度显示不正确
无单元厚度显示-带单元厚度显示
小结:在网格划分之前执行“numcmp,all”命令,如果定义了不连续的type/mat/real等,其编号被同时压缩,会导致后面的误引用,从而产生不宜发现的错误。
如果在网格划分之后执行“numcmp,all”命令,虽然也被压缩了,但ANSYS会修改某些与之相关的属性(如real),而有些则不会(如MAT)。
因此,在全部几何模型创建完成之后,再定义单元类型、材料、实常数等为上策,如此可防止出现上述问题。