在UDEC的生成网格的 generate 命令中,除了可以让程序自动划分网格还提供了一项自定义网格的关键字,具体的我在《UDEC中网格划分 gen edge 与 gen quad 的区别》一文中有说明。但是对于复杂块体,程序自动划分的网格实在是惨不忍睹,而且不能像ABAQUS中那样设置部分部位的网格疏密,于是我就想在ABAQUS中划分网格再利用命令导入。万万没想到,UDEC居然对读取字符的总长度有限制??
为了先进行测试,我准备将原来在ABAQUS中做过的一个简单的模型网格导入UDEC试试,结果死活都不成功,我还以为是格式错了,我又在ABAQUS建了个更简单的模型,就是下图的这个,然后转化成UDEC可识别的格式进行导入测试。
结果UDEC确实是可以识别的:
确认转换格式没问题后,我就又将最开始的那个测试模型导入进行测试
生成的UDEC网格文件格式如下
gen man &
grid &
0.42426407 0.42426407 &
0.00000000 0.60000002 &
-0.42426407 0.42426407 &
-0.60000002 0.00000000 &
-0.42426407 -0.42426407 &
0.00000000 -0.60000002 &
......
zone &
114 115 163 &
62 114 113 &
125 126 176 &
85 171 103 &
100 101 145 &
98 99 143 &
13 60 21 &
......
结果导入读取还是不成功,一直弹出警告 Too many input characters (max.=2000)
在Console窗口中我发现call的这个网格文件根本都读完,应该是到达它所说的字符上限了。
我又在帮助文档中讲命令语法那里找到这么几句话: An ampersand (&) at the end of a line denotes that the next line is a continuation of keywords or numeric input. The maximum length of a single command, including all continuations, is 5000 characters. A maximum of 1000 input parameters are allowed in one command.
既然这是对单个命令的字符限制,那能不能将 generate 命令分多次写呢?命令里又写了这么一句话:Care must be taken, when using manual zoning, to ensure that zoning completely fills the block,大意就是说自定义的网格必须填满块体,这就没办法了。
这个ABAQUS测试模型一个才193个节点,330个单元,就达到所说的字符上限了,而且警告里说的最大字符是2000个,命令语法里又说最多可以达到5000个,搞不懂,就算是5000个字符也不够用啊。那更复杂模型的网格数据岂不是更加超过所谓的字符上限了?那这个命令的意义又何在呢?
不知道我对这个命令的理解有没有错误,如果我的理解有误或者说还有其他的命令、方法能将外部网格数据导入UDEC的话还请告诉我一声。