vs = [nh, tem, L, dt] for i in range(3): vs[i] = cfd.safe_log10(vs[i]) vsminmax = [[-0.87, 6.89], [None, None], [None, None], [0, 20]] ### Plotting plotter = TorchPlotter(cfd, plot_size=5, figformat=fformat, dpi=300) ### Interpolation set up. vsi = [] for i in range(4): vsi.append(cfd.interpolate(vs[i], 'nearest')) vsminmax[i][0] = (vs[i].min() if vsminmax[i][0] == None else vsminmax[i][0]) vsminmax[i][1] = (vsi[i].max() if vsminmax[i][1] == None else vsminmax[i][1]) ### Image. vs_types = ['nH', 'energy', 'lambda', 'dtcool'] grid = plotter.twobytwo(vs_types, vsi, vsminmax, hgspy.get_green_map(), detail="all") for i in range(4): for axis in ['top','bottom','left','right']: grid[i].spines[axis].set_linewidth(0.5) grid.cbar_axes[i].spines[axis].set_linewidth(0.5) grid.cbar_axes[0].set_xlabel(r"$\mathregular{log_{10}(n_H}$ / $\mathregular{cm^{-3})}$") grid.cbar_axes[1].set_xlabel(r"$\mathregular{log_{10}(E}$ / $\mathregular{ergs.cm^{-3})}$") grid.cbar_axes[2].set_xlabel(r"$\mathregular{log_{10}(\Lambda}$ / $\mathregular{ergs.s^{-1}.cm^{3})}$") grid.cbar_axes[3].set_xlabel(r"$\mathregular{dt}$ / $\mathregular{yrs}$")
args = parser.parse_args() input_dir = args.input_dir if not input_dir.endswith('/'): input_dir += '/' input_regex = input_dir + '*.txt' time = [] radius = [] for inputfile in glob.iglob(input_regex): ### Data set up. torchData = TorchCFD(inputfile, axial=True) den = torchData.get_var('den') deni = torchData.interpolate(den, 'nearest') ### Find bubble radius. index = 0 max_den = 0 for i in range(11, torchData.nx): if deni[i,0] > max_den: index = i max_den = deni[i,0] time.append(t) radius.append(torchData.xi[0, index]) zipped = zip(time, radius) zipped.sort() time, radius = zip(*zipped)