elif implementation == 'C++': return calc_blob_potential_boost elif implementation == 'pycuda': return many_body_potential_pycuda.calc_blob_potential_pycuda if __name__ == '__main__': # script takes input file as command line argument or default 'data.main' if len(sys.argv) != 2: input_file = 'data.main' else: input_file = sys.argv[1] # Read input file read = read_input.ReadInput(input_file) # Copy input file to output subprocess.call(["cp", input_file, read.output_name + '.inputfile']) # Set random generator state if read.random_state is not None: with open(read.random_state, 'rb') as f: np.random.set_state(cpickle.load(f)) elif read.seed is not None: np.random.seed(int(read.seed)) # Save random generator state with open(read.output_name + '.random_state', 'wb') as f: cpickle.dump(np.random.get_state(), f)
import ntpath para_num = 2 sample_per_para = 7 # angle = np.linspace(1.0/3, 1.0, num=para_num)*np.pi angle = np.linspace(1.0/3, 1.0/3, num=para_num)*np.pi epsilon = np.linspace(0.1, 0.01, num=para_num) def str_list(l): return [str(e) for e in list(l)] No = "1" para = read_input.ReadInput('inputfiles/constrained_spheres.dat.' + No) path = "data/" + No np.random.seed(int(No)) for para_iter in range(para_num): for sample_iter in range(sample_per_para): rd_quaternion1 = np.random.rand(4)-0.5 rd_quaternion1 = list(rd_quaternion1/np.linalg.norm(rd_quaternion1, ord=2)) rd_quaternion1 = ' '.join(str_list(rd_quaternion1)) rd_quaternion2 = np.random.rand(4)-0.5 rd_quaternion2 = list(rd_quaternion2/np.linalg.norm(rd_quaternion2, ord=2)) rd_quaternion2 = ' '.join(str_list(rd_quaternion2)) rd_quaternion3 = np.random.rand(4)-0.5 rd_quaternion3 = list(rd_quaternion3/np.linalg.norm(rd_quaternion3, ord=2)) rd_quaternion3 = ' '.join(str_list(rd_quaternion3))