Source code for pynbody.test_utils.make_blob

import numpy as np

import pynbody


[docs] def make_guassian_blob(n_part, seed=1337): np.random.seed(seed) f = pynbody.new(n_part) f['pos'] = np.random.normal(size=(n_part, 3)) f['vel'] = np.random.normal(size=(n_part, 3)) f['mass'] = np.ones(n_part) / n_part return f
[docs] def make_uniform_blob(n_part, seed=1337): np.random.seed(seed) f = pynbody.new(n_part) f['pos'] = np.random.uniform(-1.0, 1.0, size=(n_part, 3)) badflag = f['r'] > 1.0 while np.any(badflag): f['pos'][badflag] = np.random.uniform(-1.0, 1.0, size=(badflag.sum(), 3)) badflag = f['r'] > 1.0 f['vel'] = np.random.normal(size=(n_part, 3)) f['mass'] = np.ones(n_part) / n_part return f