Add Olivier and Cedric files for FFT

This commit is contained in:
Noe Brucy
2019-12-10 17:05:31 +01:00
parent 8e5813f6e2
commit 76bd1b48f9
2 changed files with 1171 additions and 0 deletions
+333
View File
@@ -0,0 +1,333 @@
import tables as T
import numpy as np
import matplotlib.pyplot as P
################################################################
# 3D
################################################################
def pspec_rho(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/rho")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 2) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^2 \mathcal{P}(\rho)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_rho_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_rho_" + format(num, "05") + ".jpeg")
def pspec_B(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/B")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k ** 2 * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^2 \mathcal{P}(B)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_B_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_B_" + format(num, "05") + ".jpeg")
def pspec_v(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/v")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k ** 4 * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^4 \mathcal{P}(v)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_v_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_v_" + format(num, "05") + ".jpeg")
def pspec_cos(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/cos_vB")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k ** 2 * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^2 \mathcal{P}(\cos(\vec{v}.\vec{B}))$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_cos_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_cos_" + format(num, "05") + ".jpeg")
def pspec_logrho(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/logrho")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k ** 2 * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^2 \mathcal{P}(\log(\rho))$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_logrho_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_logrho_" + format(num, "05") + ".jpeg")
def pspec_kr(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/kr")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 4) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^4 \mathcal{P}(\rho^{1/3}v)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_kr_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_kr_" + format(num, "05") + ".jpeg")
def pspec_vc(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/vc")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 4) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^4 \mathcal{P}(v_c)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_vc_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_vc_" + format(num, "05") + ".jpeg")
def pspec_vs(file, path_out, num, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d3/vs")
kbins = h5f.get_node(group, "kbins").read()
pspec = h5f.get_node(group, "pspec").read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 4) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^4 \mathcal{P}(v_s)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_vs_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_vs_" + format(num, "05") + ".jpeg")
###################################################################
# 2D
###################################################################
def pspec_rho_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/rho")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 1) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k \mathcal{P}(\rho)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_rho_2D_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_rho_2D_" + format(num, "05") + ".jpeg")
def pspec_B_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/B")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k ** 1 * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k \mathcal{P}(B)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_B_2D_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_B_2D_" + format(num, "05") + ".jpeg")
def pspec_v_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/v")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k ** 3 * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^3 \mathcal{P}(v)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_v_2D_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_v_2D_" + format(num, "05") + ".jpeg")
def pspec_cos_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/cos_vB")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k \mathcal{P}(\cos(\vec{v}.\vec{B}))$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_cos_2D_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_cos_2D_" + format(num, "05") + ".jpeg")
def pspec_logrho_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/logrho")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = k * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k \mathcal{P}(\log(\rho))$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_logrho_2D_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_logrho_2D_" + format(num, "05") + ".jpeg")
def pspec_kr_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/kr")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 3) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^3 \mathcal{P}(\rho^{1/3}v)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_kr_2D_" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_kr_2D_" + format(num, "05") + ".jpeg")
def pspec_vc_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/vc")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 3) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^3 \mathcal{P}(v_c)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_vc_2D" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_vc_2D" + format(num, "05") + ".jpeg")
def pspec_vs_2D(file, path_out, num, plan, color="r", save=False):
h5f = T.open_file(file, mode="r")
group = h5f.get_node("/out_" + format(num, "05") + "/d2/vs")
kbins = h5f.get_node(group, "kbins_" + str(plan)).read()
pspec = h5f.get_node(group, "pspec_" + str(plan)).read()
h5f.close()
k = np.sqrt(kbins[1:] * kbins[:-1])
pspec = (k ** 3) * pspec
if save:
P.figure(figsize=(8, 8))
P.xlabel(r"$k$", fontsize=12)
P.ylabel(r"$k^3 \mathcal{P}(v_s)$", fontsize=12)
P.loglog(k, pspec, "-", color=color)
if save:
P.savefig(path_out + "pspec_vs_2D" + format(num, "05") + ".ps")
P.savefig(path_out + "pspec_vs_2D" + format(num, "05") + ".jpeg")