如何一次性施加多个载荷至多个关键点
在结构上选取32个关键点(KP1,KP2...KP32)施加力载荷,共32个力(F1,F2...F32),32个力与32个关键点没有指定的对应关系,二者的对应是随机性的,即F1施加至KP1至KP32中的任何一个都行,但只能施加一次。常规的施加方法是,先选中一个节点,如KP1,然后对KP1施加F1,之后再选中KP2,施加F2...重复32次,才能完成全部载荷施加,这样做太麻烦。
请教高手,有没有一个命令,一次操作就能实现32个载荷的施加,关键点与力没有指定的对应关系,只要将32个力施加到32个关键点即可。
!初始化关键点,清除关键点及对应节点上的所有载荷
ksel,s,kp,,1,32 !选择1~32关键点
nslk,s,1 !选择关键点对应的节点
fkdele,all,all !清除关键点上的载荷
fdele,all,all !清除对应节点上的载荷
!对关键点随机施加载荷
*do,ii,1,32,1
aa=rand(1,32) !在1~32之间产生一个随机数
ksel,s,kp,,aa !选择这个关键点
nslk !选择关键点对应的节点
*get,bb,node,,num,min !得到节点号
*get,cc,node,bb,f,fx !提取节点上x方向的力,以避免对已经施加载荷的关键点重复施加。APDL好像没有判断关键点载荷的命令,所以用节点判断
*if,cc,eq,0,then, !如果提取的力等于0,则施加力。此处有一个要求就是f1~f32不能为0fk,aa,fx,f%ii% !对随机关键点aa施加力 f%ii%,
sbctran !将关键点上施加的力传递到对应节点上,以便上面的语句进行判断
*endif
*enddo
本帖最后由 redwar 于 2018-6-21 19:19 编辑
aa=rand(1,32) !在1~32之间产生一个随机数
这个命令不严谨,选取出来的关键点有可能是重复 这样32次循环完 , 有可能某些点根本就没有加载上
页:
[1]