Source code for nucleardatapy.fig.matter_setupMicro_LP_fig

import numpy as np
import matplotlib.pyplot as plt

import nucleardatapy as nuda

[docs] def matter_setupMicro_LP_fig( pname, models, matter="SM", ell=0 ): """ Plot nucleonic energy per particle E/A in matter. The plot is 2x2 in SM with: [0,0]: F_ell versus den. [0,1]: G_ell versus den. [1,0]: F'_ell' versus den. [1,1]: G'_ell versus den. Or the plot is 2x1 in NM with: [0]: F_ell versus den. [1]: G_ell versus den. :param pname: name of the figure (*.png) :type pname: str. :param models: models to run on. :type models: array of str. :param matter: can be 'SM' (default) or 'NM'. :type matter: str. :param ell: Value of the angular momentum L of the Landau residual parameter. Can be 0 (default) or 1. :type ell: int. """ # print(f"Plot name: {pname}") # if matter.lower() == "sm": fig, axs = plt.subplots(2, 2) fig.subplots_adjust( left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.05 ) elif matter.lower() == "nm": fig, axs = plt.subplots(1, 2) fig.subplots_adjust( left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.05 ) else: print("matter_setupMicro_LP_fig: issue with matter:", matter) print("matter_setupMicro_LP_fig: --- exit() ---") exit() # # if matter.lower() == "sm": axs[0, 0].set_xlim([0, 2.0]) axs[0, 0].set_ylim([-2.1, 1.6]) if ell == 0: axs[0, 0].set_ylabel(r"$F_0$", fontsize='14') if ell == 1: axs[0, 0].set_ylabel(r"$F_1$", fontsize='14') axs[0, 0].tick_params("x", labelbottom=False) if ell == 0: axs[0, 1].set_ylabel(r"$G_0$", fontsize='14') if ell == 1: axs[0, 1].set_ylabel(r"$G_1$", fontsize='14') axs[0, 1].set_xlim([0, 2.0]) axs[0, 1].set_ylim([-2.1, 1.6]) axs[0, 1].tick_params("x", labelbottom=False) axs[0, 1].tick_params("y", labelleft=False) if ell == 0: axs[1, 0].set_ylabel(r"$F_0^\prime$", fontsize='14') if ell == 1: axs[1, 0].set_ylabel(r"$F_1^\prime$", fontsize='14') axs[1, 0].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14') axs[1, 0].set_xlim([0, 2.0]) axs[1, 0].set_ylim([-1.1, 2.6]) if ell == 0: axs[1, 1].set_ylabel(r"$G_0^\prime$", fontsize='14') if ell == 1: axs[1, 1].set_ylabel(r"$G_1^\prime$", fontsize='14') axs[1, 1].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14') axs[1, 1].set_xlim([0, 2.0]) axs[1, 1].set_ylim([-1.1, 2.6]) axs[1, 1].tick_params("y", labelleft=False) elif matter.lower() == "nm": if ell == 0: axs[0].set_ylabel(r"$F_0$", fontsize='14') if ell == 1: axs[0].set_ylabel(r"$F_1$", fontsize='14') axs[0].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14') axs[0].set_xlim([0, 2.0]) axs[0].set_ylim([-1.1, 1.1]) if ell == 0: axs[1].set_ylabel(r"$G_0$", fontsize='14') if ell == 1: axs[1].set_ylabel(r"$G_1$", fontsize='14') axs[1].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14') axs[1].set_xlim([0, 2.0]) axs[1].set_ylim([-1.1, 1.1]) axs[1].tick_params("y", labelleft=False) # for model in models: # mic = nuda.matter.setupMicroLP(model=model) # if matter in model: print("\nmodel:", model, "\n") if mic.err: if matter.lower() == "sm" and mic.sm_LP["F"][ell] is not None: axs[0, 0].errorbar( mic.sm_kfn, mic.sm_LP["F"][ell], yerr=mic.sm_LP_F_err[ell], marker=mic.marker, linestyle="none", label=mic.label, ) axs[0, 1].errorbar( mic.sm_kfn, mic.sm_LP["G"][ell], yerr=mic.sm_LP_G_err[ell], marker=mic.marker, linestyle="none", label=mic.label, ) axs[1, 0].errorbar( mic.sm_kfn, mic.sm_LP["Fp"][ell], yerr=mic.sm_LP_Fp_err[ell], marker=mic.marker, linestyle="none", label=mic.label, ) axs[1, 1].errorbar( mic.sm_kfn, mic.sm_LP["Gp"][ell], yerr=mic.sm_LP_Gp_err[ell], marker=mic.marker, linestyle="none", label=mic.label, ) elif matter.lower() == "nm" and mic.nm_LP["F"][ell] is not None: axs[0].errorbar( mic.nm_kfn, mic.nm_LP["F"][ell], marker=mic.marker, linestyle="none", label=mic.label, ) axs[1].errorbar( mic.nm_kfn, mic.nm_LP["G"][ell], marker=mic.marker, linestyle="none", label=mic.label, ) else: if matter.lower() == "sm" and mic.sm_LP["F"][ell] is not None: axs[0, 0].plot( mic.sm_kfn, mic.sm_LP["F"][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label, ) axs[0, 1].plot( mic.sm_kfn, mic.sm_LP["G"][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label, ) axs[1, 0].plot( mic.sm_kfn, mic.sm_LP["Fp"][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label, ) axs[1, 1].plot( mic.sm_kfn, mic.sm_LP["Gp"][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label, ) elif matter.lower() == "nm" and mic.nm_LP["F"][ell] is not None: axs[0].plot( mic.nm_kfn, mic.nm_LP["F"][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label, ) axs[1].plot( mic.nm_kfn, mic.nm_LP["G"][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label, ) # if nuda.env.verb_output: mic.print_outputs() # # if matter.lower() == "sm": axs[1, 0].legend(loc="upper left", fontsize="6", ncol=2) elif matter.lower() == "nm": axs[0].legend(loc="upper left", fontsize="8", ncol=1) # if pname is not None: plt.savefig(pname, dpi=300) plt.close()
#