amr.max_level = 1 warpx.fine_tag_lo = 0.0 -0.5 warpx.fine_tag_hi = 0.25 0.0 max_step = 37 amr.n_cell = 64 64 amr.blocking_factor = 8 amr.max_grid_size = 128 geometry.dims = RZ geometry.prob_lo = 0.0 -0.5 geometry.prob_hi = 0.5 0.5 boundary.field_lo = none periodic boundary.field_hi = pec periodic boundary.potential_lo_x = 0 boundary.potential_hi_x = 0 boundary.potential_lo_y = 0 boundary.potential_hi_y = 0 boundary.potential_lo_z = 0 boundary.potential_hi_z = 0 warpx.const_dt = 1.216119097e-11 warpx.eb_implicit_function = "-(x**2-0.1**2)" # Do not evolve the E and B fields algo.maxwell_solver = none algo.field_gathering = momentum-conserving algo.particle_shape = 1 particles.species_names = electron electron.charge = -q_e electron.mass = m_e electron.injection_style = "NUniformPerCell" electron.num_particles_per_cell_each_dim = 2 4 2 electron.profile = parse_density_function electron.density_function(x,y,z) = "(x*x+y*y>0.15*0.15)*(x*x+y*y<0.2*0.2)*1.0e21" electron.momentum_distribution_type = parse_momentum_function electron.momentum_function_ux(x,y,z) = "if(x*x+y*y>0.0, -1.0*x/sqrt(x*x+y*y), 0.0)" electron.momentum_function_uy(x,y,z) = "if(x*x+y*y>0.0, -1.0*y/sqrt(x*x+y*y), 0.0)" electron.momentum_function_uz(x,y,z) = "0" electron.save_particles_at_eb = 1 diagnostics.diags_names = diag1 diag2 diag3 diag1.intervals = 1 diag1.diag_type = Full diag1.fields_to_plot = Er diag2.intervals = 1 diag2.diag_type = Full diag2.fields_to_plot = Er diag2.format = openpmd diag3.diag_type = BoundaryScraping diag3.format = openpmd