domain_manager = phd.DomainManager( xmin=[0., 0., 0.], xmax=[1., 1., 1.], initial_radius=0.1) # create voronoi mesh mesh = phd.Mesh(relax_iterations=10) # 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)
# computation related to boundaries domain_manager = phd.DomainManager( xmin=[0., 0.], xmax=[3., 3.], initial_radius=0.1, search_radius_factor=2) # create voronoi mesh mesh = phd.Mesh(regularize=True, relax_iterations=0) # computation integrator = phd.MovingMeshMUSCLHancock() #integrator = phd.StaticMeshMUSCLHancock() integrator.set_mesh(mesh) integrator.set_riemann(phd.HLLC(boost=True)) integrator.set_particles(particles) integrator.set_equation_state(phd.IdealGas()) integrator.set_domain_manager(domain_manager) integrator.set_load_balance(phd.LoadBalance()) integrator.set_boundary_condition(phd.Reflective()) integrator.set_reconstruction(phd.PieceWiseLinear(limiter="arepo", gizmo_limiter=True)) # source term integrator.add_source_term(phd.ConstantGravity()) # add finish criteria simulation_time_manager = phd.SimulationTimeManager() simulation_time_manager.add_finish(phd.Time(time_max=2.0)) # output last step output = phd.FinalOutput() output.set_writer(phd.Hdf5())