def test_q_4(): atoms, boxdims = pcs.make_crystal('bcc', repetitions=[4, 4, 4]) sys = pc.System() sys.assign_atoms(atoms, boxdims) #sys.get_neighbors(method = 'voronoi') sys.get_neighbors(method='cutoff', cutoff=0.9) sys.calculate_q([4, 6], averaged=True) atoms = sys.get_allatoms() assert np.round(atoms[0].get_q(4), decimals=2) == 0.51 assert np.round(atoms[0].get_q(4, averaged=True), decimals=2) == 0.51 assert np.round(atoms[0].get_q([4, 6])[0], decimals=2) == 0.51 assert np.round(atoms[0].get_q([4, 6], averaged=True)[1], decimals=2) == 0.63 assert np.round(atoms[0].get_q([4, 6]), decimals=2)[0] == 0.51 assert np.round(atoms[0].get_q([4, 6], averaged=True)[1], decimals=2) == 0.63 #now change the q4 values atoms[0].set_q(4, .23) atoms[0].set_q(4, .23, averaged=True) assert np.round(atoms[0].get_q(4), decimals=2) == 0.23 assert np.round(atoms[0].get_q(4, averaged=True), decimals=2) == 0.23 atoms[0].set_q([4, 6], [.23, .46]) atoms[0].set_q([4, 6], [.23, .46], averaged=True) assert np.round(atoms[0].get_q(4), decimals=2) == 0.23 assert np.round(atoms[0].get_q(4, averaged=True), decimals=2) == 0.23 assert np.round(atoms[0].get_q(6), decimals=2) == 0.46 assert np.round(atoms[0].get_q(6, averaged=True), decimals=2) == 0.46
def test_q_list(): #this might take a while, it will find all qs atoms, boxdims = pcs.make_crystal('bcc', repetitions=[4, 4, 4]) sys = pc.System() sys.assign_atoms(atoms, boxdims) sys.get_neighbors(method='voronoi') sys.calculate_q([2, 4], averaged=True) q = sys.get_qvals([2, 4], averaged=True)
def test_q_8(): atoms, boxdims = pcs.make_crystal('bcc', repetitions = [4, 4, 4]) sys = pc.System() sys.assign_atoms(atoms, boxdims) sys.get_neighbors(method = 'voronoi') sys.calculate_q(8, averaged=True) q = sys.get_qvals(8, averaged=True) assert np.round(np.mean(np.array(q)), decimals=2) == 0.33
def test_q_4(): atoms, boxdims = pcs.make_crystal('bcc', repetitions=[4, 4, 4]) sys = pc.System() sys.assign_atoms(atoms, boxdims) #sys.get_neighbors(method = 'voronoi') sys.get_neighbors(method='cutoff', cutoff=0.9) sys.calculate_q(4, averaged=True) q = sys.get_qvals(4, averaged=True) assert np.round(np.mean(np.array(q)), decimals=2) == 0.51, "Calculated q4 value is wrong!"
def test_q_2(): #this might take a while, it will find all qs atoms, boxdims = pcs.make_crystal('bcc', repetitions = [6, 6, 6]) sys = pc.System() sys.assign_atoms(atoms, boxdims) #sys.read_inputfile("tests/bcc.dat") sys.get_neighbors(method = 'voronoi') #sys.get_neighbors(method = 'cutoff', cutoff=0.9) sys.calculate_q(2) q = sys.get_qvals(2) assert np.round(np.mean(np.array(q)), decimals=2) == 0.00