def __init__(self, options_reader, grid_snapshot=None): self.G = G_astropy.to_value(u.kpc**2 * u.km / (u.s * u.Myr * u.Msun)) self.theta = 0.5 self.convert_kms_Myr_to_kpc = 20000.0*np.pi / (61478577.0) self.kpc_in_km = 3.08567758E16 # opt = options_reader(options_file) options_reader.set_options(self) self.options_reader = options_reader if not os.path.isdir(self.cache_directory): os.makedirs(self.cache_directory) self._read_snapshots_() # find starting star if self.axisymmetric: if self.axi_Rinit is None or self.axi_vcircfrac is None or self.axi_zinit is None: self._init_starting_star_() self._gen_axisymmetric_() else: self._init_starting_star_() self._init_kdtree_() self.evolve_model(0 | units.Myr)
def __init__(self, options_reader, grid_snapshot=None): agama.setUnits(mass=1, length=1, velocity=1) self.G = G_astropy.to_value(u.kpc**2 * u.km / (u.s * u.Myr * u.Msun)) self.theta = 0.5 self.convert_kms_Myr_to_kpc = 20000.0 * np.pi / (61478577.0) self.kpc_in_km = 3.08567758E16 # opt = options_reader(options_file) options_reader.set_options(self) self.options_reader = options_reader self.snapshot_indices = range(self.startnum - self.num_prior, self.endnum + 1) self.initial_key = self.num_prior if not os.path.isdir(self.cache_directory): os.makedirs(self.cache_directory) if self.axisymmetric: if self.axisymmetric_tevolve: self._read_snapshots_() self._gen_axisymmetric_(all_snaps=True) self.evolve_model(0 | units.Myr) else: self._read_snapshots_(first_only=True) self._gen_axisymmetric_() return None self._read_snapshots_() # find starting star self._init_starting_star_() # set up trackers self._init_starting_star_interpolators_() # set up grid if grid_snapshot is not None: self._init_grid_(grid_snapshot) else: self._init_grid_() self.evolve_model(0 | units.Myr) self.grid._grid_evolved_kdtree_ = cKDTree(self.grid.evolved_grid)
snap_idx = 600 sim_dir = '/mnt/ceph/users/firesims/fire2/metaldiff/m12i_res7100/' gal_info = 'm12i_info.txt' star_char_mass = 0.048 dark_softening_in_pc = 112.0 Rmax = 50.0 tend = 2000 # Myr dt = 0.1 # Myr tlist = np.arange(0, tend, dt) ss_ids = [23693026, 17012804] ss_id = ss_ids[int(sys.argv[1])] G = G_astropy.to_value(u.kpc**2 * u.km / (u.s * u.Myr * u.Msun)) theta = 0.5 # cluster parameter N = 256 kroupa_max = 5 | units.MSun Rcluster = 0.8 | units.parsec W0 = 3 softening = 0.01 | units.parsec def get_position(snap, pos, center, pa=None): values = ut.coordinate.get_distances(pos, center, snap.info['box.length'], snap.snapshot['scalefactor']) if pa is not None: values = ut.coordinate.get_coordinates_rotated(values, pa)