本文整理汇总了Python中atom.Atom.ifmv方法的典型用法代码示例。如果您正苦于以下问题:Python Atom.ifmv方法的具体用法?Python Atom.ifmv怎么用?Python Atom.ifmv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类atom.Atom
的用法示例。
在下文中一共展示了Atom.ifmv方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: repeat
# 需要导入模块: from atom import Atom [as 别名]
# 或者: from atom.Atom import ifmv [as 别名]
def repeat(self,n1,n2,n3):
#...unit vectors to be repeated
self.a1= self.a1*n1
self.a2= self.a2*n2
self.a3= self.a3*n3
n123= n1*n2*n3
nsid= 0
for ai in self.atoms:
nsid= max(nsid,ai.sid)
natm0= self.num_atoms()
atoms0= copy.copy(self.atoms)
self.atoms= []
aid= 0
for i1 in range(n1):
for i2 in range(n2):
for i3 in range(n3):
for ai0 in atoms0:
aid += 1
ai= Atom()
ai.sid= ai0.sid
ai.symbol= ai0.symbol
ai.ifmv= ai0.ifmv
x= ai0.pos[0]/n1 +1.0/n1*i1
y= ai0.pos[1]/n2 +1.0/n2*i2
z= ai0.pos[2]/n3 +1.0/n3*i3
ai.set_pos(x,y,z)
ai.set_vel(ai0.vel[0],ai0.vel[1],ai0.vel[2])
ai.set_id(aid)
self.atoms.append(ai)