def create_randomized_model(num,dir=dir): lattice_param = 1 perfect = icosahedron(lattice_param,save=True,filename='icosahedron.perfect.xyz') perfect.write(perfect.filename) return 0 for i in range(num): print(i) a = random.uniform(0,360) b = random.uniform(0,360) c = random.uniform(0,360) #a = random.randrange(0,345,15) #b = random.randrange(0,345,15) #c = random.randrange(0,345,15) rot_arr = calc_rot_array(a,b,c,deg=True) imperfect = copy.deepcopy(perfect) perturb_atom(imperfect,axis='all') #swap_atom(imperfect) imperfect.write_real_xyz(dir+'icosahedron.{0}.random.xyz'.format(i)) convert(imperfect,'polyhedron',dir+'icosahedron.{0}.random.txt'.format(i)) rotate(imperfect,rot_arr) imperfect.write_real_xyz(dir+'icosahedron.{0}.random.rot.xyz'.format(i)) convert(imperfect,'polyhedron',dir+'icosahedron.{0}.random.rot.txt'.format(i))
def create_basic_models(): lattice_param = 1 a = 30 b = 135 c = 45 rot_arr = calc_rot_array(a,b,c,deg=True) perfect = icosahedron(lattice_param,save=True,filename='icosahedron.perfect.xyz') convert(perfect,'prototype','icosahedron.perfect.txt') sm = copy.deepcopy(perfect) swap_atom(sm,2,3) sm.write_real_xyz('icosahedron.perfect.swap.xyz') convert(sm,'polyhedron','icosahedron.perfect.swap.txt') rm = copy.deepcopy(perfect) rotate(rm,rot_arr) rm.write_real_xyz('icosahedron.perfect.rot.xyz') convert(rm,'polyhedron','icosahedron.perfect.rot.txt') rm = copy.deepcopy(sm) rotate(rm,rot_arr) rm.write_real_xyz('icosahedron.perfect.swap.rot.xyz') convert(rm,'polyhedron','icosahedron.perfect.swap.rot.txt') imperfect = copy.deepcopy(perfect) perturb_atom(imperfect,1,0.1,0) imperfect.write_real_xyz('icosahedron.imperfect.xyz') convert(imperfect,'prototype','icosahedron.imperfect.txt') sim = copy.deepcopy(imperfect) swap_atom(sim,2,3) sim.write_real_xyz('icosahedron.imperfect.swap.xyz') convert(sim,'polyhedron','icosahedron.imperfect.swap.txt') rim = copy.deepcopy(imperfect) rotate(rim,rot_arr) rim.write_real_xyz('icosahedron.imperfect.rot.xyz') convert(rim,'polyhedron','icosahedron.imperfect.rot.txt') rim = copy.deepcopy(sim) rotate(rim,rot_arr) rim.write_real_xyz('icosahedron.imperfect.swap.rot.xyz') convert(rim,'polyhedron','icosahedron.imperfect.swap.rot.txt')