aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/picmi.py
diff options
context:
space:
mode:
authorGravatar David Grote <grote1@llnl.gov> 2022-10-02 14:23:46 -0700
committerGravatar GitHub <noreply@github.com> 2022-10-02 14:23:46 -0700
commit45ec9e3550755f375a6564ae03b90bc323e15abc (patch)
tree60ee72923d859fbc68b68daabb68ace4bf0a4076 /Python/pywarpx/picmi.py
parent3d0f943371ed67cf2414afc5eed84e06d1a1beb7 (diff)
downloadWarpX-45ec9e3550755f375a6564ae03b90bc323e15abc.tar.gz
WarpX-45ec9e3550755f375a6564ae03b90bc323e15abc.tar.zst
WarpX-45ec9e3550755f375a6564ae03b90bc323e15abc.zip
Major update of the Python/picmi documentation (#3329)
* Include WarpX specific documentation * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Undo the precommit change of import in __init__.py * Docs: Install Pure Python WarpX PICMI Allows to use these classes in our Sphinx autodocs in the manual. * Sphinx: Add Napoleon Extension https://sphinxcontrib-napoleon.readthedocs.io * PICMI Doc Strings: Fix Some Warnings * Removed the DocumentedMetaClass since it was moved to picmistandard * Defined the languate in Docs/source/conf.py * Cleaned up minor issues in the rst files * Updated existing doc strings in picmi.py * Reformatted doc strings in Regression/Checksum/checksumAPI.py * Reformatted doc strings in Regression/Checksum * First set of WarpX specific documentation * Updated to picmistandard version 0.0.20 * Cleaned up the Python document page Fixed up the text to be more clear. Added section headers for each picmi class (for easy reference). * Further updates to picmi.py doc strings Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Diffstat (limited to 'Python/pywarpx/picmi.py')
-rw-r--r--Python/pywarpx/picmi.py558
1 files changed, 530 insertions, 28 deletions
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py
index a9a8f80af..4640a2e2e 100644
--- a/Python/pywarpx/picmi.py
+++ b/Python/pywarpx/picmi.py
@@ -39,7 +39,84 @@ class constants:
picmistandard.register_constants(constants)
+
class Species(picmistandard.PICMI_Species):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_boost_adjust_transverse_positions: bool, default=False
+ Whether to adjust transverse positions when apply the boost
+ to the simulation frame
+
+ warpx_self_fields_required_precision: float, default=1.e-11
+ Relative precision on the electrostatic solver
+ (when using the relativistic solver)
+
+ warpx_self_fields_absolute_tolerance: float, default=0.
+ Absolute precision on the electrostatic solver
+ (when using the relativistic solver)
+
+ warpx_self_fields_max_iters: integer, default=200
+ Maximum number of iterations for the electrostatic
+ solver for the species
+
+ warpx_self_fields_verbosity: integer, default=2
+ Level of verbosity for the electrostatic solver
+
+ warpx_save_previous_position: bool, default=False
+ Whether to save the old particle positions
+
+ warpx_do_not_deposit: bool, default=False
+ Whether or not to deposit the charge and current density for
+ for this species
+
+ warpx_reflection_model_xlo: string, default='0.'
+ Expression (in terms of the velocity "v") specifying the probability
+ that the particle will reflect on the lower x boundary
+
+ warpx_reflection_model_xhi: string, default='0.'
+ Expression (in terms of the velocity "v") specifying the probability
+ that the particle will reflect on the upper x boundary
+
+ warpx_reflection_model_ylo: string, default='0.'
+ Expression (in terms of the velocity "v") specifying the probability
+ that the particle will reflect on the lower y boundary
+
+ warpx_reflection_model_yhi: string, default='0.'
+ Expression (in terms of the velocity "v") specifying the probability
+ that the particle will reflect on the upper y boundary
+
+ warpx_reflection_model_zlo: string, default='0.'
+ Expression (in terms of the velocity "v") specifying the probability
+ that the particle will reflect on the lower z boundary
+
+ warpx_reflection_model_zhi: string, default='0.'
+ Expression (in terms of the velocity "v") specifying the probability
+ that the particle will reflect on the upper z boundary
+
+ warpx_save_particles_at_xlo: bool, default=False
+ Whether to save particles lost at the lower x boundary
+
+ warpx_save_particles_at_xhi: bool, default=False
+ Whether to save particles lost at the upper x boundary
+
+ warpx_save_particles_at_ylo: bool, default=False
+ Whether to save particles lost at the lower y boundary
+
+ warpx_save_particles_at_yhi: bool, default=False
+ Whether to save particles lost at the upper y boundary
+
+ warpx_save_particles_at_zlo: bool, default=False
+ Whether to save particles lost at the lower z boundary
+
+ warpx_save_particles_at_zhi: bool, default=False
+ Whether to save particles lost at the upper z boundary
+
+ warpx_save_particles_at_eb: bool, default=False
+ Whether to save particles lost at the embedded boundary
+ """
def init(self, kw):
if self.particle_type == 'electron':
@@ -404,7 +481,42 @@ class BinomialSmoother(picmistandard.PICMI_BinomialSmoother):
class CylindricalGrid(picmistandard.PICMI_CylindricalGrid):
- """This assumes that WarpX was compiled with USE_RZ = TRUE
+ """
+ This assumes that WarpX was compiled with USE_RZ = TRUE
+
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ---------
+ warpx_max_grid_size: integer, default=32
+ Maximum block size in either direction
+
+ warpx_max_grid_size_x: integer, optional
+ Maximum block size in radial direction
+
+ warpx_max_grid_size_y: integer, optional
+ Maximum block size in longitudinal direction
+
+ warpx_blocking_factor: integer, optional
+ Blocking factor (which controls the block size)
+
+ warpx_blocking_factor_x: integer, optional
+ Blocking factor (which controls the block size) in the radial direction
+
+ warpx_blocking_factor_y: integer, optional
+ Blocking factor (which controls the block size) in the longitudinal direction
+
+ warpx_potential_lo_r: float, default=0.
+ Electrostatic potential on the lower radial boundary
+
+ warpx_potential_hi_r: float, default=0.
+ Electrostatic potential on the upper radial boundary
+
+ warpx_potential_lo_z: float, default=0.
+ Electrostatic potential on the lower longitudinal boundary
+
+ warpx_potential_hi_z: float, default=0.
+ Electrostatic potential on the upper longitudinal boundary
"""
def init(self, kw):
self.max_grid_size = kw.pop('warpx_max_grid_size', 32)
@@ -472,6 +584,29 @@ class CylindricalGrid(picmistandard.PICMI_CylindricalGrid):
class Cartesian1DGrid(picmistandard.PICMI_Cartesian1DGrid):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ---------
+ warpx_max_grid_size: integer, default=32
+ Maximum block size in either direction
+
+ warpx_max_grid_size_x: integer, optional
+ Maximum block size in longitudinal direction
+
+ warpx_blocking_factor: integer, optional
+ Blocking factor (which controls the block size)
+
+ warpx_blocking_factor_x: integer, optional
+ Blocking factor (which controls the block size) in the longitudinal direction
+
+ warpx_potential_lo_z: float, default=0.
+ Electrostatic potential on the lower longitudinal boundary
+
+ warpx_potential_hi_z: float, default=0.
+ Electrostatic potential on the upper longitudinal boundary
+ """
def init(self, kw):
self.max_grid_size = kw.pop('warpx_max_grid_size', 32)
self.max_grid_size_x = kw.pop('warpx_max_grid_size_x', None)
@@ -525,6 +660,41 @@ class Cartesian1DGrid(picmistandard.PICMI_Cartesian1DGrid):
pywarpx.amr.max_level = 0
class Cartesian2DGrid(picmistandard.PICMI_Cartesian2DGrid):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ---------
+ warpx_max_grid_size: integer, default=32
+ Maximum block size in either direction
+
+ warpx_max_grid_size_x: integer, optional
+ Maximum block size in x direction
+
+ warpx_max_grid_size_y: integer, optional
+ Maximum block size in z direction
+
+ warpx_blocking_factor: integer, optional
+ Blocking factor (which controls the block size)
+
+ warpx_blocking_factor_x: integer, optional
+ Blocking factor (which controls the block size) in the x direction
+
+ warpx_blocking_factor_y: integer, optional
+ Blocking factor (which controls the block size) in the z direction
+
+ warpx_potential_lo_x: float, default=0.
+ Electrostatic potential on the lower x boundary
+
+ warpx_potential_hi_x: float, default=0.
+ Electrostatic potential on the upper x boundary
+
+ warpx_potential_lo_z: float, default=0.
+ Electrostatic potential on the lower z boundary
+
+ warpx_potential_hi_z: float, default=0.
+ Electrostatic potential on the upper z boundary
+ """
def init(self, kw):
self.max_grid_size = kw.pop('warpx_max_grid_size', 32)
self.max_grid_size_x = kw.pop('warpx_max_grid_size_x', None)
@@ -586,6 +756,53 @@ class Cartesian2DGrid(picmistandard.PICMI_Cartesian2DGrid):
class Cartesian3DGrid(picmistandard.PICMI_Cartesian3DGrid):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ---------
+ warpx_max_grid_size: integer, default=32
+ Maximum block size in either direction
+
+ warpx_max_grid_size_x: integer, optional
+ Maximum block size in x direction
+
+ warpx_max_grid_size_y: integer, optional
+ Maximum block size in z direction
+
+ warpx_max_grid_size_z: integer, optional
+ Maximum block size in z direction
+
+ warpx_blocking_factor: integer, optional
+ Blocking factor (which controls the block size)
+
+ warpx_blocking_factor_x: integer, optional
+ Blocking factor (which controls the block size) in the x direction
+
+ warpx_blocking_factor_y: integer, optional
+ Blocking factor (which controls the block size) in the z direction
+
+ warpx_blocking_factor_z: integer, optional
+ Blocking factor (which controls the block size) in the z direction
+
+ warpx_potential_lo_x: float, default=0.
+ Electrostatic potential on the lower x boundary
+
+ warpx_potential_hi_x: float, default=0.
+ Electrostatic potential on the upper x boundary
+
+ warpx_potential_lo_y: float, default=0.
+ Electrostatic potential on the lower z boundary
+
+ warpx_potential_hi_y: float, default=0.
+ Electrostatic potential on the upper z boundary
+
+ warpx_potential_lo_z: float, default=0.
+ Electrostatic potential on the lower z boundary
+
+ warpx_potential_hi_z: float, default=0.
+ Electrostatic potential on the upper z boundary
+ """
def init(self, kw):
self.max_grid_size = kw.pop('warpx_max_grid_size', 32)
self.max_grid_size_x = kw.pop('warpx_max_grid_size_x', None)
@@ -653,6 +870,38 @@ class Cartesian3DGrid(picmistandard.PICMI_Cartesian3DGrid):
pywarpx.amr.max_level = 0
class ElectromagneticSolver(picmistandard.PICMI_ElectromagneticSolver):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_pml_ncell: integer, optional
+ The depth of the PML, in number of cells
+
+ warpx_periodic_single_box_fft: bool, default=False
+ Whether to do the spectral solver FFTs assuming a single
+ simulation block
+
+ warpx_current_correction: bool, default=True
+ Whether to do the current correction for the spectral solver.
+ See documentation for exceptions to the default value.
+
+ warpx_psatd_update_with_rho: bool, optional
+ Whether to update with the actual rho for the spectral solver
+
+ warpx_psatd_do_time_averaging: bool, optional
+ Whether to do the time averaging for the spectral solver
+
+ warpx_do_pml_in_domain: bool, default=False
+ Whether to do the PML boundaries within the domain (versus
+ in the guard cells)
+
+ warpx_pml_has_particles: bool, default=False
+ Whether to allow particles in the PML region
+
+ warpx_do_pml_j_damping: bool, default=False
+ Whether to do damping of J in the PML
+ """
def init(self, kw):
assert self.method is None or self.method in ['Yee', 'CKC', 'PSATD', 'ECT'], Exception("Only 'Yee', 'CKC', 'PSATD', and 'ECT' are supported")
@@ -718,6 +967,20 @@ class ElectromagneticSolver(picmistandard.PICMI_ElectromagneticSolver):
pywarpx.warpx.do_pml_j_damping = self.do_pml_j_damping
class ElectrostaticSolver(picmistandard.PICMI_ElectrostaticSolver):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_relativistic: bool, default=False
+ Whether to use the relativistic solver or lab frame solver
+
+ warpx_absolute_tolerance: float, default=0.
+ Absolute tolerance on the lab fram solver
+
+ warpx_self_fields_verbosity: integer, default=2
+ Level of verbosity for the lab frame solver
+ """
def init(self, kw):
self.relativistic = kw.pop('warpx_relativistic', False)
self.absolute_tolerance = kw.pop('warpx_absolute_tolerance', None)
@@ -862,10 +1125,26 @@ class Mirror(picmistandard.PICMI_Mirror):
class CoulombCollisions(picmistandard.base._ClassWithInit):
- """Custom class to handle setup of binary Coulmb collisions in WarpX. If
+ """
+ Custom class to handle setup of binary Coulmb collisions in WarpX. If
collision initialization is added to picmistandard this can be changed to
- inherit that functionality."""
+ inherit that functionality.
+
+ Parameters
+ ----------
+ name: string
+ Name of instance (used in the inputs file)
+ species: list of species instances
+ The species involved in the collision. Must be of length 2.
+
+ CoulombLog: float, optional
+ Value of the Coulomb log to use in the collision cross section.
+ If not supplied, it is calculated from the local conditions.
+
+ ndt: integer, optional
+ The collisions will be applied every "ndt" steps. Must be 1 or larger.
+ """
def __init__(self, name, species, CoulombLog=None, ndt=None, **kw):
self.name = name
self.species = species
@@ -883,9 +1162,35 @@ class CoulombCollisions(picmistandard.base._ClassWithInit):
class MCCCollisions(picmistandard.base._ClassWithInit):
- """Custom class to handle setup of MCC collisions in WarpX. If collision
+ """
+ Custom class to handle setup of MCC collisions in WarpX. If collision
initialization is added to picmistandard this can be changed to inherit
- that functionality."""
+ that functionality.
+
+ Parameters
+ ----------
+ name: string
+ Name of instance (used in the inputs file)
+
+ species: species instance
+ The species involved in the collision
+
+ background_density: float
+ The density of the background
+
+ background_temperature: float
+ The temperature of the background
+
+ scattering_processes: dictionary
+ The scattering process to use and any needed information
+
+ background_mass: float, optional
+ The mass of the background particle. If not supplied, the default depends
+ on the type of scattering process.
+
+ ndt: integer, optional
+ The collisions will be applied every "ndt" steps. Must be 1 or larger.
+ """
def __init__(self, name, species, background_density,
background_temperature, scattering_processes,
@@ -924,14 +1229,31 @@ class EmbeddedBoundary(picmistandard.base._ClassWithInit):
changed to inherit that functionality. The geometry can be specified either as
an implicit function or as an STL file (ASCII or binary). In the latter case the
geometry specified in the STL file can be scaled, translated and inverted.
- - implicit_function: Analytic expression describing the embedded boundary
- - stl_file: STL file path (string), file contains the embedded boundary geometry
- - stl_scale: factor by which the STL geometry is scaled (pure number)
- - stl_center: vector by which the STL geometry is translated (in meters)
- - stl_reverse_normal: if True inverts the orientation of the STL geometry
- - potential: Analytic expression defining the potential. Can only be specified
- when the solver is electrostatic. Optional, defaults to 0.
- Parameters used in the expressions should be given as additional keyword arguments.
+
+ Parameters
+ ----------
+ implicit_function: string
+ Analytic expression describing the embedded boundary
+
+ stl_file: string
+ STL file path (string), file contains the embedded boundary geometry
+
+ stl_scale: float
+ Factor by which the STL geometry is scaled
+
+ stl_center: vector of floats
+ Vector by which the STL geometry is translated (in meters)
+
+ stl_reverse_normal: bool
+ If True inverts the orientation of the STL geometry
+
+ potential: string, default=0.
+ Analytic expression defining the potential. Can only be specified
+ when the solver is electrostatic.
+
+
+ Parameters used in the analytic expressions should be given as additional keyword arguments.
+
"""
def __init__(self, implicit_function=None, stl_file=None, stl_scale=None, stl_center=None, stl_reverse_normal=False,
potential=None, **kw):
@@ -990,11 +1312,36 @@ class EmbeddedBoundary(picmistandard.base._ClassWithInit):
class PlasmaLens(picmistandard.base._ClassWithInit):
"""
Custom class to setup a plasma lens lattice.
- The applied fields are dependent on the transverse position
- - Ex = x*stengths_E
- - Ey = y*stengths_E
- - Bx = +y*stengths_B
- - By = -x*stengths_B
+ The applied fields are dependent only on the transverse position.
+
+ Parameters
+ ----------
+ period: float
+ Periodicity of the lattice (in lab frame, in meters)
+
+ starts: list of floats
+ The start of each lens relative to the periodic repeat
+
+ lengths: list of floats
+ The length of each lens
+
+ strengths_E=None: list of floats, default = 0.
+ The electric field strength of each lens
+
+ strengths_B=None: list of floats, default = 0.
+ The magnetic field strength of each lens
+
+
+ The field that is applied depends on the transverse position of the particle, (x,y)
+
+ - Ex = x*stengths_E
+
+ - Ey = y*stengths_E
+
+ - Bx = +y*stengths_B
+
+ - By = -x*stengths_B
+
"""
def __init__(self, period, starts, lengths, strengths_E=None, strengths_B=None, **kw):
self.period = period
@@ -1020,6 +1367,78 @@ class PlasmaLens(picmistandard.base._ClassWithInit):
class Simulation(picmistandard.PICMI_Simulation):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_current_deposition_algo: {'direct', 'esirkepov', and 'vay'}, optional
+ Current deposition algorithm. The default depends on conditions.
+
+ warpx_charge_deposition_algo: {'standard'}, optional
+ Charge deposition algorithm.
+
+ warpx_field_gathering_algo: {'energy-conserving', 'momentum-conserving'}, optional
+ Field gathering algorithm. The default depends on conditions.
+
+ warpx_particle_pusher_algo: {'boris', 'vay', 'higuera'}, default='boris'
+ Particle pushing algorithm.
+
+ warpx_use_filter: bool, optional
+ Whether to use filtering. The default depends on the conditions.
+
+ warpx_serialize_initial_conditions: bool, default=False
+ Controls the random numbers used for initialization.
+ This parameter should only be used for testing and continuous integration.
+
+ warpx_do_dynamic_scheduling: bool, default=True
+ Whether to do dynamic scheduling with OpenMP
+
+ warpx_load_balance_intervals: string, default='0'
+ The intervals for doing load balancing
+
+ warpx_load_balance_efficiency_ratio_threshold: float, default=1.1
+ (See documentation)
+
+ warpx_load_balance_with_sfc: bool, default=0
+ (See documentation)
+
+ warpx_load_balance_knapsack_factor: float, default=1.24
+ (See documentation)
+
+ warpx_load_balance_costs_update: {'heuristic' or 'timers' or 'gpuclock'}, optional
+ (See documentation)
+
+ warpx_costs_heuristic_particles_wt: float, optional
+ (See documentation)
+
+ warpx_costs_heuristic_cells_wt: float, optional
+ (See documentation)
+
+ warpx_use_fdtd_nci_corr: bool, optional
+ Whether to use the NCI correction when using the FDTD solver
+
+ warpx_amr_check_input: bool, optional
+ Whether AMReX should perform checks on the input
+ (primarily related to the max grid size and blocking factors)
+
+ warpx_amr_restart: string, optional
+ The name of the restart to use
+
+ warpx_zmax_plasma_to_compute_max_step: float, optional
+ Sets the simulation run time based on the maximum z value
+
+ warpx_collisions: collision instance, optional
+ The collision instance specifying the particle collisions
+
+ warpx_embedded_boundary: embedded boundary instance, optional
+
+ warpx_break_signals: list of strings
+ Signals on which to break
+
+ warpx_checkpoint_signals: list of strings
+ Signals on which to write out a checkpoint
+ """
# Set the C++ WarpX interface (see _libwarpx.LibWarpX) as an extension to
# Simulation objects. In the future, LibWarpX objects may actually be owned
@@ -1178,6 +1597,32 @@ class Simulation(picmistandard.PICMI_Simulation):
class FieldDiagnostic(picmistandard.PICMI_FieldDiagnostic):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_plot_raw_fields: bool, optional
+ Flag whether to dump the raw fields
+
+ warpx_plot_raw_fields_guards: bool, optional
+ Flag whether the raw fields should include the guard cells
+
+ warpx_format: {plotfile, checkpoint, openpmd, ascent, sensei}, optional
+ Diagnostic file format
+
+ warpx_openpmd_backend: {bp, h5, json}, optional
+ Openpmd backend file format
+
+ warpx_file_prefix: string, optional
+ Prefix on the diagnostic file name
+
+ warpx_file_min_digits: integer, optional
+ Minimum number of digits for the time step number in the file name
+
+ warpx_dump_rz_modes: bool, optional
+ Flag whether to dump the data for all RZ modes
+ """
def init(self, kw):
self.plot_raw_fields = kw.pop('warpx_plot_raw_fields', None)
@@ -1274,6 +1719,20 @@ ElectrostaticFieldDiagnostic = FieldDiagnostic
class Checkpoint(picmistandard.base._ClassWithInit):
+ """
+ Sets up checkpointing of the simulation, allowing for later restarts
+
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_file_prefix: string
+ The prefix to the checkpoint directory names
+
+ warpx_file_min_digits: integer
+ Minimum number of digits for the time step number in the checkpoint
+ directory name.
+ """
def __init__(self, period = 1, write_dir = None, name = None, **kw):
@@ -1307,6 +1766,32 @@ class Checkpoint(picmistandard.base._ClassWithInit):
self.diagnostic.file_prefix = os.path.join(write_dir, file_prefix)
class ParticleDiagnostic(picmistandard.PICMI_ParticleDiagnostic):
+ """
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_format: {plotfile, checkpoint, openpmd, ascent, sensei}, optional
+ Diagnostic file format
+
+ warpx_openpmd_backend: {bp, h5, json}, optional
+ Openpmd backend file format
+
+ warpx_file_prefix: string, optional
+ Prefix on the diagnostic file name
+
+ warpx_file_min_digits: integer, optional
+ Minimum number of digits for the time step number in the file name
+
+ warpx_random_fraction: float, optional
+ Random fraction of particles to include in the diagnostic
+
+ warpx_uniform_stride: integer, optional
+ Stride to down select to the particles to include in the diagnostic
+
+ warpx_plot_filter_function: string, optional
+ Analytic expression to down select the particles to in the diagnostic
+ """
def init(self, kw):
self.format = kw.pop('warpx_format', 'plotfile')
@@ -1407,17 +1892,34 @@ class ParticleDiagnostic(picmistandard.PICMI_ParticleDiagnostic):
class LabFrameFieldDiagnostic(picmistandard.PICMI_LabFrameFieldDiagnostic):
"""
- Warp specific arguments:
- - warpx_new_BTD: Use the new BTD diagnostics
- - warpx_format: Passed to <diagnostic name>.format
- - warpx_openpmd_backend: Passed to <diagnostic name>.openpmd_backend
- - warpx_file_prefix: Passed to <diagnostic name>.file_prefix
- - warpx_file_min_digits: Passed to <diagnostic name>.file_min_digits
- - warpx_buffer_size: Passed to <diagnostic name>.buffer_size
- - warpx_lower_bound: Passed to <diagnostic name>.lower_bound
- - warpx_upper_bound: Passed to <diagnostic name>.upper_bound
+ See `Input Parameters <https://warpx.readthedocs.io/en/latest/usage/parameters.html>`_ for more information.
+
+ Parameters
+ ----------
+ warpx_new_BTD: bool, optional
+ Use the new BTD diagnostics
+
+ warpx_format: string, optional
+ Passed to <diagnostic name>.format
+
+ warpx_openpmd_backend: string, optional
+ Passed to <diagnostic name>.openpmd_backend
+
+ warpx_file_prefix: string, optional
+ Passed to <diagnostic name>.file_prefix
+
+ warpx_file_min_digits: integer, optional
+ Passed to <diagnostic name>.file_min_digits
+
+ warpx_buffer_size: integer, optional
+ Passed to <diagnostic name>.buffer_size
+
+ warpx_lower_bound: vector of floats, optional
+ Passed to <diagnostic name>.lower_bound
+
+ warpx_upper_bound: vector of floats, optional
+ Passed to <diagnostic name>.upper_bound
"""
- __doc__ = picmistandard.PICMI_LabFrameFieldDiagnostic.__doc__ + __doc__
def init(self, kw):
self.use_new_BTD = kw.pop('warpx_new_BTD', False)
if self.use_new_BTD: