# MY CONSTANTS my_constants.nano = 1e-9 my_constants.mc2 = m_e*clight*clight my_constants.GeV = q_e*1.e9 my_constants.nx = 128 my_constants.ny = 128 my_constants.nz = 128 my_constants.sigma = 10*nano my_constants.gammab = 125.*GeV/(mc2) my_constants.chargeb = 0.14*nano my_constants.Lx = 7*sigma my_constants.Ly = 7*sigma my_constants.Lz = 7*sigma my_constants.n0 = chargeb / q_e / ((2 * pi)**(3./2.) * sigma*sigma*sigma) my_constants.dt = sigma/clight/20. # GENERAL max_step = 10 amr.n_cell = nx ny nz amr.max_level = 0 geometry.dims = 3 geometry.prob_lo = -0.5*Lx -0.5*Ly -0.5*Lz geometry.prob_hi = 0.5*Lx 0.5*Ly 0.5*Lz warpx.numprocs = 1 1 1 # BOUNDARY boundary.field_lo = PEC PEC PEC boundary.field_hi = PEC PEC PEC # NUMERICS warpx.do_electrostatic = relativistic warpx.const_dt = dt warpx.grid_type = collocated algo.particle_pusher = vay algo.particle_shape = 3 # SPECIES particles.species_names = beam_p qsg_p particles.photon_species = qsg_p beam_p.species_type = positron beam_p.injection_style = "NUniformPerCell" beam_p.num_particles_per_cell_each_dim = 1 1 1 beam_p.profile = parse_density_function beam_p.density_function(x,y,z) = "n0 * exp(-x**2/(2*sigma**2)) * exp(-y**2/(2*sigma**2)) * exp(-z**2/(2*sigma**2))" beam_p.density_min = n0 / 1e2 beam_p.momentum_distribution_type = "constant" beam_p.ux = 0.0 beam_p.uy = 0.0 beam_p.uz = -gammab beam_p.initialize_self_fields = 1 beam_p.self_fields_required_precision = 1e-11 beam_p.self_fields_max_iters = 20000 beam_p.do_qed_quantum_sync = 1 beam_p.qed_quantum_sync_phot_product_species = qsg_p qsg_p.species_type = "photon" qsg_p.injection_style = "none" qsg_p.do_qed_breit_wheeler = 0 # QED qed_qs.chi_min = 0.001 qed_qs.photon_creation_energy_threshold = 1.0 qed_qs.lookup_table_mode = builtin qed_qs.chi_min = 1.e-3 warpx.do_qed_schwinger = 0. # RED DIAGNOSTICS warpx.reduced_diags_names = ParticleExtrema_beam_p ParticleNumber ParticleExtrema_beam_p.type = ParticleExtrema ParticleExtrema_beam_p.intervals = 1 ParticleExtrema_beam_p.species = beam_p ParticleNumber.type = ParticleNumber ParticleNumber.intervals = 1 # FULL DIAGNOSTICS diagnostics.diags_names = diag1 diag1.intervals = 10 diag1.diag_type = Full diag1.write_species = 0 diag1.fields_to_plot = Ex Ey Ez Bx By Bz rho_beam_p diag1.format = plotfile diag1.particle_fields_to_plot = vx vy vz g diag1.particle_fields_species = beam_p diag1.particle_fields.vx(x,y,z,ux,uy,uz) = ux/sqrt(ux*ux+uy*uy+uz*uz) diag1.particle_fields.vy(x,y,z,ux,uy,uz) = uy/sqrt(ux*ux+uy*uy+uz*uz) diag1.particle_fields.vz(x,y,z,ux,uy,uz) = uz/sqrt(ux*ux+uy*uy+uz*uz) diag1.particle_fields.g(x,y,z,ux,uy,uz) = sqrt(ux*ux+uy*uy+uz*uz)