def add_particle_diag(self): particle_diag = picmi.ParticleDiagnostic( name=self.name, period=self.diag_steps, species=self.species, data_list=self.data_list, write_dir=self.write_dir ) mwxrun.simulation.add_diagnostic(particle_diag)
n_macroparticle_per_cell=number_per_cell_each_dim)) sim.add_species(plasma, layout=picmi.GriddedLayout( grid=grid, n_macroparticle_per_cell=number_per_cell_each_dim)) field_diag = picmi.FieldDiagnostic( name='diag1', grid=grid, period=2, data_list=['Ex', 'Ey', 'Ez', 'Jx', 'Jy', 'Jz', 'part_per_cell'], write_dir='diags', warpx_file_prefix='plotfiles/plt') part_diag = picmi.ParticleDiagnostic( name='diag1', period=2, species=[beam, plasma], data_list=['ux', 'uy', 'uz', 'weighting', 'Ex', 'Ey', 'Ez'], write_dir='diags') sim.add_diagnostic(field_diag) sim.add_diagnostic(part_diag) # write_inputs will create an inputs file that can be used to run # with the compiled version. #sim.write_input_file(file_name = 'inputs_from_PICMI.mr') # Alternatively, sim.step will run WarpX, controlling it from Python sim.step()
sim = picmi.Simulation(solver = solver, max_steps = max_steps, verbose = 1, warpx_current_deposition_algo = 'esirkepov') sim.add_species(beam, layout=picmi.GriddedLayout(grid=grid, n_macroparticle_per_cell=number_per_cell_each_dim)) sim.add_species(plasma, layout=picmi.GriddedLayout(grid=grid, n_macroparticle_per_cell=number_per_cell_each_dim)) field_diag = picmi.FieldDiagnostic(name = 'diag1', grid = grid, period = max_steps, data_list = ['Ex', 'Ey', 'Ez', 'Jx', 'Jy', 'Jz', 'part_per_cell'], write_dir = '.', warpx_file_prefix = 'Python_PlasmaAcceleration_plt') part_diag = picmi.ParticleDiagnostic(name = 'diag1', period = max_steps, species = [beam, plasma], data_list = ['ux', 'uy', 'uz', 'weighting']) sim.add_diagnostic(field_diag) sim.add_diagnostic(part_diag) # write_inputs will create an inputs file that can be used to run # with the compiled version. #sim.write_input_file(file_name = 'inputs_from_PICMI') # Alternatively, sim.step will run WarpX, controlling it from Python sim.step()
########################## # diagnostics ########################## diag_field_list = ["rho", "E", "B", "J"] field_diag1 = picmi.FieldDiagnostic( name='diag1', grid=grid, period=10, write_dir='.', warpx_file_prefix='Python_LaserAccelerationMR_plt', data_list=diag_field_list) part_diag1 = picmi.ParticleDiagnostic(name='diag1', period=10, species=[electrons]) ########################## # simulation setup ########################## sim = picmi.Simulation(solver=solver, max_steps=max_steps, verbose=1, warpx_current_deposition_algo='esirkepov', warpx_use_filter=0) sim.add_species(electrons, layout=picmi.GriddedLayout( grid=grid,
upper_boundary_conditions = ['periodic', 'periodic', 'periodic'], moving_window_velocity = [0., 0., 0.], warpx_max_grid_size = 32) solver = picmi.ElectromagneticSolver(grid=grid, cfl=1.) ########################## # diagnostics ########################## field_diag1 = picmi.FieldDiagnostic(grid = grid, period = diagnostic_interval, data_list = ['Ex', 'Jx']) part_diag1 = picmi.ParticleDiagnostic(period = diagnostic_interval, species = [electrons], data_list = ['weighting', 'ux', 'Ex']) ########################## # simulation setup ########################## sim = picmi.Simulation(solver = solver, max_steps = max_steps, verbose = 1, warpx_current_deposition_algo = 'direct') sim.add_species(electrons, layout = picmi.GriddedLayout(n_macroparticle_per_cell=number_per_cell_each_dim, grid=grid)) sim.add_diagnostic(field_diag1)
# Plasma lenses plasma_lenses = picmi.PlasmaLens( period=0.5, starts=[0.1, 0.11, 0.12, 0.13], lengths=[0.1, 0.11, 0.12, 0.13], strengths_E=[600000., 800000., 600000., 200000.], strengths_B=[0.0, 0.0, 0.0, 0.0]) # Electromagnetic solver solver = picmi.ElectromagneticSolver(grid=grid, method='Yee', cfl=0.7) # Diagnostics part_diag1 = picmi.ParticleDiagnostic( name='diag1', period=max_steps, species=[electrons], data_list=['ux', 'uy', 'uz'], write_dir='.', warpx_file_prefix='Python_plasma_lens_plt') # Set up simulation sim = picmi.Simulation(solver=solver, max_steps=max_steps, verbose=1, particle_shape='linear', warpx_serialize_initial_conditions=1, warpx_do_dynamic_scheduling=0) # Add plasma electrons sim.add_species(electrons, layout=None)
protons = picmi.Species(particle_type='proton', name='protons', initial_distribution=proton_beam) field_diag1 = picmi.FieldDiagnostic( name='diag1', grid=grid, period=10, data_list=args.fields_to_plot, warpx_format=args.diagformat, write_dir='.', warpx_file_prefix='Python_gaussian_beam_plt') part_diag1 = picmi.ParticleDiagnostic(name='diag1', period=10, species=[electrons, protons], data_list=['weighting', 'momentum'], warpx_format=args.diagformat) sim = picmi.Simulation(solver=solver, max_steps=10, verbose=1, warpx_current_deposition_algo='direct', warpx_use_filter=0) sim.add_species( electrons, layout=picmi.PseudoRandomLayout(n_macroparticles=number_sim_particles)) sim.add_species( protons, layout=picmi.PseudoRandomLayout(n_macroparticles=number_sim_particles))
solver = picmi.ElectromagneticSolver(grid=grid, cfl=1.) ########################## # diagnostics ########################## field_diag = picmi.FieldDiagnostic( name=f'diag{color + 1}', grid=grid, period=diagnostic_intervals, data_list=['Ex', 'Jx'], write_dir='.', warpx_file_prefix=f'Python_pass_mpi_comm_plt{color + 1}_') part_diag = picmi.ParticleDiagnostic(name=f'diag{color + 1}', period=diagnostic_intervals, species=[electrons], data_list=['weighting', 'ux']) ########################## # simulation setup ########################## sim = picmi.Simulation(solver=solver, max_steps=max_steps, verbose=1, warpx_current_deposition_algo='direct') sim.add_species(electrons, layout=picmi.GriddedLayout( n_macroparticle_per_cell=number_per_cell_each_dim, grid=grid))
# Diagnostics diag_field_list = ['B', 'E', 'J', 'rho'] field_diag = picmi.FieldDiagnostic( name = 'diag1', grid = grid, period = 10, data_list = diag_field_list, warpx_dump_rz_modes = 1, write_dir = '.', warpx_file_prefix = 'Python_LaserAccelerationRZ_plt') diag_particle_list = ['weighting', 'momentum'] particle_diag = picmi.ParticleDiagnostic( name = 'diag1', period = 10, species = [electrons, beam], data_list = diag_particle_list, write_dir = '.', warpx_file_prefix = 'Python_LaserAccelerationRZ_plt') # Set up simulation sim = picmi.Simulation( solver = solver, max_steps = max_steps, verbose = 1, particle_shape = 'cubic', warpx_use_filter = 0) # Add plasma electrons sim.add_species( electrons,
electrons = picmi.Species( particle_type='electron', name='electrons', initial_distribution=uniform_plasma_elec, warpx_save_particles_at_zhi=1, warpx_save_particles_at_zlo=1, warpx_reflection_model_zhi="0.5" ) ########################## # diagnostics ########################## field_diag = picmi.ParticleDiagnostic( species=electrons, name = 'diag1', data_list=['previous_positions'], period = 10, write_dir = '.', warpx_file_prefix = 'Python_particle_reflection_plt' ) ########################## # simulation setup ########################## sim = picmi.Simulation( solver = solver, time_step_size = dt, max_steps = max_steps, # warpx_embedded_boundary=embedded_boundary, verbose = 1 )
solver = picmi.ElectromagneticSolver(grid=grid, cfl=1., warpx_do_pml=0) ########################## # diagnostics ########################## field_diag1 = picmi.FieldDiagnostic(name='diag1', grid=grid, period=diagnostic_interval, data_list=['E', 'B', 'J', 'part_per_cell'], warpx_file_prefix='plotfiles/plt') part_diag1 = picmi.ParticleDiagnostic( name='diag1', period=diagnostic_interval, species=[electrons], data_list=['weighting', 'momentum', 'fields']) ########################## # simulation setup ########################## sim = picmi.Simulation(solver=solver, max_steps=40, verbose=1, warpx_current_deposition_algo='esirkepov', warpx_field_gathering_algo='energy-conserving', warpx_particle_pusher_algo='boris') sim.add_species(electrons,
upper_boundary_conditions=['periodic', 'periodic', 'open'], moving_window_velocity=moving_window_velocity, warpx_max_grid_size=32) solver = picmi.ElectromagneticSolver(grid=grid, method='CKC', cfl=1.) ########################## # diagnostics ########################## field_diag1 = picmi.FieldDiagnostic(grid=grid, period=100, warpx_plot_raw_fields=1, warpx_plot_raw_fields_guards=1) part_diag1 = picmi.ParticleDiagnostic(period=100, species=[electrons]) ########################## # simulation setup ########################## sim = picmi.Simulation(solver=solver, max_steps=max_steps, verbose=1, cfl=1.0, warpx_current_deposition_algo='esirkepov') sim.add_species(electrons, layout=picmi.GriddedLayout( grid=grid, n_macroparticle_per_cell=number_per_cell_each_dim))