# Maximum number of time steps max_step = 200 # number of grid points amr.n_cell = 32 32 32 # Maximum allowable size of each subdomain in the problem domain; # this is used to decompose the domain for parallel calculations. amr.max_grid_size = 32 # Maximum level in hierarchy amr.max_level = 0 # Geometry geometry.dims = 3 geometry.prob_lo = -1. -1. -1. # physical domain geometry.prob_hi = 1. 1. 1. # Boundary condition boundary.field_lo = periodic periodic periodic boundary.field_hi = periodic periodic periodic # Algorithms algo.current_deposition = esirkepov algo.field_gathering = energy-conserving # or momentum-conserving warpx.use_filter = 1 algo.maxwell_solver = yee # or ckc # Order of particle shape factors algo.particle_shape = 1 # CFL warpx.cfl = 0.99999 # Particles particles.species_names = electrons protons photons particles.photon_species = photons electrons.charge = -q_e electrons.mass = m_e electrons.injection_style = "NUniformPerCell" electrons.num_particles_per_cell_each_dim = 1 1 1 electrons.profile = constant electrons.density = 1.e14 # number of electrons per m^3 electrons.momentum_distribution_type = gaussian electrons.ux_th = 0.035 electrons.uy_th = 0.035 electrons.uz_th = 0.035 protons.charge = q_e protons.mass = m_p protons.injection_style = "NUniformPerCell" protons.num_particles_per_cell_each_dim = 1 1 1 protons.profile = constant protons.density = 1.e14 # number of protons per m^3 protons.momentum_distribution_type = at_rest photons.species_type = "photon" photons.injection_style = "NUniformPerCell" photons.num_particles_per_cell_each_dim = 1 1 1 photons.profile = constant photons.density = 1.e14 # number of protons per m^3 photons.momentum_distribution_type = gaussian photons.ux_th = 0.2 photons.uy_th = 0.2 photons.uz_th = 0.2 # Diagnostics diagnostics.diags_names = diag1 openpmd diag1.intervals = 200 diag1.diag_type = Full diag1.fields_to_plot = Ex Ey Ez Bx By Bz jx jy jz rho rho_electrons rho_protons diag1.particle_fields_to_plot = z uz uz_filt zuz jz diag1.particle_fields_species = electrons protons photons diag1.particle_fields.z(x,y,z,ux,uy,uz) = z diag1.particle_fields.uz(x,y,z,ux,uy,uz) = uz diag1.particle_fields.uz_filt(x,y,z,ux,uy,uz) = uz diag1.particle_fields.uz_filt.filter(x,y,z,ux,uy,uz) = (uz < 0) diag1.particle_fields.zuz(x,y,z,ux,uy,uz) = z * uz diag1.particle_fields.jz(x,y,z,ux,uy,uz) = uz*q_e diag1.particle_fields.jz.do_average = 0 openpmd.format = openpmd openpmd.openpmd_backend = h5 openpmd.intervals = 200 openpmd.diag_type = Full openpmd.fields_to_plot = Ex Ey Ez Bx By Bz jx jy jz rho rho_electrons rho_protons openpmd.particle_fields_to_plot = z uz uz_filt zuz jz openpmd.particle_fields_species = electrons protons photons openpmd.particle_fields.z(x,y,z,ux,uy,uz) = z openpmd.particle_fields.uz(x,y,z,ux,uy,uz) = uz openpmd.particle_fields.uz_filt(x,y,z,ux,uy,uz) = uz openpmd.particle_fields.uz_filt.filter(x,y,z,ux,uy,uz) = (uz < 0) openpmd.particle_fields.zuz(x,y,z,ux,uy,uz) = z * uz openpmd.particle_fields.jz(x,y,z,ux,uy,uz) = uz*q_e openpmd.particle_fields.jz.do_average = 0