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)
Esempio n. 2
0
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))