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)
示例#4
0
                             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"))
示例#6
0
    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