# computation integrator = phd.MovingMeshMUSCLHancock() integrator.set_mesh(mesh) integrator.set_riemann(phd.HLLC()) integrator.set_particles(particles) integrator.set_domain_manager(domain_manager) integrator.set_boundary_condition(phd.Reflective()) integrator.set_reconstruction(phd.PieceWiseLinear()) integrator.set_equation_state(phd.IdealGas(gamma=gamma)) sim_name = "sod" if phd._in_parallel: integrator.set_load_balance(phd.LoadBalance()) sim_name = "mpi_sod" # add finish criteria simulation_time_manager = phd.SimulationTimeManager() simulation_time_manager.add_finish(phd.Time(time_max=0.15)) # output last step output = phd.FinalOutput() output.set_writer(phd.Hdf5()) simulation_time_manager.add_output(output) # Create simulator simulation = phd.Simulation(simulation_name=sim_name) simulation.set_integrator(integrator) simulation.set_simulation_time_manager(simulation_time_manager) simulation.initialize() simulation.solve()
xmin=[-1., -1.], xmax=[1., 1.], initial_radius=0.1) # setup gravity gravity_tree = phd.GravityTree(barnes_angle=0.4, smoothing_length=0.0, calculate_potential=1) # computation integrator = phd.Nbody(dt=dt) integrator.set_particles(particles) integrator.set_domain_manager(domain_manager) integrator.set_gravity_tree(gravity_tree) # add finish criteria simulation_time_manager = phd.SimulationTimeManager() simulation_time_manager.add_finish(phd.Time(time_max=10*T)) # output first step output = phd.InitialOutput() output.set_writer(phd.Hdf5()) simulation_time_manager.add_output(output) # output last step output = phd.FinalOutput() output.set_writer(phd.Hdf5()) simulation_time_manager.add_output(output) # output every time step output = phd.IterationInterval(iteration_interval=10) output.set_writer(phd.Hdf5()) simulation_time_manager.add_output(output)