aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/picmi.py
diff options
context:
space:
mode:
authorGravatar Ryan Sandberg <RSandberg@lbl.gov> 2023-02-27 13:04:58 -0800
committerGravatar GitHub <noreply@github.com> 2023-02-27 21:04:58 +0000
commit3ac71fef9b83a3c3f94a93b492aec58329b546cc (patch)
tree53393c94f21b046bf777efeee1c55dc632c6956e /Python/pywarpx/picmi.py
parentce188a26a22c99f5c4b297c9ffab6fc3c5c0e180 (diff)
downloadWarpX-3ac71fef9b83a3c3f94a93b492aec58329b546cc.tar.gz
WarpX-3ac71fef9b83a3c3f94a93b492aec58329b546cc.tar.zst
WarpX-3ac71fef9b83a3c3f94a93b492aec58329b546cc.zip
Change plotfile RZ allowed diags to r,t from x,y (#3663)
* change plotfile RZ allowed diag to r,t from x,y * Change labeling in checksums * add rz silver mueller analysis script * make analysis_silver_mueller_rz.py executable * change x,y fields to r,t in more tests * x->r in MR RZ checksums * correct analysis for plotfiles saved as 'boxlib' * add self to creator list * change rz diags in PICMI * correct PICMI changes * another y->t in an rz test * update picmi plotfile rz btd names * review suggestion to condense analysis * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> --------- Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Diffstat (limited to 'Python/pywarpx/picmi.py')
-rw-r--r--Python/pywarpx/picmi.py69
1 files changed, 44 insertions, 25 deletions
diff --git a/Python/pywarpx/picmi.py b/Python/pywarpx/picmi.py
index 45dfaa3dd..ce82ea5c9 100644
--- a/Python/pywarpx/picmi.py
+++ b/Python/pywarpx/picmi.py
@@ -1746,27 +1746,39 @@ class FieldDiagnostic(picmistandard.PICMI_FieldDiagnostic, WarpXDiagnosticBase):
# --- Use a set to ensure that fields don't get repeated.
fields_to_plot = set()
+ if pywarpx.geometry.dims == 'RZ':
+ E_fields_list = ['Er', 'Et', 'Ez']
+ B_fields_list = ['Br', 'Bt', 'Bz']
+ J_fields_list = ['Jr', 'Jt', 'Jz']
+ A_fields_list = ['Ar', 'At', 'Az']
+ else:
+ E_fields_list = ['Ex', 'Ey', 'Ez']
+ B_fields_list = ['Bx', 'By', 'Bz']
+ J_fields_list = ['Jx', 'Jy', 'Jz']
+ A_fields_list = ['Ax', 'Ay', 'Az']
if self.data_list is not None:
for dataname in self.data_list:
if dataname == 'E':
- fields_to_plot.add('Ex')
- fields_to_plot.add('Ey')
- fields_to_plot.add('Ez')
+ for field_name in E_fields_list:
+ fields_to_plot.add(field_name)
elif dataname == 'B':
- fields_to_plot.add('Bx')
- fields_to_plot.add('By')
- fields_to_plot.add('Bz')
+ for field_name in B_fields_list:
+ fields_to_plot.add(field_name)
elif dataname == 'J':
- fields_to_plot.add('jx')
- fields_to_plot.add('jy')
- fields_to_plot.add('jz')
+ for field_name in J_fields_list:
+ fields_to_plot.add(field_name.lower())
elif dataname == 'A':
- fields_to_plot.add('Ax')
- fields_to_plot.add('Ay')
- fields_to_plot.add('Az')
- elif dataname in ['Ex', 'Ey', 'Ez', 'Bx', 'By', 'Bz', 'Ax', 'Ay', 'Az', 'rho', 'phi', 'F', 'proc_number', 'part_per_cell']:
+ for field_name in A_fields_list:
+ fields_to_plot.add(field_name)
+ elif dataname in E_fields_list:
+ fields_to_plot.add(dataname)
+ elif dataname in B_fields_list:
+ fields_to_plot.add(dataname)
+ elif dataname in A_fields_list:
fields_to_plot.add(dataname)
- elif dataname in ['Jx', 'Jy', 'Jz']:
+ elif dataname in ['rho', 'phi', 'F', 'proc_number', 'part_per_cell']:
+ fields_to_plot.add(dataname)
+ elif dataname in J_fields_list:
fields_to_plot.add(dataname.lower())
elif dataname.startswith('rho_'):
# Adds rho_species diagnostic
@@ -2015,23 +2027,30 @@ class LabFrameFieldDiagnostic(picmistandard.PICMI_LabFrameFieldDiagnostic,
# --- Use a set to ensure that fields don't get repeated.
fields_to_plot = set()
+ if pywarpx.geometry.dims == 'RZ':
+ E_fields_list = ['Er', 'Et', 'Ez']
+ B_fields_list = ['Br', 'Bt', 'Bz']
+ J_fields_list = ['Jr', 'Jt', 'Jz']
+ else:
+ E_fields_list = ['Ex', 'Ey', 'Ez']
+ B_fields_list = ['Bx', 'By', 'Bz']
+ J_fields_list = ['Jx', 'Jy', 'Jz']
if self.data_list is not None:
for dataname in self.data_list:
if dataname == 'E':
- fields_to_plot.add('Ex')
- fields_to_plot.add('Ey')
- fields_to_plot.add('Ez')
+ for field_name in E_fields_list:
+ fields_to_plot.add(field_name)
elif dataname == 'B':
- fields_to_plot.add('Bx')
- fields_to_plot.add('By')
- fields_to_plot.add('Bz')
+ for field_name in B_fields_list:
+ fields_to_plot.add(field_name)
elif dataname == 'J':
- fields_to_plot.add('jx')
- fields_to_plot.add('jy')
- fields_to_plot.add('jz')
- elif dataname in ['Ex', 'Ey', 'Ez', 'Bx', 'By', 'Bz', 'rho']:
+ for field_name in J_fields_list:
+ fields_to_plot.add(field_name.lower())
+ elif dataname in E_fields_list:
+ fields_to_plot.add(dataname)
+ elif dataname in B_fields_list:
fields_to_plot.add(dataname)
- elif dataname in ['Jx', 'Jy', 'Jz']:
+ elif dataname in J_fields_list:
fields_to_plot.add(dataname.lower())
elif dataname.startswith('rho_'):
# Adds rho_species diagnostic