tmin=tmin, run_nb=run_nb, key_var=("uy", "ux"), cache=test_mode, ax_inset=ax_inset, n_colors=len(df), ) if test_mode: break # fig12_atm(fig, ax_b) if __name__ == "__main__": matplotlib_rc(fontsize=fontsize) path_fig = exit_if_figure_exists(__file__) set_figsize(5, 4) fig, ax = pl.subplots(2, 2, sharey=False, sharex=False) df_w = load_df("df_w") df_3840 = df_w[df_w["$n$"] == 3840] df_7680 = df_w[df_w["$n$"] == 7680] ax_inset3 = None # _ax_inset(fig, '$r/L_f$', 0.325, 0.362) ax_inset7 = None # _ax_inset(fig, '$r:/L_f$', 0.775, 0.362) sns.set_palette("cubehelix", 5) plot_df(df_3840, fig, ax[:, 0], ax_inset3) sns.set_palette("cubehelix", 3) plot_df(df_7680, fig, ax[:, 1], ax_inset7) for ax1 in ax[1, :]:
paths_sim[short_name], fig, ax, Fr, c, t_start=tmin, run_nb=run_nb, n_colors=len(df), ) if __name__ == "__main__": sns.set_palette("cubehelix", 3) matplotlib_rc(11) path_fig = exit_if_figure_exists(__file__) set_figsize(7, 3) fig, ax = pl.subplots(1, 2, sharex=True, sharey=True) df_w = load_df("df_w") df_3840 = df_w[df_w["$n$"] == 3840] df_7680 = df_w[df_w["$n$"] == 7680] sns.set_palette("cubehelix", 5) plot_df(df_3840, fig, ax[0]) sns.set_palette("cubehelix", 3) plot_df(df_7680, fig, ax[1]) for ax1 in ax: ax1.set_ylim(1e-2, 1e2) ax1.set_xlim(2e-1, 5e2)
#!/usr/bin/env python import pylab as pl import fluidsim as fls import os import h5py from base import _index_where, _k_f, _eps, set_figsize from paths import paths_sim, path_pyfig, exit_if_figure_exists def figX_(path, fig=None, ax=None, t_start=10): pass if __name__ == "__main__": path_fig = exit_if_figure_exists(__file__) set_figsize(10, 6) fig, ax = pl.subplots() figX_seb(paths_sim["noise_c100nh3840Buinf"], fig, ax, t_start=20) pl.savefig(path_fig)
Y, field, norm=norm, vmin=vmin, vmax=vmax, cmap=cmap, zorder=0) cbar = fig.colorbar(contours, ax=ax) cbar.solids.set_rasterized(True) if __name__ == "__main__": matplotlib_rc(fontsize=10) path_fig = exit_if_figure_exists(__file__) set_figsize(6.65, 5.8) fig, axes = plt.subplots(2, 2) short_names = ["noise_c20nh1920Buinf", "noise_c400nh1920Buinf"] sim0 = fls.load_state_phys_file(paths_sim[short_names[0]], merge_missing_params=True) sim1 = sim0 sim1 = fls.load_state_phys_file(paths_sim[short_names[1]], merge_missing_params=True) keys = ["div", "uy", "div", "uy"] for ax, sim, key_field in zip(axes.ravel(), [sim0, sim0, sim1, sim1], keys): fig_phys_subplot(sim, fig, ax, key_field, x_slice=[0, 3],
ax.set_xlim([0.0, None]) ax.set_ylim([0.0, None]) if normalized: ax.set_xlabel("$t (\epsilon/L_f^2)^{1/3}$") # ax.set_ylabel("$E/E_f$") ax.set_ylabel("$E/(\epsilon L_f)^{2/3}$") # ax.grid(True, axis='y', linestyle=':') else: ax.set_xlabel("$t$") ax.set_ylabel("$E$") def get_legend_and_paths(c_list, nh_list): keys = [] legend = [] for c in c_list: for nh in nh_list: keys.append("c{}nh{}".format(c, nh)) legend.append("c={}, n={}".format(c, nh)) return legend, [paths_sim["noise_" + k + "Buinf"] for k in keys] if __name__ == "__main__": matplotlib_rc(fontsize) path_fig = exit_if_figure_exists(__file__, override_exit=False) set_figsize(5.12, 3.0) fig1_plot_all(paths_sim) pl.savefig(path_fig) pl.savefig(path_fig.replace(".png", ".pdf"))
PiEKd = cumsum_inv(transferEKd) * sim.oper.deltak PiEAr = cumsum_inv(transferEAr) * sim.oper.deltak PiEAd = cumsum_inv(transferEAd) * sim.oper.deltak # PiEPd = cumsum_inv(transferEPd) * sim.oper.deltak print(eps) ax.axhline(1.0, color="k", ls=":") PiEK = PiEKr + PiEKd PiEA = PiEAr + PiEAd PiE = PiEK + PiEA ax.set_xlabel("$k/k_f$") ax.set_ylabel(r"$\Pi(k)/\epsilon$") ax.set_xscale("log") ax.set_yscale("linear") ax.plot(khE, PiE, "k", linewidth=2, label=r"$\Pi$") ax.plot(khE, PiEK, "r:", linewidth=2, label=r"$\Pi_K$") ax.plot(khE, PiEA, "b--", linewidth=2, label=r"$\Pi_A$") ax.set_ylim([-0.1, 1.1]) ax.legend() if __name__ == "__main__": matplotlib_rc() path_fig = exit_if_figure_exists(__file__) set_figsize(5, 3) fig, ax = pl.subplots() fig2_seb(paths_sim["noise_c100nh3840Buinf"], fig, ax) # , t_start=20) pl.savefig(path_fig)
def plot_energy( df_main, fig=None, ax=None, N=[960, 1920, 3840, 7680], C=[10, 20, 40, 100, 400, 700], ): if fig is None and ax is None: set_figsize(6.5, 3) fig, ax = plt.subplots(1, 2) df_n = {} for n in N: df_n[n] = filter_df_by(df_main, ["$n$"], n) E_eps = "$E/\sqrt{\epsilon}$" mark = markers() for n, df in df_n.items(): df = df.assign(**{E_eps: df["$E$"] / df["$\epsilon$"]**0.5}) c_eps = df["$c$"] * df["$\epsilon$"] Cn = get_cn(c_eps, df["$E$"]) E_fit = model_func(c_eps.values, Cn) / df["$\epsilon$"].values**0.5 print("n =", n, "Cn =", Cn) # ax[0].plot( ax[0].loglog(df["$c$"].values, E_fit, ":", linewidth=1) ax[0].scatter( "$c$", E_eps, marker=next(mark), data=df, label="$n={}$".format(n), # logx=True, logy=True, ) ax[0].set_ylabel(E_eps) ax[0].set_xlabel("$c$") # ax[0].set_xticks(C) # Subplot on right : Energy vs n df_c = {} for c in C: df_c[c] = filter_df_by(df_main, ["$c$"], c) E_eLc = "$E/\sqrt{\epsilon L_f c}$" mark = markers() for c, df in df_c.items(): df = df.assign( **{E_eLc: df["$E$"] / (df["$\epsilon$"] * L_f * df["$c$"])**0.5}) n = df["$n$"] # alpha = get_alpha(n, df['$E$']) # E_fit = model_func2(n, alpha) / (df['$\epsilon$'] * L_f * df['$c$']) ** 0.5 alpha = get_alpha(n, df[E_eLc]) print("c =", c, "alpha =", alpha) E_fit = model_func2(n, *alpha) ax[1].scatter( "$n$", E_eLc, data=df, marker=next(mark), label=r"$c={}; \alpha={:.2f}$".format(c, alpha[1]), # logx=True, logy=True ) ax[1].loglog(n, E_fit, ":", label="", linewidth=1) # print('c =', c) # print(df[E_eLc]) ax[1].set_ylabel(E_eLc) ax[1].set_xlabel("$n$") ax[1].set_xlim([None, 1e4]) # ax[1].set_xticks(N) for a in ax.ravel(): a.legend(fontsize=7) fig.tight_layout() return fig, ax