def process(): sys.stdout = open(o.snap_dir + "/process" + str(os.getpid()) + ".out", "w") stars, time_peri = get_orbit_ini(o.m0, o.m1, o.peri, o.ecc, o.incl*pi_180, o.omega*pi_180, o.rel_force, o.r_out) planetesimals = get_planetesimals_disk(o.n_disk, o.r_in, o.r_out, o.m0, alpha = o.power, seed = o.seed, disk_num = o.iter_i) r_step = o.r_in ### set timestep based on period of innermost disk particles ### t_end = o.num_T * abs(time_peri) # Current Target Period: 4.0 T # Save info in .txt and .p files write_info_file(o) integrate_disk_flyby(stars, planetesimals, t_end, time_peri, o.nb_end, o.n_steps, r_step, o.snap_dir, o.fout, o.fredir, o.br_dt, o.eta)
def process(): sys.stdout = open(o.snap_dir + "/process" + str(os.getpid()) + ".out", "w") stars, time_peri = get_orbit_ini(o.m0, o.m1, o.peri, o.ecc, o.incl * pi_180, o.omega * pi_180, o.rel_force, o.r_out) planetesimals = get_planetesimals_disk(o.n_disk, o.r_in, o.r_out, o.m0, alpha=o.power, seed=o.seed, disk_num=o.iter_i) r_step = o.r_in ### set timestep based on period of innermost disk particles ### t_end = o.num_T * abs(time_peri) # Current Target Period: 4.0 T # Save info in .txt and .p files write_info_file(o) integrate_disk_flyby(stars, planetesimals, t_end, time_peri, o.nb_end, o.n_steps, r_step, o.snap_dir, o.fout, o.fredir, o.br_dt, o.eta)
def handle_input(o, arguments): """ run one simulation based on the option parser input or a modified version """ # Option Parser Dictionary (This isn't a dictionary?!) if o.num_format == 3: o.sim_number = "%03d" % o.sim_number else: o.sim_number = "%06d" % o.sim_number o.snap_base = o.snap_dir o.snap_dir = o.snap_dir + o.sim_number o.fout = o.fout + o.sim_number + ".hdf5" stars, time_peri = get_orbit_ini(o.m0, o.m1, o.peri, o.ecc, o.incl * pi_180, o.omega * pi_180, o.rel_force, o.r_out) planetesimals = get_planetesimals_disk(o.n_disk, o.r_in, o.r_out, o.m0, alpha=o.power, seed=o.seed) #print stars #print planetesimals ps.mkdir(o.snap_dir, safety=True) # Write Info File f = open(o.snap_dir + "/info.txt", 'a') f.write("Simulation ID Number: " + str(o.sim_number) + "\n") f.write("Disk Random Seed: " + str(o.seed) + "\n") f.write("Number of Iterations: " + str(o.iter) + "\n") f.write("Number of Pericenter Arcs: " + str(o.num_T) + "\n") f.write("End of N-Body Time: " + str(o.nb_end) + "\n") f.write("Mass (Disk Star): " + str(o.m0) + "\n") f.write("Mass (Other Star): " + str(o.m1) + "\n") f.write("Initial Relative Force: " + str(o.rel_force) + "\n") f.write("Bridge Timestep: " + str(o.br_dt) + "\n") f.write("Huayno Timestep (eta): " + str(o.eta) + "\n") f.write("Inner Disk Radius: " + str(o.r_in) + "\n") f.write("Outer Disk Radius: " + str(o.r_out) + "\n") f.write("Number of Disk Particles: " + str(o.n_disk) + "\n") f.write("Disk Particle Power Law: " + str(o.power) + "\n") f.write("Orbit Pericenter: " + str(o.peri) + "\n") f.write("Orbit Eccentricity: " + str(o.ecc) + "\n") f.write("Orbit Inclination: " + str(o.incl) + "\n") f.write("Orbit Argument of Periapsis: " + str(o.omega) + "\n") f.write("Number of Steps: " + str(o.n_steps) + "\n") f.close() # Write 'o' dictionary into file (using Pickle) pickle_f = open(o.snap_dir + "/info.p", "wb") pickle.dump(o, pickle_f) pickle_f.close() r_step = o.r_in ### set timestep based on period of innermost disk particles ### t_end = o.num_T * abs(time_peri) # Current Target Period: 4.0 T #t_end = 1300.0 | units.yr def process(): integrate_disk_flyby(stars, planetesimals, t_end, time_peri, o.nb_end, o.n_steps, r_step, o.snap_dir, o.fout, o.fredir, o.br_dt, o.eta) p = Process(target=process) p.start() return o, p
help="redirection file [%default]") result.add_option( "--br_dt", dest="br_dt", type="float", default=0.1, help="bridge timestep -- fraction of inner disk period [%default]" ) # Bridge timestep here return result if __name__ in ('__main__', '__plot__'): o, arguments = new_option_parser().parse_args() stars, time_peri = get_orbit_ini(o.m0, o.m1, o.peri, o.ecc, o.incl * pi_180, o.omega * pi_180, o.rel_force, o.r_out) planetesimals = get_planetesimals_disk(o.n_disk, o.r_in, o.r_out, o.m0) #print stars #print planetesimals # Number of Periods num_T = 10.0 try: os.mkdir(o.snap_dir) except: print "\t(", o.snap_dir, "already exists)" # Write Info Files
def handle_input(o, arguments): """ run one simulation based on the option parser input or a modified version """ # Option Parser Dictionary (This isn't a dictionary?!) if o.num_format == 3: o.sim_number = "%03d" % o.sim_number else: o.sim_number = "%06d" % o.sim_number o.snap_base = o.snap_dir o.snap_dir = o.snap_dir + o.sim_number o.fout = o.fout + o.sim_number + ".hdf5" stars, time_peri = get_orbit_ini(o.m0, o.m1, o.peri, o.ecc, o.incl*pi_180, o.omega*pi_180, o.rel_force, o.r_out) planetesimals = get_planetesimals_disk(o.n_disk, o.r_in, o.r_out, o.m0, alpha = o.power, seed = o.seed) #print stars #print planetesimals ps.mkdir(o.snap_dir, safety = True) # Write Info File f = open(o.snap_dir + "/info.txt", 'a') f.write("Simulation ID Number: " + str(o.sim_number) + "\n") f.write("Disk Random Seed: " + str(o.seed) + "\n") f.write("Number of Iterations: " + str(o.iter) + "\n") f.write("Number of Pericenter Arcs: " + str(o.num_T) + "\n") f.write("End of N-Body Time: " + str(o.nb_end) + "\n") f.write("Mass (Disk Star): " + str(o.m0) + "\n") f.write("Mass (Other Star): " + str(o.m1) + "\n") f.write("Initial Relative Force: " + str(o.rel_force) + "\n") f.write("Bridge Timestep: " + str(o.br_dt) + "\n") f.write("Huayno Timestep (eta): " + str(o.eta) + "\n") f.write("Inner Disk Radius: " + str(o.r_in) + "\n") f.write("Outer Disk Radius: " + str(o.r_out) + "\n") f.write("Number of Disk Particles: " + str(o.n_disk) + "\n") f.write("Disk Particle Power Law: " + str(o.power) + "\n") f.write("Orbit Pericenter: " + str(o.peri) + "\n") f.write("Orbit Eccentricity: " + str(o.ecc) + "\n") f.write("Orbit Inclination: " + str(o.incl) + "\n") f.write("Orbit Argument of Periapsis: " + str(o.omega) + "\n") f.write("Number of Steps: " + str(o.n_steps) + "\n") f.close() # Write 'o' dictionary into file (using Pickle) pickle_f = open(o.snap_dir + "/info.p", "wb") pickle.dump(o, pickle_f) pickle_f.close() r_step = o.r_in ### set timestep based on period of innermost disk particles ### t_end = o.num_T * abs(time_peri) # Current Target Period: 4.0 T #t_end = 1300.0 | units.yr def process(): integrate_disk_flyby(stars, planetesimals, t_end, time_peri, o.nb_end, o.n_steps, r_step, o.snap_dir, o.fout, o.fredir, o.br_dt, o.eta) p = Process(target = process) p.start() return o, p
to reproduce Fig.1. in Lestrade+2011 """ # Option Parser Dictionary (This isn't a dictionary?!) o, arguments = new_option_parser().parse_args() if o.num_format == 3: o.sim_number = "%03d" % o.sim_number else: o.sim_number = "%06d" % o.sim_number snap_base = o.snap_dir o.snap_dir = o.snap_dir + o.sim_number o.fout = o.fout + o.sim_number + ".hdf5" stars, time_peri = get_orbit_ini(o.m0, o.m1, o.peri, o.ecc, o.incl*pi_180, o.omega*pi_180, o.rel_force, o.r_out) planetesimals = get_planetesimals_disk(o.n_disk, o.r_in, o.r_out, o.m0, alpha = o.power, seed = o.seed) #print stars #print planetesimals ps.mkdir(o.snap_dir, safety = True) # Write Info File f = open(o.snap_dir + "/info.txt", 'a') f.write("Simulation ID Number: " + str(o.sim_number) + "\n") f.write("Disk Random Seed: " + str(o.seed) + "\n") f.write("Number of Pericenter Arcs: " + str(o.num_T) + "\n") f.write("End of N-Body Time: " + str(o.nb_end) + "\n") f.write("Mass (Disk Star): " + str(o.m0) + "\n")