diff --git a/gprMax/input_cmds_file.py b/gprMax/input_cmds_file.py index 9ab2d09d..945cee73 100644 --- a/gprMax/input_cmds_file.py +++ b/gprMax/input_cmds_file.py @@ -158,7 +158,7 @@ def check_cmd_names(processedlines, checkessential=True): essentialcmds = ['#domain', '#dx_dy_dz', '#time_window'] # Commands that there should only be one instance of in a model - singlecmds = dict.fromkeys(['#domain', '#dx_dy_dz', '#time_window', '#title', '#messages', '#num_threads', '#time_step_stability_factor', '#pml_cells', '#excitation_file', '#src_steps', '#rx_steps', '#taguchi', '#end_taguchi'], 'None') + singlecmds = dict.fromkeys(['#domain', '#dx_dy_dz', '#time_window', '#title', '#messages', '#num_threads', '#time_step_stability_factor', '#pml_cells', '#excitation_file', '#src_steps', '#rx_steps', '#taguchi', '#end_taguchi'], None) # Commands that there can be multiple instances of in a model - these will be lists within the dictionary multiplecmds = {key: [] for key in ['#geometry_view', '#geometry_objects_write', '#material', '#soil_peplinski', '#add_dispersion_debye', '#add_dispersion_lorentz', '#add_dispersion_drude', '#waveform', '#voltage_source', '#hertzian_dipole', '#magnetic_dipole', '#transmission_line', '#rx', '#rx_array', '#snapshot', '#pml_cfs']} @@ -190,7 +190,7 @@ def check_cmd_names(processedlines, checkessential=True): # Assign command parameters as values to dictionary keys if cmdname in singlecmds: - if singlecmds[cmdname] == 'None': + if singlecmds[cmdname] is None: singlecmds[cmdname] = cmd[1].strip(' \t\n') else: raise CmdInputError('You can only have a single instance of ' + cmdname + ' in your model') diff --git a/gprMax/input_cmds_multiuse.py b/gprMax/input_cmds_multiuse.py index e65602dd..2783d5c6 100644 --- a/gprMax/input_cmds_multiuse.py +++ b/gprMax/input_cmds_multiuse.py @@ -51,7 +51,7 @@ def process_multicmds(multicmds, G): # Waveform definitions cmdname = '#waveform' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 4: @@ -76,7 +76,7 @@ def process_multicmds(multicmds, G): # Voltage source cmdname = '#voltage_source' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) < 6: @@ -141,7 +141,7 @@ def process_multicmds(multicmds, G): # Hertzian dipole cmdname = '#hertzian_dipole' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) < 5: @@ -216,7 +216,7 @@ def process_multicmds(multicmds, G): # Magnetic dipole cmdname = '#magnetic_dipole' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) < 5: @@ -279,7 +279,7 @@ def process_multicmds(multicmds, G): # Transmission line cmdname = '#transmission_line' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) < 6: @@ -345,7 +345,7 @@ def process_multicmds(multicmds, G): # Receiver cmdname = '#rx' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 3 and len(tmp) < 5: @@ -390,7 +390,7 @@ def process_multicmds(multicmds, G): # Receiver array cmdname = '#rx_array' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 9: @@ -455,7 +455,7 @@ def process_multicmds(multicmds, G): # Snapshot cmdname = '#snapshot' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 11: @@ -505,7 +505,7 @@ def process_multicmds(multicmds, G): # Materials cmdname = '#material' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 5: @@ -543,7 +543,7 @@ def process_multicmds(multicmds, G): G.materials.append(m) cmdname = '#add_dispersion_debye' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() @@ -578,7 +578,7 @@ def process_multicmds(multicmds, G): tqdm.write('Debye disperion added to {} with delta_eps_r={}, and tau={} secs created.'.format(material.ID, ', '.join('%4.2f' % deltaer for deltaer in material.deltaer), ', '.join('%4.3e' % tau for tau in material.tau))) cmdname = '#add_dispersion_lorentz' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() @@ -614,7 +614,7 @@ def process_multicmds(multicmds, G): tqdm.write('Lorentz disperion added to {} with delta_eps_r={}, omega={} secs, and gamma={} created.'.format(material.ID, ', '.join('%4.2f' % deltaer for deltaer in material.deltaer), ', '.join('%4.3e' % tau for tau in material.tau), ', '.join('%4.3e' % alpha for alpha in material.alpha))) cmdname = '#add_dispersion_drude' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() @@ -649,7 +649,7 @@ def process_multicmds(multicmds, G): tqdm.write('Drude disperion added to {} with omega={} secs, and gamma={} secs created.'.format(material.ID, ', '.join('%4.3e' % tau for tau in material.tau), ', '.join('%4.3e' % alpha for alpha in material.alpha))) cmdname = '#soil_peplinski' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 7: @@ -680,7 +680,7 @@ def process_multicmds(multicmds, G): # Geometry views (creates VTK-based geometry files) cmdname = '#geometry_view' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 11: @@ -730,7 +730,7 @@ def process_multicmds(multicmds, G): # Geometry object(s) output cmdname = '#geometry_objects_write' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: for cmdinstance in multicmds[cmdname]: tmp = cmdinstance.split() if len(tmp) != 7: @@ -760,7 +760,7 @@ def process_multicmds(multicmds, G): # Complex frequency shifted (CFS) PML parameter cmdname = '#pml_cfs' - if multicmds[cmdname] != 'None': + if multicmds[cmdname] is not None: if len(multicmds[cmdname]) > 2: raise CmdInputError("'" + cmdname + ': ' + ' '.join(tmp) + "'" + ' can only be used up to two times, for up to a 2nd order PML') for cmdinstance in multicmds[cmdname]: diff --git a/gprMax/input_cmds_singleuse.py b/gprMax/input_cmds_singleuse.py index 07d62a24..747ae146 100644 --- a/gprMax/input_cmds_singleuse.py +++ b/gprMax/input_cmds_singleuse.py @@ -41,7 +41,7 @@ def process_singlecmds(singlecmds, G): # Check validity of command parameters in order needed # messages cmd = '#messages' - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: tmp = singlecmds[cmd].split() if len(tmp) != 1: raise CmdInputError(cmd + ' requires exactly one parameter') @@ -54,7 +54,7 @@ def process_singlecmds(singlecmds, G): # Title cmd = '#title' - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: G.title = singlecmds[cmd] if G.messages: print('Model title: {}'.format(G.title)) @@ -77,7 +77,7 @@ def process_singlecmds(singlecmds, G): del os.environ['OMP_PLACES'] del os.environ['OMP_PROC_BIND'] - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: tmp = tuple(int(x) for x in singlecmds[cmd].split()) if len(tmp) != 1: raise CmdInputError(cmd + ' requires exactly one parameter to specify the number of threads to use') @@ -163,7 +163,7 @@ def process_singlecmds(singlecmds, G): # Time step stability factor cmd = '#time_step_stability_factor' - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: tmp = tuple(float(x) for x in singlecmds[cmd].split()) if len(tmp) != 1: raise CmdInputError(cmd + ' requires exactly one parameter') @@ -198,7 +198,7 @@ def process_singlecmds(singlecmds, G): # PML cmd = '#pml_cells' - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: tmp = singlecmds[cmd].split() if len(tmp) != 1 and len(tmp) != 6: raise CmdInputError(cmd + ' requires either one or six parameters') @@ -217,7 +217,7 @@ def process_singlecmds(singlecmds, G): # src_steps cmd = '#src_steps' - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: tmp = singlecmds[cmd].split() if len(tmp) != 3: raise CmdInputError(cmd + ' requires exactly three parameters') @@ -229,7 +229,7 @@ def process_singlecmds(singlecmds, G): # rx_steps cmd = '#rx_steps' - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: tmp = singlecmds[cmd].split() if len(tmp) != 3: raise CmdInputError(cmd + ' requires exactly three parameters') @@ -241,7 +241,7 @@ def process_singlecmds(singlecmds, G): # Excitation file for user-defined source waveforms cmd = '#excitation_file' - if singlecmds[cmd] != 'None': + if singlecmds[cmd] is not None: tmp = singlecmds[cmd].split() if len(tmp) != 1: raise CmdInputError(cmd + ' requires exactly one parameter') diff --git a/tests/benchmarking/plot_benchmark.py b/tests/benchmarking/plot_benchmark.py index 775ad13b..d187ddb1 100644 --- a/tests/benchmarking/plot_benchmark.py +++ b/tests/benchmarking/plot_benchmark.py @@ -118,11 +118,11 @@ gs = gridspec.GridSpec(1, 3, hspace=0.5) # Subplot of CPU (OpenMP) threads vs time # ########################################### ax = plt.subplot(gs[0, 0]) -ax.plot(baseresult['cputhreads'], baseresult['cputimes'], color=next(colors), marker=markers[0], markeredgecolor='None', ms=8, lw=2, label=baseplotlabel) +ax.plot(baseresult['cputhreads'], baseresult['cputimes'], color=next(colors), marker=markers[0], markeredgecolor=None, ms=8, lw=2, label=baseplotlabel) if args.otherresults is not None: for i, result in enumerate(otherresults): - ax.plot(result['cputhreads'], result['cputimes'], color=next(colors), marker=markers[0], markeredgecolor='None', ms=8, lw=2, ls=next(lines), label=otherplotlabels[i]) + ax.plot(result['cputhreads'], result['cputimes'], color=next(colors), marker=markers[0], markeredgecolor=None, ms=8, lw=2, ls=next(lines), label=otherplotlabels[i]) ax.set_xlabel('Number of CPU (OpenMP) threads') ax.set_ylabel('Time [s]') @@ -139,11 +139,11 @@ ax.set_ylim(0, top=ax.get_ylim()[1] * 1.1) ###################################################### colors = itertools.cycle(colorIDs) # Reset color iterator ax = plt.subplot(gs[0, 1]) -ax.plot(baseresult['cputhreads'], baseresult['cputimes'][-1] / baseresult['cputimes'], color=next(colors), marker=markers[0], markeredgecolor='None', ms=8, lw=2, label=baseplotlabel) +ax.plot(baseresult['cputhreads'], baseresult['cputimes'][-1] / baseresult['cputimes'], color=next(colors), marker=markers[0], markeredgecolor=None, ms=8, lw=2, label=baseplotlabel) if args.otherresults is not None: for i, result in enumerate(otherresults): - ax.plot(result['cputhreads'], result['cputimes'][-1] / result['cputimes'], color=next(colors), marker=markers[0], markeredgecolor='None', ms=8, lw=2, ls=next(lines), label=otherplotlabels[i]) + ax.plot(result['cputhreads'], result['cputimes'][-1] / result['cputimes'], color=next(colors), marker=markers[0], markeredgecolor=None, ms=8, lw=2, ls=next(lines), label=otherplotlabels[i]) ax.set_xlabel('Number of CPU (OpenMP) threads') ax.set_ylabel('Speed-up factor') @@ -160,11 +160,11 @@ ax.set_ylim(bottom=1, top=ax.get_ylim()[1] * 1.1) ########################################### colors = itertools.cycle(colorIDs) # Reset color iterator ax = plt.subplot(gs[0, 2]) -ax.plot(cells, cpucellspersec / 1e6, color=next(colors), marker=markers[0], markeredgecolor='None', ms=8, lw=2, label=cpuID) +ax.plot(cells, cpucellspersec / 1e6, color=next(colors), marker=markers[0], markeredgecolor=None, ms=8, lw=2, label=cpuID) if gpuIDs: for i in range(gpucellspersec.shape[0]): - ax.plot(cells, gpucellspersec[i,:] / 1e6, color=next(colors), marker=markers[0], markeredgecolor='None', ms=8, lw=2, label='NVIDIA ' + gpuIDs[i]) + ax.plot(cells, gpucellspersec[i,:] / 1e6, color=next(colors), marker=markers[0], markeredgecolor=None, ms=8, lw=2, label='NVIDIA ' + gpuIDs[i]) ax.set_xlabel('Side length of cubic domain [cells]') ax.set_ylabel('Performance [Mcells/s]')