ansys中的*get命令我想问下如下这段程序是怎么实现获得z=0这个截面上所有node的节点号的NSEL,S,LOC,Z,1*GET,N_TOTAL,NODE,COUNT*DIM,NUM,ARRAY,N_TOTAL*GET,NUM(1),NODE,NUM,MINDO,I,2,N_TOTAL *GET,NUM(I),NODE,NUM(I-1),NXTH(主
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/23 13:47:02
ansys中的*get命令我想问下如下这段程序是怎么实现获得z=0这个截面上所有node的节点号的NSEL,S,LOC,Z,1*GET,N_TOTAL,NODE,COUNT*DIM,NUM,ARRAY,N_TOTAL*GET,NUM(1),NODE,NUM,MINDO,I,2,N_TOTAL *GET,NUM(I),NODE,NUM(I-1),NXTH(主
ansys中的*get命令
我想问下如下这段程序是怎么实现获得z=0这个截面上所有node的节点号的NSEL,S,LOC,Z,1
*GET,N_TOTAL,NODE,COUNT
*DIM,NUM,ARRAY,N_TOTAL
*GET,NUM(1),NODE,NUM,MIN
DO,I,2,N_TOTAL
*GET,NUM(I),NODE,NUM(I-1),NXTH(主要是这句的功能)
*ENDDO
ansys中的*get命令我想问下如下这段程序是怎么实现获得z=0这个截面上所有node的节点号的NSEL,S,LOC,Z,1*GET,N_TOTAL,NODE,COUNT*DIM,NUM,ARRAY,N_TOTAL*GET,NUM(1),NODE,NUM,MINDO,I,2,N_TOTAL *GET,NUM(I),NODE,NUM(I-1),NXTH(主
看来楼主确实不清楚,因为这段程序是获得z=1这个面上的所有的节点的,并把节点进行了编号的排列,然后赋给一个数组里面,保存这些节点!下面本人一一注释,供楼主参考:
NSEL,S,LOC,Z,1 !提取z=1面上的所有节点
*GET,N_TOTAL,NODE,COUNT !计算提多了多少个节点,并把这个数字赋值给变量N_TOTAL
*DIM,NUM,ARRAY,N_TOTAL !根据N_TOTAL的大小,定义一个存储N_TOTAL个数的数组num
*GET,NUM(1),NODE,NUM,MIN !提取数组num中的最小的节点编号,并放在数组的第一个位置,也就是num(1),这里
DO,I,2,N_TOTAL !定义一个循环语句,I从2开始到选择的这部分节点的最大数N_TOTAL停止,因为第一个最小的已经放在num(1)第一个位置了,所以没有必要再放一次,就从第二个开始了,
*GET,NUM(I),NODE,NUM(I-1),NXTH !这句的功能就是提取NUM(I-1)这个节点编号的下一个节点编号,然后赋值给NUM(I),因为不能保证这个面上的节点都是像123..等等是递增的,有可能是1,2,5...,所以就选择下一个(NXTH)来提取,这样如果是提取下一个,那么当2提取完的时候就可以提取到5了,5就是2的下一个了!
*ENDDO !终止循环