我用abaqus-Python学习了周期性边界条件,感谢论坛里的老哥帮忙,其实做起来很简单的,主要思路是对应节点之间的约束。这里我用的绑定,不过我看其他人也有用耦合约束的。
a = mdb.models['Model-1'].rootAssembly
for i in range(1,27):
j = i
k = 650+i
#创建节点集
a.SetFromNodeLabels(name='Node_'+str(j), nodeLabels=(('Part-1-1', (j, )), ))
a.SetFromNodeLabels(name='Node_'+str(k), nodeLabels=(('Part-1-1', (k, )), ))
#通过循环将对应节点绑定起来
mdb.models['Model-1'].Tie(name='Constraint-'+str(i), master='Node_'+str(j), slave='Node_'+str(k))
代码写的不是太严谨,其实核心思路就是批量操作,先录制一个abaqus对应节点的绑定过程,然后for循环,将一条边上的节点批量执行绑定操作,如果对应边的节点编号没有顺序,那还需要对节点重新编号,用前处理软件和abaqus都可以实现。