duration=laser_duration, focal_position=[0., 0., laser_focal_distance + laser_injection_loc], centroid_position=[ 0., 0., laser_injection_loc - constants.c * laser_t_peak ], polarization_direction=[ np.cos(laser_polarization), np.sin(laser_polarization), 0. ], propagation_direction=[0, 0, 1], E0=laser_a0 * 2. * np.pi * constants.m_e * constants.c**2 / (constants.q_e * laser_wavelength)) # Maximum amplitude of the laser field (in V/m) laser_antenna = picmi.LaserAntenna( position=[0., 0., laser_injection_loc], # This point is on the laser plane normal_vector=[0., 0., 1.]) # The plane normal direction # --- plasma uniform_plasma = picmi.UniformDistribution(density=plasma_density, lower_bound=plasma_min, upper_bound=plasma_max, fill_in=True) electrons = picmi.Species(particle_type='electron', name='electrons', initial_distribution=uniform_plasma) ########################## # numerics components
# 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, focal_position=[0, 0, profile_focal_distance + position_z], centroid_position=[0, 0, position_z - c * profile_t_peak], propagation_direction=[0, 0, 1], polarization_direction=[0, 1, 0], E0=e_max, fill_in=False) laser_antenna = picmi.LaserAntenna(position=[0., 0., position_z], normal_vector=[0, 0, 1]) # Electromagnetic solver solver = picmi.ElectromagneticSolver(grid=grid, method='Yee', cfl=1., divE_cleaning=0) # Diagnostics diag_field_list = ['B', 'E', 'J', 'rho'] field_diag = picmi.FieldDiagnostic( name='diag1', grid=grid, period=200, data_list=diag_field_list, write_dir='.',