number_of_cells=[nx, ny, nz], lower_bound=[xmin, ymin, zmin], upper_bound=[xmax, ymax, zmax], lower_boundary_conditions=['periodic', 'periodic', 'open'], upper_boundary_conditions=['periodic', 'periodic', 'open'], lower_boundary_conditions_particles=['periodic', 'periodic', 'absorbing'], upper_boundary_conditions_particles=['periodic', 'periodic', 'absorbing'], warpx_max_grid_size=16) solver = picmi.ElectromagneticSolver( grid=grid, cfl=1., stencil_order=[em_order, em_order, em_order]) electron_beam = picmi.GaussianBunchDistribution( n_physical_particles=total_charge / constants.q_e, rms_bunch_size=[beam_rms_size, beam_rms_size, beam_rms_size], velocity_divergence=[ electron_beam_divergence, electron_beam_divergence, electron_beam_divergence ]) proton_beam = picmi.GaussianBunchDistribution( n_physical_particles=total_charge / constants.q_e, rms_bunch_size=[beam_rms_size, beam_rms_size, beam_rms_size]) electrons = picmi.Species(particle_type='electron', name='electrons', initial_distribution=electron_beam) protons = picmi.Species(particle_type='proton', name='protons', initial_distribution=proton_beam)
q_tot = 1e-12 x_m = 0. y_m = 0. z_m = -28e-06 x_rms = 0.5e-06 y_rms = 0.5e-06 z_rms = 0.5e-06 ux_m = 0. uy_m = 0. uz_m = 500. ux_th = 2. uy_th = 2. uz_th = 50. gaussian_bunch_distribution = picmi.GaussianBunchDistribution( n_physical_particles=q_tot / q_e, rms_bunch_size=[x_rms, y_rms, z_rms], rms_velocity=[c * ux_th, c * uy_th, c * uz_th], centroid_position=[x_m, y_m, z_m], centroid_velocity=[c * ux_m, c * uy_m, c * uz_m]) beam = picmi.Species(particle_type='electron', name='beam', initial_distribution=gaussian_bunch_distribution) # Laser e_max = 16e12 position_z = 9e-06 profile_t_peak = 30.e-15 profile_focal_distance = 100e-06 laser = picmi.GaussianLaser( wavelength=0.8e-06, waist=5e-06, duration=15e-15,