aboutsummaryrefslogtreecommitdiff
path: root/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py')
-rwxr-xr-xExamples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py95
1 files changed, 0 insertions, 95 deletions
diff --git a/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py b/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py
deleted file mode 100755
index b9d060343..000000000
--- a/Examples/Modules/gaussian_beam/PICMI_inputs_gaussian_beam.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python3
-
-#from warp import picmi
-import argparse
-
-from pywarpx import picmi
-
-parser = argparse.ArgumentParser(description="Gaussian beam PICMI example")
-
-parser.add_argument('--diagformat', type=str,
- help='Format of the full diagnostics (plotfile, openpmd, ascent, sensei, ...)',
- default='plotfile')
-parser.add_argument('--fields_to_plot', type=str,
- help='List of fields to write to diagnostics',
- default=['E', 'B', 'J', 'part_per_cell'],
- nargs = '*')
-
-args = parser.parse_args()
-
-constants = picmi.constants
-
-nx = 32
-ny = 32
-nz = 32
-
-xmin = -2.
-xmax = +2.
-ymin = -2.
-ymax = +2.
-zmin = -2.
-zmax = +2.
-
-number_sim_particles = 32768
-total_charge = 8.010883097437485e-07
-
-beam_rms_size = 0.25
-electron_beam_divergence = -0.04*constants.c
-
-em_order = 3
-
-grid = picmi.Cartesian3DGrid(number_of_cells = [nx, ny, nz],
- lower_bound = [xmin, ymin, zmin],
- upper_bound = [xmax, ymax, zmax],
- lower_boundary_conditions = ['periodic', 'periodic', 'open'],
- upper_boundary_conditions = ['periodic', 'periodic', 'open'],
- lower_boundary_conditions_particles = ['periodic', 'periodic', 'absorbing'],
- upper_boundary_conditions_particles = ['periodic', 'periodic', 'absorbing'],
- warpx_max_grid_size=16)
-
-solver = picmi.ElectromagneticSolver(grid = grid,
- cfl = 1.,
- stencil_order=[em_order,em_order,em_order])
-
-electron_beam = picmi.GaussianBunchDistribution(n_physical_particles = total_charge/constants.q_e,
- rms_bunch_size = [beam_rms_size, beam_rms_size, beam_rms_size],
- velocity_divergence = [electron_beam_divergence, electron_beam_divergence, electron_beam_divergence])
-
-proton_beam = picmi.GaussianBunchDistribution(n_physical_particles = total_charge/constants.q_e,
- rms_bunch_size = [beam_rms_size, beam_rms_size, beam_rms_size])
-
-electrons = picmi.Species(particle_type='electron', name='electrons', initial_distribution=electron_beam)
-protons = picmi.Species(particle_type='proton', name='protons', initial_distribution=proton_beam)
-
-field_diag1 = picmi.FieldDiagnostic(name = 'diag1',
- grid = grid,
- period = 10,
- data_list = args.fields_to_plot,
- warpx_format = args.diagformat,
- write_dir = '.',
- warpx_file_prefix = 'Python_gaussian_beam_plt')
-
-part_diag1 = picmi.ParticleDiagnostic(name = 'diag1',
- period = 10,
- species = [electrons, protons],
- data_list = ['weighting', 'momentum'],
- warpx_format = args.diagformat)
-
-sim = picmi.Simulation(solver = solver,
- max_steps = 10,
- verbose = 1,
- warpx_current_deposition_algo = 'direct',
- warpx_use_filter = 0)
-
-sim.add_species(electrons, layout=picmi.PseudoRandomLayout(n_macroparticles=number_sim_particles))
-sim.add_species(protons, layout=picmi.PseudoRandomLayout(n_macroparticles=number_sim_particles))
-
-sim.add_diagnostic(field_diag1)
-sim.add_diagnostic(part_diag1)
-
-# write_inputs will create an inputs file that can be used to run
-# with the compiled version.
-#sim.write_input_file(file_name = 'inputs_from_PICMI')
-
-# Alternatively, sim.step will run WarpX, controlling it from Python
-sim.step()