blob: f6aef120466201cf7f6c1cae25bb92ef966e6cf2 (
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
#################################
####### GENERAL PARAMETERS ######
#################################
#amr.restart = diags/chk00005/
max_step = 10
amr.n_cell = 32 32 256
amr.max_grid_size = 64
amr.blocking_factor = 32
amr.max_level = 0
geometry.dims = 3
geometry.prob_lo = -0.00015 -0.00015 -0.00012
geometry.prob_hi = 0.00015 0.00015 1.e-06
#################################
####### Boundary condition ######
#################################
boundary.field_lo = periodic periodic pml
boundary.field_hi = periodic periodic pml
#################################
############ NUMERICS ###########
#################################
algo.maxwell_solver = ckc
warpx.verbose = 1
warpx.do_dive_cleaning = 0
warpx.use_filter = 1
warpx.cfl = .99
warpx.do_moving_window = 1
warpx.moving_window_dir = z
warpx.moving_window_v = 1. # in units of the speed of light
my_constants.dens = 1e+23
# Order of particle shape factors
algo.particle_shape = 3
#################################
######### BOOSTED FRAME #########
#################################
warpx.gamma_boost = 10.0
warpx.boost_direction = z
#################################
############ PLASMA #############
#################################
particles.species_names = driver plasma_e plasma_p beam driverback
particles.use_fdtd_nci_corr = 1
particles.rigid_injected_species = driver beam
driver.charge = -q_e
driver.mass = 1.e10
driver.injection_style = "gaussian_beam"
driver.x_rms = 2.e-6
driver.y_rms = 2.e-6
driver.z_rms = 4.e-6
driver.x_m = 0.
driver.y_m = 0.
driver.z_m = -20.e-6
driver.npart = 1000
driver.q_tot = -1.e-9
driver.momentum_distribution_type = "gaussian"
driver.ux_m = 0.0
driver.uy_m = 0.0
driver.uz_m = 200000.
driver.ux_th = 2.
driver.uy_th = 2.
driver.uz_th = 20000.
driver.zinject_plane = 0.
driver.rigid_advance = true
driverback.charge = q_e
driverback.mass = 1.e10
driverback.injection_style = "gaussian_beam"
driverback.x_rms = 2.e-6
driverback.y_rms = 2.e-6
driverback.z_rms = 4.e-6
driverback.x_m = 0.
driverback.y_m = 0.
driverback.z_m = -20.e-6
driverback.npart = 1000
driverback.q_tot = 1.e-9
driverback.momentum_distribution_type = "gaussian"
driverback.ux_m = 0.0
driverback.uy_m = 0.0
driverback.uz_m = 200000.
driverback.ux_th = 2.
driverback.uy_th = 2.
driverback.uz_th = 20000.
driverback.do_backward_propagation = true
plasma_e.charge = -q_e
plasma_e.mass = m_e
plasma_e.injection_style = "NUniformPerCell"
plasma_e.zmin = -100.e-6
plasma_e.zmax = 0.2
plasma_e.xmin = -100.e-6
plasma_e.xmax = 100.e-6
plasma_e.ymin = -100.e-6
plasma_e.ymax = 100.e-6
plasma_e.profile = "predefined"
plasma_e.predefined_profile_name = "parabolic_channel"
# predefined_profile_params = z_start ramp_up plateau ramp_down rc n0
plasma_e.predefined_profile_params = 0. 0. 3. 0. 40.e-6 dens
plasma_e.num_particles_per_cell_each_dim = 1 1 1
plasma_e.momentum_distribution_type = "at_rest"
plasma_e.do_continuous_injection = 1
plasma_p.charge = q_e
plasma_p.mass = m_p
plasma_p.injection_style = "NUniformPerCell"
plasma_p.zmin = -100.e-6
plasma_p.zmax = 0.2
plasma_p.profile = "predefined"
plasma_p.predefined_profile_name = "parabolic_channel"
# predefined_profile_params = z_start ramp_up plateau ramp_down rc n0
plasma_p.predefined_profile_params = 0. 0. 3. 0. 40.e-6 dens
plasma_p.xmin = -100.e-6
plasma_p.xmax = 100.e-6
plasma_p.ymin = -100.e-6
plasma_p.ymax = 100.e-6
plasma_p.num_particles_per_cell_each_dim = 1 1 1
plasma_p.momentum_distribution_type = "at_rest"
plasma_p.do_continuous_injection = 1
beam.charge = -q_e
beam.mass = m_e
beam.injection_style = "gaussian_beam"
beam.x_rms = .5e-6
beam.y_rms = .5e-6
beam.z_rms = 1.e-6
beam.x_m = 0.
beam.y_m = 0.
beam.z_m = -100.e-6
beam.npart = 1000
beam.q_tot = -5.e-10
beam.momentum_distribution_type = "gaussian"
beam.ux_m = 0.0
beam.uy_m = 0.0
beam.uz_m = 2000.
beam.ux_th = 2.
beam.uy_th = 2.
beam.uz_th = 200.
beam.zinject_plane = .8e-3
beam.rigid_advance = true
lasers.names = laser1
laser1.profile = Gaussian
laser1.position = 0. 0. 0.e-6 # This point is on the laser plane
laser1.direction = 0. 0. 1. # The plane normal direction
laser1.polarization = 1. 0. 0. # The main polarization vector
laser1.e_max = 16.e12 # Maximum amplitude of the laser field (in V/m)
laser1.profile_waist = 40.e-6 # The waist of the laser (in meters)
laser1.profile_duration = 30.e-15 # The duration of the laser (in seconds)
laser1.profile_t_peak = 60.e-15 # The time at which the laser reaches its peak (in seconds)
laser1.profile_focal_distance = 0.e-6 # Focal distance from the antenna (in meters)
laser1.wavelength = 5.e-6 # The wavelength of the laser (in meters)
# Diagnostics
diagnostics.diags_names = diag1 chk
diag1.intervals = 5
diag1.diag_type = Full
diag1.fields_to_plot = Bx By Bz Ex Ey Ez jx jy jz rho
chk.intervals = 5
chk.diag_type = Full
chk.format = checkpoint
|