aboutsummaryrefslogtreecommitdiff
path: root/Examples/Tests/reduced_diags/inputs
blob: dc0c57264ba4e03f294fb36945406c8ba58bb165 (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
# 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

#################################
###### REDUCED DIAGS ############
#################################
warpx.reduced_diags_names = EP NP EF PP PF MF MR FP FP_integrate FP_line FP_plane FR_Max FR_Min FR_Integral Edotj
EP.type = ParticleEnergy
EP.intervals = 200
EF.type = FieldEnergy
EF.intervals = 200
PP.type = ParticleMomentum
PP.intervals = 200
PF.type = FieldMomentum
PF.intervals = 200
MF.type = FieldMaximum
MF.intervals = 200
FP.type = FieldProbe
FP.intervals = 200
#The probe is placed at a cell center to match the value in the plotfile
FP.x_probe = 0.53125
FP.y_probe = 0.53125
FP.z_probe = 0.53125
FP_integrate.type = FieldProbe
FP_integrate.intervals = 20
FP_integrate.probe_geometry = Point
FP_integrate.x_probe = 0.53125
FP_integrate.y_probe = 0.53125
FP_integrate.z_probe = 0.53125
FP_integrate.integrate = 1
FP_line.type = FieldProbe
FP_line.intervals = 200
FP_line.probe_geometry = Line
FP_line.x_probe = 0.53125
FP_line.y_probe = 0.53125
FP_line.z_probe = 0.53125
FP_line.x1_probe = 0.70225
FP_line.y1_probe = 0.70225
FP_line.z1_probe = 0.70225
FP_line.resolution = 100
FP_plane.type = FieldProbe
FP_plane.intervals = 200
FP_plane.probe_geometry = Plane
FP_plane.x_probe = 0.5
FP_plane.y_probe = 0.5
FP_plane.z_probe = 0.5
FP_plane.target_normal_x = 0
FP_plane.target_normal_y = 0
FP_plane.target_normal_z = 1
FP_plane.target_up_x = 0
FP_plane.target_up_y = 1
FP_plane.target_up_z = 0
FP_plane.detector_radius = 0.25
FP_plane.resolution = 10
MR.type = RhoMaximum
MR.intervals = 200
NP.type = ParticleNumber
NP.intervals = 200
FR_Max.type = FieldReduction
FR_Max.intervals = 200
FR_Max.reduced_function(x,y,z,Ex,Ey,Ez,Bx,By,Bz,jx,jy,jz) = sqrt(Bx**2 + By**2 + Bz**2)
FR_Max.reduction_type = Maximum
FR_Min.type = FieldReduction
FR_Min.intervals = 200
FR_Min.reduced_function(x,y,z,Ex,Ey,Ez,Bx,By,Bz,jx,jy,jz) = x*Ey*Bz
FR_Min.reduction_type = Minimum
FR_Integral.type = FieldReduction
FR_Integral.intervals = 200
FR_Integral.reduced_function(x,y,z,Ex,Ey,Ez,Bx,By,Bz,jx,jy,jz) = "if(y > 0 and z < 0,
                            0.5*((Ex**2 + Ey**2 + Ez**2)*epsilon0+(Bx**2 + By**2 + Bz**2)/mu0), 0)"
FR_Integral.reduction_type = Integral
Edotj.type = FieldReduction
Edotj.intervals = 200
Edotj.reduced_function(x,y,z,Ex,Ey,Ez,Bx,By,Bz,jx,jy,jz) = Ex*jx + Ey*jy + Ez*jz
Edotj.reduction_type = Maximum

# Diagnostics
diagnostics.diags_names = diag1
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