diff --git a/.travis.yml b/.travis.yml index 98fe1e25..a1f55d69 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,12 +8,14 @@ matrix: include: - os: linux python: "2.7" - - os: linux - python: "3.4" - os: linux python: "3.5" - os: linux python: "3.6" + - os: linux + python: "3.7" + - os: linux + python: "3.8" before_install: # Setup anaconda diff --git a/conda_recipe/meta.yaml b/conda_recipe/meta.yaml index e34a8cd9..2e6e2086 100644 --- a/conda_recipe/meta.yaml +++ b/conda_recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.9.0" %} +{% set version = "0.9.1" %} package: name: openpmd_viewer diff --git a/opmd_viewer/__version__.py b/opmd_viewer/__version__.py index 3e2f46a3..d69d16e9 100644 --- a/opmd_viewer/__version__.py +++ b/opmd_viewer/__version__.py @@ -1 +1 @@ -__version__ = "0.9.0" +__version__ = "0.9.1" diff --git a/opmd_viewer/addons/pic/lpa_diagnostics.py b/opmd_viewer/addons/pic/lpa_diagnostics.py index 3f3c4718..577ebfa1 100644 --- a/opmd_viewer/addons/pic/lpa_diagnostics.py +++ b/opmd_viewer/addons/pic/lpa_diagnostics.py @@ -411,19 +411,28 @@ def get_current( self, t=None, iteration=None, species=None, select=None, var_list=['z', 'uz', 'uy', 'ux', 'w', 'charge'], t=t, iteration=iteration, species=species, select=select ) - # Calculate Lorentz factor for all particles - gamma = np.sqrt(1 + ux ** 2 + uy ** 2 + uz ** 2) - # Calculate particle velocities - vz = uz / gamma * const.c # Length to be seperated in bins - len_z = np.max(z) - np.min(z) - vzq_sum, _ = np.histogram(z, bins=bins, weights=(vz * w * q)) - # Calculete the current in each bin - current = np.abs(vzq_sum * bins / (len_z * 1.e-6)) + + if w.size > 0: + min_z = np.min(z) + len_z = np.max(z) - min_z + # Calculate Lorentz factor for all particles + gamma = np.sqrt(1 + ux ** 2 + uy ** 2 + uz ** 2) + # Calculate particle velocities + vz = uz / gamma * const.c + # Length to be seperated in bins + len_z = np.max(z) - np.min(z) + vzq_sum, _ = np.histogram(z, bins=bins, weights=(vz * w * q)) + # Calculate the current in each bin + current = np.abs(vzq_sum * bins / (len_z * 1.e-6)) + else: + current = np.zeros(bins) + len_z = 0 + min_z = 0 # Info object with central position of the bins info = FieldMetaInformation( {0: 'z'}, current.shape, grid_spacing=(len_z / bins, ), grid_unitSI=1, - global_offset=(np.min(z) + len_z / bins / 2,), position=(0,)) + global_offset=(min_z + len_z / bins / 2,), position=(0,)) # Plot the result if needed if plot: check_matplotlib() diff --git a/opmd_viewer/openpmd_timeseries/data_reader/params_reader.py b/opmd_viewer/openpmd_timeseries/data_reader/params_reader.py index 3f94f884..e982fccb 100644 --- a/opmd_viewer/openpmd_timeseries/data_reader/params_reader.py +++ b/opmd_viewer/openpmd_timeseries/data_reader/params_reader.py @@ -45,8 +45,9 @@ def read_openPMD_params(filename, extract_parameters=True): bpath = f[get_bpath(f)] t = bpath.attrs["time"] * bpath.attrs["timeUnitSI"] - # If the user did not request more parameters, exit now. + # If the user did not request more parameters, close file and exit if not extract_parameters: + f.close() return(t, None) # Otherwise, extract the rest of the parameters @@ -123,7 +124,9 @@ def read_openPMD_params(filename, extract_parameters=True): if ('particlesPath' in f.attrs): # Check for openPMD 1.1 files particle_path = f.attrs['particlesPath'].decode().strip('/') if particle_path in bpath.keys(): # Check for openPMD 1.0 files - particles_available = True + # Check that there is at least one species + if len(bpath[particle_path].keys()) > 0: + particles_available = True if particles_available: # Particles are present ; extract the species params['avail_species'] = [] diff --git a/opmd_viewer/openpmd_timeseries/main.py b/opmd_viewer/openpmd_timeseries/main.py index ac39f5ab..ea0e0072 100644 --- a/opmd_viewer/openpmd_timeseries/main.py +++ b/opmd_viewer/openpmd_timeseries/main.py @@ -298,6 +298,7 @@ def get_particle(self, var_list=None, species=None, t=None, iteration=None, hist_range = [[None, None], [None, None]] for i_data in range(len(data_list)): data = data_list[i_data] + # Check if the user specified a value if (plot_range[i_data][0] is not None) and \ (plot_range[i_data][1] is not None): @@ -307,6 +308,15 @@ def get_particle(self, var_list=None, species=None, t=None, iteration=None, hist_range[i_data] = [ data.min(), data.max() ] else: hist_range[i_data] = [ -1., 1. ] + + # Avoid error when the min and max are equal + if hist_range[i_data][0] == hist_range[i_data][1]: + if hist_range[i_data][0] == 0: + hist_range[i_data] = [ -1., 1. ] + else: + hist_range[i_data][0] *= 0.99 + hist_range[i_data][1] *= 1.01 + hist_bins = [ nbins for i_data in range(len(data_list)) ] # - Then, if required by the user, modify this values by # fitting them to the spatial grid diff --git a/tutorials/5_Laser-plasma_tools.ipynb b/tutorials/5_Laser-plasma_tools.ipynb index 5bd37d44..2c3d50ba 100644 --- a/tutorials/5_Laser-plasma_tools.ipynb +++ b/tutorials/5_Laser-plasma_tools.ipynb @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -83,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -99,70 +99,11 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": false }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f12d46cae59e449dbd8380b8008bd803", - "version_major": 2, - "version_minor": 0 - }, - "text/html": [ - "

