zone.state()函数解析与塑性区单元操作
在进行后处理时,提取塑性区单元的体积、单独分组、单独显示等问题经常困扰着新手朋友。为帮助大家解决这一难题,本文首先对FLAC3D 6.0中的zone.state()函数进行了详细分析,然后给出了提取塑性区单元体积的常规命令流以及塑性区单元单独分组的命令流,最后给出了两种塑性区单元单独显示的方法。在FLAC3D 中,zone.state()函数的功能为获取/设置单元当前的塑性指标,其语法见图1。
图1 zone.state()函数介绍图
由图可知,该函数共涉及三个参数,分别是单元指针z、切换两类单元塑性判断准则的布尔数bavg以及单元的塑性指标i,各参数的解析如下:(1)单元指针z
对于某一具体单元,其单元指针可根据zone.near(单元坐标)函数或zone.find(单元id)函数获取;想要获取所有的单元指针或者某一分组内的单元指针,则需要依靠遍历操作进行。
(2)布尔数bavg
该参数只用于获取单元塑性指标。
当bavg=1时,单元的塑性区状态对应于塑性区云图显示时的average显示(见图2),即单元经离散化成为四面体后,当体积不小于50%的四面体都进入塑性状态时,则判定该单元进入塑性状态。
当bavg=0时,单元的塑性区状态对应于塑性区云图显示时的any显示(见图3),即单元经离散化成为四面体后,只要有四面体进入塑性状态,则判定该单元进入塑性状态。
(3)单元塑性指标i
在FLAC3D中,不同的塑性状态对应有不同的指标值,见图4。
在使用该函数获取单元的塑性状态时,函数的返回值为整数i,若单元在当前塑性判断准则下只包含一种塑性状态时,返回值i为该塑性状态所对应的整数值,若单元在当前判断准则下包含多种塑性状态,则返回值i为各塑性状态所对应整数值的和,见下例。