blob: 0dab9ebedd2927a30f3d57429b9fd8dbf485a66e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
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
|