Failed to display Jupyter Widget of type HBox.

\n", - "

\n", - " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", - " that the widgets JavaScript is still loading. If this message persists, it\n", - " likely means that the widgets JavaScript library is either not installed or\n", - " not enabled. See the Jupyter\n", - " Widgets Documentation for setup instructions.\n", - "

\n", - "

\n", - " If you're reading this message in another frontend (for example, a static\n", - " rendering on GitHub or NBViewer),\n", - " it may mean that your frontend doesn't currently support widgets.\n", - "

\n" - ], - "text/plain": [ - "HBox(children=(Button(description='-', layout=Layout(width='40px'), style=ButtonStyle()), Button(description='+', layout=Layout(width='40px'), style=ButtonStyle()), IntSlider(value=255, description='iteration', layout=Layout(width='500px'), max=407, min=255, step=7)))" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "372359273c9f47258b1bc0a8328bd267", - "version_major": 2, - "version_minor": 0 - }, - "text/html": [ - "

Failed to display Jupyter Widget of type HBox.

\n", - "

\n", - " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", - " that the widgets JavaScript is still loading. If this message persists, it\n", - " likely means that the widgets JavaScript library is either not installed or\n", - " not enabled. See the Jupyter\n", - " Widgets Documentation for setup instructions.\n", - "

\n", - "

\n", - " If you're reading this message in another frontend (for example, a static\n", - " rendering on GitHub or NBViewer),\n", - " it may mean that your frontend doesn't currently support widgets.\n", - "

\n" - ], - "text/plain": [ - "HBox(children=(VBox(children=(Accordion(children=(VBox(children=(ToggleButtons(description='Field:', options=('E', 'rho'), style=ToggleButtonsStyle(button_width='initial'), value='E'), ToggleButtons(description='Coord:', options=('x', 'y', 'z'), style=ToggleButtonsStyle(button_width='initial'), value='x')), layout=Layout(width='330px')), VBox(children=(HBox(children=(HTML(value='Figure:', layout=Layout(width='50px')), IntText(value=0, layout=Layout(width='50px')))), VBox(children=(HBox(children=(HTML(value='Colorbar:'), Select(index=164, layout=Layout(width='200px'), options=('Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens', 'Greens_r', 'Greys', 'Greys_r', 'OrRd', 'OrRd_r', 'Oranges', 'Oranges_r', 'PRGn', 'PRGn_r', 'Paired', 'Paired_r', 'Pastel1', 'Pastel1_r', 'Pastel2', 'Pastel2_r', 'PiYG', 'PiYG_r', 'PuBu', 'PuBuGn', 'PuBuGn_r', 'PuBu_r', 'PuOr', 'PuOr_r', 'PuRd', 'PuRd_r', 'Purples', 'Purples_r', 'RdBu', 'RdBu_r', 'RdGy', 'RdGy_r', 'RdPu', 'RdPu_r', 'RdYlBu', 'RdYlBu_r', 'RdYlGn', 'RdYlGn_r', 'Reds', 'Reds_r', 'Set1', 'Set1_r', 'Set2', 'Set2_r', 'Set3', 'Set3_r', 'Spectral', 'Spectral_r', 'Vega10', 'Vega10_r', 'Vega20', 'Vega20_r', 'Vega20b', 'Vega20b_r', 'Vega20c', 'Vega20c_r', 'Wistia', 'Wistia_r', 'YlGn', 'YlGnBu', 'YlGnBu_r', 'YlGn_r', 'YlOrBr', 'YlOrBr_r', 'YlOrRd', 'YlOrRd_r', 'afmhot', 'afmhot_r', 'autumn', 'autumn_r', 'binary', 'binary_r', 'bone', 'bone_r', 'brg', 'brg_r', 'bwr', 'bwr_r', 'cool', 'cool_r', 'coolwarm', 'coolwarm_r', 'copper', 'copper_r', 'cubehelix', 'cubehelix_r', 'flag', 'flag_r', 'gist_earth', 'gist_earth_r', 'gist_gray', 'gist_gray_r', 'gist_heat', 'gist_heat_r', 'gist_ncar', 'gist_ncar_r', 'gist_rainbow', 'gist_rainbow_r', 'gist_stern', 'gist_stern_r', 'gist_yarg', 'gist_yarg_r', 'gnuplot', 'gnuplot2', 'gnuplot2_r', 'gnuplot_r', 'gray', 'gray_r', 'hot', 'hot_r', 'hsv', 'hsv_r', 'inferno', 'inferno_r', 'jet', 'jet_r', 'magma', 'magma_r', 'nipy_spectral', 'nipy_spectral_r', 'ocean', 'ocean_r', 'pink', 'pink_r', 'plasma', 'plasma_r', 'prism', 'prism_r', 'rainbow', 'rainbow_r', 'seismic', 'seismic_r', 'spectral', 'spectral_r', 'spring', 'spring_r', 'summer', 'summer_r', 'tab10', 'tab10_r', 'tab20', 'tab20_r', 'tab20b', 'tab20b_r', 'tab20c', 'tab20c_r', 'terrain', 'terrain_r', 'viridis', 'viridis_r', 'winter', 'winter_r'), value='viridis'))), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-5.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=5.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='x 10^', layout=Layout(width='45px')), FloatText(value=9.0, layout=Layout(width='45px'))))))), layout=Layout(width='310px')), VBox(children=(HTML(value='Vertical axis:'), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-10.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=10.0, layout=Layout(width='60px'))))), layout=Layout(width='310px')))), VBox(children=(HTML(value='Horizontal axis:'), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-10.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=10.0, layout=Layout(width='60px'))))), layout=Layout(width='310px'))))), layout=Layout(width='330px'))), _titles={'0': 'Field type', '1': 'Plotting options'}), HBox(children=(ToggleButton(value=True, description='Always refresh'), Button(description='Refresh now!', style=ButtonStyle())))), layout=Layout(width='370px')), VBox(children=(Accordion(children=(VBox(children=(Dropdown(layout=Layout(width='250px'), options=('Hydrogen1+', 'electrons'), value='Hydrogen1+'), ToggleButtons(options=('x', 'y', 'z', 'ux', 'uy', 'uz', 'w'), style=ToggleButtonsStyle(button_width='initial'), value='x'), ToggleButtons(index=7, options=('x', 'y', 'z', 'ux', 'uy', 'uz', 'w', 'None'), style=ToggleButtonsStyle(button_width='initial'), value='None')), layout=Layout(width='310px')), VBox(children=(HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), Dropdown(description='Select ', options=('x', 'y', 'z', 'ux', 'uy', 'uz', 'w'), value='x'))), HBox(children=(HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-0.1, layout=Layout(width='90px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=0.1, layout=Layout(width='90px')))))), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), Dropdown(description='Select ', options=('x', 'y', 'z', 'ux', 'uy', 'uz', 'w'), value='x'))), HBox(children=(HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-0.1, layout=Layout(width='90px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=0.1, layout=Layout(width='90px')))))), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), Dropdown(description='Select ', options=('x', 'y', 'z', 'ux', 'uy', 'uz', 'w'), value='x'))), HBox(children=(HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-0.1, layout=Layout(width='90px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=0.1, layout=Layout(width='90px'))))))), layout=Layout(width='310px')), VBox(children=(HBox(children=(HBox(children=(HTML(value='Figure:', layout=Layout(width='50px')), IntText(value=1, layout=Layout(width='50px')))), HBox(children=(HTML(value='Bins:', layout=Layout(width='50px')), IntText(value=100, layout=Layout(width='60px')))))), VBox(children=(HBox(children=(HTML(value='Colorbar:'), Select(index=2, layout=Layout(width='200px'), options=('Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens', 'Greens_r', 'Greys', 'Greys_r', 'OrRd', 'OrRd_r', 'Oranges', 'Oranges_r', 'PRGn', 'PRGn_r', 'Paired', 'Paired_r', 'Pastel1', 'Pastel1_r', 'Pastel2', 'Pastel2_r', 'PiYG', 'PiYG_r', 'PuBu', 'PuBuGn', 'PuBuGn_r', 'PuBu_r', 'PuOr', 'PuOr_r', 'PuRd', 'PuRd_r', 'Purples', 'Purples_r', 'RdBu', 'RdBu_r', 'RdGy', 'RdGy_r', 'RdPu', 'RdPu_r', 'RdYlBu', 'RdYlBu_r', 'RdYlGn', 'RdYlGn_r', 'Reds', 'Reds_r', 'Set1', 'Set1_r', 'Set2', 'Set2_r', 'Set3', 'Set3_r', 'Spectral', 'Spectral_r', 'Vega10', 'Vega10_r', 'Vega20', 'Vega20_r', 'Vega20b', 'Vega20b_r', 'Vega20c', 'Vega20c_r', 'Wistia', 'Wistia_r', 'YlGn', 'YlGnBu', 'YlGnBu_r', 'YlGn_r', 'YlOrBr', 'YlOrBr_r', 'YlOrRd', 'YlOrRd_r', 'afmhot', 'afmhot_r', 'autumn', 'autumn_r', 'binary', 'binary_r', 'bone', 'bone_r', 'brg', 'brg_r', 'bwr', 'bwr_r', 'cool', 'cool_r', 'coolwarm', 'coolwarm_r', 'copper', 'copper_r', 'cubehelix', 'cubehelix_r', 'flag', 'flag_r', 'gist_earth', 'gist_earth_r', 'gist_gray', 'gist_gray_r', 'gist_heat', 'gist_heat_r', 'gist_ncar', 'gist_ncar_r', 'gist_rainbow', 'gist_rainbow_r', 'gist_stern', 'gist_stern_r', 'gist_yarg', 'gist_yarg_r', 'gnuplot', 'gnuplot2', 'gnuplot2_r', 'gnuplot_r', 'gray', 'gray_r', 'hot', 'hot_r', 'hsv', 'hsv_r', 'inferno', 'inferno_r', 'jet', 'jet_r', 'magma', 'magma_r', 'nipy_spectral', 'nipy_spectral_r', 'ocean', 'ocean_r', 'pink', 'pink_r', 'plasma', 'plasma_r', 'prism', 'prism_r', 'rainbow', 'rainbow_r', 'seismic', 'seismic_r', 'spectral', 'spectral_r', 'spring', 'spring_r', 'summer', 'summer_r', 'tab10', 'tab10_r', 'tab20', 'tab20_r', 'tab20b', 'tab20b_r', 'tab20c', 'tab20c_r', 'terrain', 'terrain_r', 'viridis', 'viridis_r', 'winter', 'winter_r'), value='Blues'))), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-5.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=5.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='x 10^', layout=Layout(width='45px')), FloatText(value=9.0, layout=Layout(width='45px'))))))), layout=Layout(width='310px')), VBox(children=(HTML(value='Vertical axis:'), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-10.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=10.0, layout=Layout(width='60px'))))), layout=Layout(width='310px')))), VBox(children=(HTML(value='Horizontal axis:'), HBox(children=(Checkbox(value=False, indent=False, layout=Layout(width='20px')), HBox(children=(HTML(value='from', layout=Layout(width='30px')), FloatText(value=-10.0, layout=Layout(width='60px')))), HBox(children=(HTML(value='to', layout=Layout(width='20px')), FloatText(value=10.0, layout=Layout(width='60px'))))), layout=Layout(width='310px')))), ToggleButton(value=True, description=' Use field mesh')), layout=Layout(width='310px'))), _titles={'0': 'Particle quantities', '1': 'Particle selection', '2': 'Plotting options'}), HBox(children=(ToggleButton(value=True, description='Always refresh'), Button(description='Refresh now!', style=ButtonStyle())))), layout=Layout(width='370px'))))" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "ts_2d.slider()" ] @@ -203,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -220,20 +161,9 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(1.0665548693800455, 0.10151101005407513)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_mean_gamma(iteration=300, species='electrons', select={'uz' : [0.05, None]})" ] @@ -248,20 +178,9 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "-0.0023057475697829941" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_charge(iteration=300, species='electrons')" ] @@ -276,20 +195,9 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(1.3080546184771431, 1.5751303670998404)" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_divergence(iteration=300, species='electrons')" ] @@ -305,20 +213,9 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(1.1078612528297555e-07, 1.6065235739504965e-09)" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_emittance(iteration=300, species='electrons')" ] @@ -333,20 +230,9 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_current(iteration=300, species='electrons', plot=True);" ] @@ -370,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -387,20 +273,9 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_spectrum(iteration=300, pol='y', plot=True);" ] @@ -422,20 +297,9 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_spectrogram(iteration=300, pol='y', plot=True, cmap='YlGnBu_r');" ] @@ -450,20 +314,9 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2354564459136067.0" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_main_frequency(iteration=300, pol='y')" ] @@ -478,20 +331,9 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1.0542688340645183" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_a0(iteration=300, pol='y')" ] @@ -507,28 +349,9 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/rlehe/miniconda3/lib/python3.6/site-packages/scipy/optimize/minpack.py:785: OptimizeWarning: Covariance of the parameters could not be estimated\n", - " category=OptimizeWarning)\n" - ] - }, - { - "data": { - "text/plain": [ - "4.1474107457732672e-06" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_laser_waist(iteration=300, pol='y')" ] @@ -543,20 +366,9 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2.9493466667473121e-06" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "ts_2d.get_ctau(iteration=300, pol='y')" ] @@ -579,7 +391,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.7.4" }, "widgets": { "state": {