|
@@ -1,12 +1,10 @@
|
|
import numpy as np
|
|
import numpy as np
|
|
|
|
+from matplotlib import gridspec
|
|
from matplotlib.lines import Line2D
|
|
from matplotlib.lines import Line2D
|
|
-
|
|
|
|
from charged_shells.rotational_path import PairRotationalPath, PathEnergyPlot
|
|
from charged_shells.rotational_path import PairRotationalPath, PathEnergyPlot
|
|
-from charged_shells import expansion
|
|
|
|
|
|
+from charged_shells import charge_distributions
|
|
from charged_shells.parameters import ModelParams
|
|
from charged_shells.parameters import ModelParams
|
|
-from pathlib import Path
|
|
|
|
-import json
|
|
|
|
-import quadrupole_model_mappings
|
|
|
|
|
|
+from config import *
|
|
from plot_settings import *
|
|
from plot_settings import *
|
|
|
|
|
|
Array = np.ndarray
|
|
Array = np.ndarray
|
|
@@ -19,7 +17,7 @@ QuadPath.set_default_x_axis(zero_to_pi_half)
|
|
QuadPath.add_euler(beta1=np.pi/2, beta2=zero_to_pi_half, start_name="EP", end_name="EE")
|
|
QuadPath.add_euler(beta1=np.pi/2, beta2=zero_to_pi_half, start_name="EP", end_name="EE")
|
|
QuadPath.add_euler(beta1=zero_to_pi_half[::-1], beta2=zero_to_pi_half[::-1], end_name="PP")
|
|
QuadPath.add_euler(beta1=zero_to_pi_half[::-1], beta2=zero_to_pi_half[::-1], end_name="PP")
|
|
QuadPath.add_euler(beta1=zero_to_pi_half, end_name="EP")
|
|
QuadPath.add_euler(beta1=zero_to_pi_half, end_name="EP")
|
|
-QuadPath.add_euler(beta1=zero_to_pi_half[::-1], beta2=zero_to_pi_half, end_name="EP")
|
|
|
|
|
|
+QuadPath.add_euler(beta1=pi_half_to_pi, beta2=zero_to_pi_half, end_name="EP")
|
|
QuadPath.add_euler(beta1=np.pi/2, beta2=zero_to_pi_half, alpha2=np.pi/2, end_name="tEE")
|
|
QuadPath.add_euler(beta1=np.pi/2, beta2=zero_to_pi_half, alpha2=np.pi/2, end_name="tEE")
|
|
QuadPath.add_euler(beta1=np.pi/2, beta2=np.pi/2, alpha1=zero_to_pi_half[::-1], end_name="EE")
|
|
QuadPath.add_euler(beta1=np.pi/2, beta2=np.pi/2, alpha1=zero_to_pi_half[::-1], end_name="EE")
|
|
|
|
|
|
@@ -30,7 +28,7 @@ def model_comparison(config_data: dict, save_as=None, save_data=False):
|
|
a_bar = 0.5
|
|
a_bar = 0.5
|
|
sigma_tilde = 0.001
|
|
sigma_tilde = 0.001
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(a_bar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(a_bar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
# matching other models to the mapped CSp model based on equal patch size in potential
|
|
# matching other models to the mapped CSp model based on equal patch size in potential
|
|
@@ -57,9 +55,9 @@ def model_comparison(config_data: dict, save_as=None, save_data=False):
|
|
# print(f'PP energy: {pp_energy}')
|
|
# print(f'PP energy: {pp_energy}')
|
|
|
|
|
|
# Emanuele data
|
|
# Emanuele data
|
|
- em_data = np.load(Path(config_data["emanuele_data"]).joinpath("FIG_3C").joinpath("pathway.npz"))['arr_0']
|
|
|
|
- # em_data = np.load(Path(config_data["emanuele_data"]).joinpath("FIG_7").joinpath("pathway.npz"))['arr_0']
|
|
|
|
- # em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_8").joinpath("FIXEDCHARGE")
|
|
|
|
|
|
+ em_data = np.load(ICI_DATA_PATH.joinpath("FIG_3C").joinpath("pathway.npz"))['arr_0']
|
|
|
|
+ # em_data = np.load(ICI_DATA_PATH.joinpath("FIG_7").joinpath("pathway.npz"))['arr_0']
|
|
|
|
+ # em_data_path = (ICI_DATA_PATH.joinpath("FIG_8").joinpath("FIXEDCHARGE")
|
|
# .joinpath("FIX_A").joinpath("ECC_0.25"))
|
|
# .joinpath("FIX_A").joinpath("ECC_0.25"))
|
|
# em_data = np.load(em_data_path.joinpath(f"EMME_{kappaR}.").joinpath("pathway.npz"))['arr_0']
|
|
# em_data = np.load(em_data_path.joinpath(f"EMME_{kappaR}.").joinpath("pathway.npz"))['arr_0']
|
|
|
|
|
|
@@ -86,7 +84,7 @@ def model_comparison(config_data: dict, save_as=None, save_data=False):
|
|
def kappaR_dependence(kappaR: Array, abar: float, sigma_tilde=0.001, save_as=None):
|
|
def kappaR_dependence(kappaR: Array, abar: float, sigma_tilde=0.001, save_as=None):
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=0)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=0)
|
|
@@ -99,7 +97,7 @@ def kappaR_dependence(kappaR: Array, abar: float, sigma_tilde=0.001, save_as=Non
|
|
def abar_dependence(abar: Array, kappaR: float, sigma_tilde=0.001, save_as=None):
|
|
def abar_dependence(abar: Array, kappaR: float, sigma_tilde=0.001, save_as=None):
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
@@ -112,7 +110,7 @@ def abar_dependence(abar: Array, kappaR: float, sigma_tilde=0.001, save_as=None)
|
|
def sigma0_dependence(sigma0: Array, kappaR: float, abar: float, sigma_tilde=0.001, save_as=None):
|
|
def sigma0_dependence(sigma0: Array, kappaR: float, abar: float, sigma_tilde=0.001, save_as=None):
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30, sigma0=sigma0)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30, sigma0=sigma0)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
@@ -125,7 +123,7 @@ def sigma0_dependence(sigma0: Array, kappaR: float, abar: float, sigma_tilde=0.0
|
|
def distance_dependence(dist: Array, kappaR: float, abar: float, sigma_tilde=0.001, save_as=None):
|
|
def distance_dependence(dist: Array, kappaR: float, abar: float, sigma_tilde=0.001, save_as=None):
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
plots = []
|
|
plots = []
|
|
@@ -147,11 +145,11 @@ def distance_dependence(dist: Array, kappaR: float, abar: float, sigma_tilde=0.0
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def IC_kappaR_dependence(config_data: dict, save_as=None):
|
|
|
|
|
|
+def IC_kappaR_dependence(save_as=None):
|
|
|
|
|
|
- # em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_8").joinpath("FIXEDCHARGE")
|
|
|
|
|
|
+ # em_data_path = (ICI_DATA_PATH.joinpath("FIG_8").joinpath("FIXEDCHARGE")
|
|
# .joinpath("FIX_A").joinpath("ECC_0.25"))
|
|
# .joinpath("FIX_A").joinpath("ECC_0.25"))
|
|
- em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE")
|
|
|
|
|
|
+ em_data_path = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE")
|
|
.joinpath("FIX_A").joinpath("ECC_0.25"))
|
|
.joinpath("FIX_A").joinpath("ECC_0.25"))
|
|
kR1 = np.load(em_data_path.joinpath("EMME_1.").joinpath("pathway.npz"))['arr_0']
|
|
kR1 = np.load(em_data_path.joinpath("EMME_1.").joinpath("pathway.npz"))['arr_0']
|
|
kR3 = np.load(em_data_path.joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
kR3 = np.load(em_data_path.joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
@@ -169,10 +167,10 @@ def IC_kappaR_dependence(config_data: dict, save_as=None):
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def IC_abar_dependence(config_data: dict, save_as=None):
|
|
|
|
|
|
+def IC_abar_dependence(save_as=None):
|
|
|
|
|
|
- # em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_8").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
- em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
|
|
+ # em_data_path = (ICI_DATA_PATH.joinpath("FIG_8").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
+ em_data_path = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
a03 = np.load(em_data_path.joinpath("ECC_0.15").joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
a03 = np.load(em_data_path.joinpath("ECC_0.15").joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
a04 = np.load(em_data_path.joinpath("ECC_0.2").joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
a04 = np.load(em_data_path.joinpath("ECC_0.2").joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
a05 = np.load(em_data_path.joinpath("ECC_0.25").joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
a05 = np.load(em_data_path.joinpath("ECC_0.25").joinpath("EMME_3.").joinpath("pathway.npz"))['arr_0']
|
|
@@ -189,9 +187,9 @@ def IC_abar_dependence(config_data: dict, save_as=None):
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def IC_sigma0_dependence(config_data: dict, save_as=None):
|
|
|
|
- # em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_8").joinpath("CHARGE_ZC"))
|
|
|
|
- em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("CHARGE_ZC"))
|
|
|
|
|
|
+def IC_sigma0_dependence(save_as=None):
|
|
|
|
+ # em_data_path = (ICI_DATA_PATH.joinpath("FIG_8").joinpath("CHARGE_ZC"))
|
|
|
|
+ em_data_path = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("CHARGE_ZC"))
|
|
undercharged = np.load(em_data_path.joinpath("ZC_-277.27").joinpath("pathway.npz"))['arr_0']
|
|
undercharged = np.load(em_data_path.joinpath("ZC_-277.27").joinpath("pathway.npz"))['arr_0']
|
|
neutral = np.load(em_data_path.joinpath("ZC_-560").joinpath("pathway.npz"))['arr_0']
|
|
neutral = np.load(em_data_path.joinpath("ZC_-560").joinpath("pathway.npz"))['arr_0']
|
|
overchargerd = np.load(em_data_path.joinpath("ZC_-842.74").joinpath("pathway.npz"))['arr_0']
|
|
overchargerd = np.load(em_data_path.joinpath("ZC_-842.74").joinpath("pathway.npz"))['arr_0']
|
|
@@ -208,24 +206,24 @@ def IC_sigma0_dependence(config_data: dict, save_as=None):
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def combined_distance_dependence(config_data: dict, dist: Array = 2 * np.array([1., 1.15, 1.3, 1.45]),
|
|
|
|
|
|
+def combined_distance_dependence(dist: Array = 2 * np.array([1., 1.15, 1.3, 1.45]),
|
|
kappaR: float = 3,
|
|
kappaR: float = 3,
|
|
abar: float = 0.5,
|
|
abar: float = 0.5,
|
|
- sigma_tilde=0.001,
|
|
|
|
|
|
+ sigma_tilde=0.00099,
|
|
save_as=None):
|
|
save_as=None):
|
|
|
|
|
|
- # em_data_path = Path(config_data["emanuele_data"]).joinpath("FIG_12")
|
|
|
|
- em_data_path = Path(config_data["emanuele_data"]).joinpath("FIG_3D_LONG_DIST")
|
|
|
|
|
|
+ # em_data_path = ICI_DATA_PATH.joinpath("FIG_12")
|
|
|
|
+ em_data_path = ICI_DATA_PATH.joinpath("FIG_3D_LONG_DIST")
|
|
em_data = np.load(em_data_path.joinpath("pathway_fig12A.npz"))
|
|
em_data = np.load(em_data_path.joinpath("pathway_fig12A.npz"))
|
|
|
|
|
|
- em_data_d2 = np.load(Path(config_data["emanuele_data"]).joinpath("FIG_3C").joinpath("pathway.npz"))['arr_0']
|
|
|
|
|
|
+ em_data_d2 = np.load(ICI_DATA_PATH.joinpath("FIG_3C").joinpath("pathway.npz"))['arr_0']
|
|
|
|
|
|
ic_data = [em_data_d2]
|
|
ic_data = [em_data_d2]
|
|
for key, d in em_data.items():
|
|
for key, d in em_data.items():
|
|
ic_data.append(d)
|
|
ic_data.append(d)
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
plots = []
|
|
plots = []
|
|
@@ -237,8 +235,11 @@ def combined_distance_dependence(config_data: dict, dist: Array = 2 * np.array([
|
|
labels = [rf'$\rho/R ={d}$' for d in dist]
|
|
labels = [rf'$\rho/R ={d}$' for d in dist]
|
|
|
|
|
|
# additional legend
|
|
# additional legend
|
|
- line1 = Line2D([0], [0], color='black', linewidth=1, label='ICi')
|
|
|
|
- line2 = Line2D([0], [0], color='black', linestyle='--', linewidth=1, label='CSp')
|
|
|
|
|
|
+ line1 = Line2D([0], [0], color='black', linewidth=1.2, label='ICi')
|
|
|
|
+ line2 = Line2D([0], [0], color='black', linestyle='--', linewidth=1.2, label='CSp')
|
|
|
|
+
|
|
|
|
+ # np.savetxt("/home/andraz/Downloads/calibrate_CSp.dat", np.stack((x_axis, plots[0])).T)
|
|
|
|
+ # np.savetxt("/home/andraz/Downloads/calibrate_ICi.dat", ic_data[0])
|
|
|
|
|
|
fig, ax = plt.subplots()
|
|
fig, ax = plt.subplots()
|
|
for i, (d, en, label, c) in enumerate(zip(ic_data, plots, labels, COLORS)):
|
|
for i, (d, en, label, c) in enumerate(zip(ic_data, plots, labels, COLORS)):
|
|
@@ -247,7 +248,7 @@ def combined_distance_dependence(config_data: dict, dist: Array = 2 * np.array([
|
|
ax.plot(x_axis, en, ls='--', c=c)
|
|
ax.plot(x_axis, en, ls='--', c=c)
|
|
QuadPath.plot_style(fig, ax)
|
|
QuadPath.plot_style(fig, ax)
|
|
main_legend = ax.get_legend()
|
|
main_legend = ax.get_legend()
|
|
- extra_legend = ax.legend(handles=[line1, line2], loc='upper left', fontsize=15, frameon=False)
|
|
|
|
|
|
+ extra_legend = ax.legend(handles=[line1, line2], loc='upper left', fontsize=11, frameon=False)
|
|
ax.add_artist(main_legend)
|
|
ax.add_artist(main_legend)
|
|
ax.add_artist(extra_legend)
|
|
ax.add_artist(extra_legend)
|
|
if save_as is not None:
|
|
if save_as is not None:
|
|
@@ -255,15 +256,14 @@ def combined_distance_dependence(config_data: dict, dist: Array = 2 * np.array([
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def combined_rescaled_distance_dependence(config_data: dict,
|
|
|
|
- dist: Array = 2 * np.array([1, 1.5, 2, 3, 5, 10]),
|
|
|
|
|
|
+def combined_rescaled_distance_dependence(dist: Array = 2 * np.array([1, 1.5, 2, 3, 5, 10]),
|
|
kappaR: float = 3,
|
|
kappaR: float = 3,
|
|
abar: float = 0.5,
|
|
abar: float = 0.5,
|
|
sigma_tilde=0.001,
|
|
sigma_tilde=0.001,
|
|
save_as=None):
|
|
save_as=None):
|
|
|
|
|
|
- # em_data_path = Path(config_data["emanuele_data"]).joinpath("FIG_12")
|
|
|
|
- em_data_path = Path(config_data["emanuele_data"]).joinpath("FIG_3D_LONG_DIST")
|
|
|
|
|
|
+ # em_data_path = ICI_DATA_PATH.joinpath("FIG_12")
|
|
|
|
+ em_data_path = ICI_DATA_PATH.joinpath("FIG_3D_LONG_DIST")
|
|
em_data = np.load(em_data_path.joinpath("pathway_fig12B.npz"))
|
|
em_data = np.load(em_data_path.joinpath("pathway_fig12B.npz"))
|
|
ic_data = []
|
|
ic_data = []
|
|
for key, d in em_data.items():
|
|
for key, d in em_data.items():
|
|
@@ -273,7 +273,7 @@ def combined_rescaled_distance_dependence(config_data: dict,
|
|
ic_data.append(d)
|
|
ic_data.append(d)
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
plots = []
|
|
plots = []
|
|
@@ -297,11 +297,11 @@ def combined_rescaled_distance_dependence(config_data: dict,
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def combined_kappaR_dependence(config_data: dict, kappaR: list[int], abar: float, sigma_tilde=0.001, save_as=None):
|
|
|
|
|
|
+def combined_kappaR_dependence(kappaR: list[int], abar: float, sigma_tilde=0.001, save_as=None):
|
|
|
|
|
|
- # em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_8").joinpath("FIXEDCHARGE")
|
|
|
|
|
|
+ # em_data_path = (ICI_DATA_PATH.joinpath("FIG_8").joinpath("FIXEDCHARGE")
|
|
# .joinpath("FIX_A").joinpath(f"ECC_{np.round(abar/2, 4)}"))
|
|
# .joinpath("FIX_A").joinpath(f"ECC_{np.round(abar/2, 4)}"))
|
|
- em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE")
|
|
|
|
|
|
+ em_data_path = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE")
|
|
.joinpath("FIX_A").joinpath(f"ECC_{np.round(abar/2, 4)}"))
|
|
.joinpath("FIX_A").joinpath(f"ECC_{np.round(abar/2, 4)}"))
|
|
|
|
|
|
ic_data = []
|
|
ic_data = []
|
|
@@ -310,7 +310,7 @@ def combined_kappaR_dependence(config_data: dict, kappaR: list[int], abar: float
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=np.asarray(kappaR))
|
|
params = ModelParams(R=150, kappaR=np.asarray(kappaR))
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=0)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=0)
|
|
@@ -329,10 +329,10 @@ def combined_kappaR_dependence(config_data: dict, kappaR: list[int], abar: float
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def combined_abar_dependence(config_data: dict, kappaR: int, abar: list[float], sigma_tilde=0.001, save_as=None):
|
|
|
|
|
|
+def combined_abar_dependence(kappaR: int, abar: list[float], sigma_tilde=0.001, save_as=None):
|
|
|
|
|
|
- # em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_8").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
- em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
|
|
+ # em_data_path = (ICI_DATA_PATH.joinpath("FIG_8").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
+ em_data_path = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
|
|
ic_data = []
|
|
ic_data = []
|
|
for ab in abar:
|
|
for ab in abar:
|
|
@@ -341,7 +341,7 @@ def combined_abar_dependence(config_data: dict, kappaR: int, abar: list[float],
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(np.asarray(abar), params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(np.asarray(abar), params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
@@ -360,16 +360,16 @@ def combined_abar_dependence(config_data: dict, kappaR: int, abar: list[float],
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def combined_sigma0_dependence(config_data: dict, kappaR=3., abar=0.5, sigma0=(0.0002, 0.00, -0.0002), sigma_tilde=0.001, save_as=None):
|
|
|
|
- # em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_8").joinpath("CHARGE_ZC"))
|
|
|
|
- em_data_path = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("CHARGE_ZC"))
|
|
|
|
|
|
+def combined_sigma0_dependence(kappaR=3., abar=0.5, sigma0=(0.0002, 0.00, -0.0002), sigma_tilde=0.001, save_as=None):
|
|
|
|
+ # em_data_path = (ICI_DATA_PATH.joinpath("FIG_8").joinpath("CHARGE_ZC"))
|
|
|
|
+ em_data_path = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("CHARGE_ZC"))
|
|
undercharged = np.load(em_data_path.joinpath("ZC_-503").joinpath("pathway.npz"))['arr_0']
|
|
undercharged = np.load(em_data_path.joinpath("ZC_-503").joinpath("pathway.npz"))['arr_0']
|
|
neutral = np.load(em_data_path.joinpath("ZC_-560").joinpath("pathway.npz"))['arr_0']
|
|
neutral = np.load(em_data_path.joinpath("ZC_-560").joinpath("pathway.npz"))['arr_0']
|
|
overchargerd = np.load(em_data_path.joinpath("ZC_-617").joinpath("pathway.npz"))['arr_0']
|
|
overchargerd = np.load(em_data_path.joinpath("ZC_-617").joinpath("pathway.npz"))['arr_0']
|
|
ic_data = [undercharged, neutral, overchargerd]
|
|
ic_data = [undercharged, neutral, overchargerd]
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30, sigma0=np.asarray(sigma0))
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30, sigma0=np.asarray(sigma0))
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
@@ -388,17 +388,16 @@ def combined_sigma0_dependence(config_data: dict, kappaR=3., abar=0.5, sigma0=(0
|
|
plt.show()
|
|
plt.show()
|
|
|
|
|
|
|
|
|
|
-def combined_all(config_data: dict, save_as=None):
|
|
|
|
|
|
+def combined_all(save_as=None):
|
|
|
|
|
|
- sigma_tilde = 0.001
|
|
|
|
|
|
+ sigma_tilde = 0.00099
|
|
kappaR_list = [1, 3, 10]
|
|
kappaR_list = [1, 3, 10]
|
|
abar_list = [0.5, 0.4, 0.3]
|
|
abar_list = [0.5, 0.4, 0.3]
|
|
- sigma0_list = [0.0002, 0.00, -0.0002]
|
|
|
|
|
|
+ sigma0_list = [0.000198, 0.00, -0.000198]
|
|
kappaR = 3
|
|
kappaR = 3
|
|
abar = 0.5
|
|
abar = 0.5
|
|
|
|
|
|
-
|
|
|
|
- em_data_kappaR = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE")
|
|
|
|
|
|
+ em_data_kappaR = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE")
|
|
.joinpath("FIX_A").joinpath(f"ECC_{np.round(abar/2, 4)}"))
|
|
.joinpath("FIX_A").joinpath(f"ECC_{np.round(abar/2, 4)}"))
|
|
|
|
|
|
ic_data_kappaR = []
|
|
ic_data_kappaR = []
|
|
@@ -407,7 +406,7 @@ def combined_all(config_data: dict, save_as=None):
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=np.asarray(kappaR_list))
|
|
params = ModelParams(R=150, kappaR=np.asarray(kappaR_list))
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=0)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=0)
|
|
@@ -415,8 +414,7 @@ def combined_all(config_data: dict, save_as=None):
|
|
x_axis_kappaR = path_plot.rot_path.stack_x_axes()
|
|
x_axis_kappaR = path_plot.rot_path.stack_x_axes()
|
|
labels_kappaR = [rf'$\kappa R={kR}$' for kR in [1, 3, 10]]
|
|
labels_kappaR = [rf'$\kappa R={kR}$' for kR in [1, 3, 10]]
|
|
|
|
|
|
-
|
|
|
|
- em_data_abar = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE").joinpath("FIX_M"))
|
|
|
|
|
|
+ em_data_abar = ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("FIXEDCHARGE").joinpath("FIX_M")
|
|
|
|
|
|
ic_data_abar = []
|
|
ic_data_abar = []
|
|
for ab in abar_list:
|
|
for ab in abar_list:
|
|
@@ -425,7 +423,7 @@ def combined_all(config_data: dict, save_as=None):
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
|
|
|
|
- ex1 = expansion.MappedExpansionQuad(np.asarray(abar_list), params.kappaR, sigma_tilde, l_max=30)
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(np.asarray(abar_list), params.kappaR, sigma_tilde, l_max=30)
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
@@ -434,43 +432,52 @@ def combined_all(config_data: dict, save_as=None):
|
|
labels_abar = [rf'$\bar a={a}$' for a in abar_list]
|
|
labels_abar = [rf'$\bar a={a}$' for a in abar_list]
|
|
|
|
|
|
|
|
|
|
- em_data_charge = (Path(config_data["emanuele_data"]).joinpath("FIG_4_Panels_ACE").joinpath("CHARGE_ZC"))
|
|
|
|
|
|
+ em_data_charge = (ICI_DATA_PATH.joinpath("FIG_4_Panels_ACE").joinpath("CHARGE_ZC"))
|
|
undercharged = np.load(em_data_charge.joinpath("ZC_-503").joinpath("pathway.npz"))['arr_0']
|
|
undercharged = np.load(em_data_charge.joinpath("ZC_-503").joinpath("pathway.npz"))['arr_0']
|
|
neutral = np.load(em_data_charge.joinpath("ZC_-560").joinpath("pathway.npz"))['arr_0']
|
|
neutral = np.load(em_data_charge.joinpath("ZC_-560").joinpath("pathway.npz"))['arr_0']
|
|
overchargerd = np.load(em_data_charge.joinpath("ZC_-617").joinpath("pathway.npz"))['arr_0']
|
|
overchargerd = np.load(em_data_charge.joinpath("ZC_-617").joinpath("pathway.npz"))['arr_0']
|
|
ic_data_sigma0 = [undercharged, neutral, overchargerd]
|
|
ic_data_sigma0 = [undercharged, neutral, overchargerd]
|
|
|
|
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
params = ModelParams(R=150, kappaR=kappaR)
|
|
- ex1 = expansion.MappedExpansionQuad(abar, params.kappaR, sigma_tilde, l_max=30, sigma0=np.asarray(sigma0_list))
|
|
|
|
|
|
+ ex1 = charge_distributions.create_mapped_quad_expansion(abar, params.kappaR, sigma_tilde, l_max=30, sigma0=np.asarray(sigma0_list))
|
|
ex2 = ex1.clone()
|
|
ex2 = ex1.clone()
|
|
|
|
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
path_plot = PathEnergyPlot(ex1, ex2, QuadPath, dist=2., params=params, match_expansion_axis_to_params=None)
|
|
energy_sigma0 = path_plot.evaluate_path()
|
|
energy_sigma0 = path_plot.evaluate_path()
|
|
x_axis_sigma0 = path_plot.rot_path.stack_x_axes()
|
|
x_axis_sigma0 = path_plot.rot_path.stack_x_axes()
|
|
|
|
|
|
- labels_sigma0 = [rf'$\eta={s0/sigma_tilde}$' for s0 in sigma0_list]
|
|
|
|
|
|
+ labels_sigma0 = [rf'$\eta={s0/sigma_tilde:.1f}$' for s0 in sigma0_list]
|
|
|
|
+
|
|
|
|
+ line1 = Line2D([0], [0], color='black', linewidth=1.2, label='ICi')
|
|
|
|
+ line2 = Line2D([0], [0], color='black', linestyle='--', linewidth=1.2, label='CSp')
|
|
|
|
|
|
- fig, axs = plt.subplots(3, 1, figsize=(6, 7.8))
|
|
|
|
|
|
+ # fig, axs = plt.subplots(3, 1, figsize=(6, 7.8))
|
|
|
|
+ fig = plt.figure(figsize=(4, 5.4))
|
|
|
|
+ gs = gridspec.GridSpec(3, 1, figure=fig)
|
|
|
|
+ gs.update(left=0.12, right=0.975, top=0.96, bottom=0.04, hspace=0.3)
|
|
|
|
+ axs = [fig.add_subplot(gs[0, 0]), fig.add_subplot(gs[1, 0]), fig.add_subplot(gs[2, 0])]
|
|
for d, en, label, c in zip(ic_data_kappaR, energy_kappaR.T, labels_kappaR, COLOR_LIST):
|
|
for d, en, label, c in zip(ic_data_kappaR, energy_kappaR.T, labels_kappaR, COLOR_LIST):
|
|
- axs[0].set_title('Screening', fontsize=15)
|
|
|
|
|
|
+ axs[0].set_title('Screening', fontsize=11, y=0.98)
|
|
axs[0].plot(d[:, 0], d[:, 1], label=label, c=c)
|
|
axs[0].plot(d[:, 0], d[:, 1], label=label, c=c)
|
|
axs[0].plot(x_axis_kappaR, en, ls='--', c=c)
|
|
axs[0].plot(x_axis_kappaR, en, ls='--', c=c)
|
|
|
|
+ extra_legend = axs[0].legend(handles=[line1, line2], loc='upper left', fontsize=11, frameon=False)
|
|
|
|
+ axs[0].add_artist(extra_legend)
|
|
QuadPath.plot_style(fig, axs[0], size=None)
|
|
QuadPath.plot_style(fig, axs[0], size=None)
|
|
for d, en, label, c in zip(ic_data_abar, energy_abar.T, labels_abar, COLOR_LIST):
|
|
for d, en, label, c in zip(ic_data_abar, energy_abar.T, labels_abar, COLOR_LIST):
|
|
- axs[1].set_title('Asymmetry', fontsize=15)
|
|
|
|
|
|
+ axs[1].set_title('Eccentricity', fontsize=11, y=0.98)
|
|
axs[1].plot(d[:, 0], d[:, 1], label=label, c=c)
|
|
axs[1].plot(d[:, 0], d[:, 1], label=label, c=c)
|
|
axs[1].plot(x_axis_abar, en, ls='--', c=c)
|
|
axs[1].plot(x_axis_abar, en, ls='--', c=c)
|
|
QuadPath.plot_style(fig, axs[1], size=None)
|
|
QuadPath.plot_style(fig, axs[1], size=None)
|
|
for d, en, label, c in zip(ic_data_sigma0, energy_sigma0.T, labels_sigma0, COLOR_LIST):
|
|
for d, en, label, c in zip(ic_data_sigma0, energy_sigma0.T, labels_sigma0, COLOR_LIST):
|
|
- axs[2].set_title('Net charge', fontsize=15)
|
|
|
|
|
|
+ axs[2].set_title('Net charge', fontsize=11, y=0.98)
|
|
axs[2].plot(d[:, 0], d[:, 1], label=label, c=c)
|
|
axs[2].plot(d[:, 0], d[:, 1], label=label, c=c)
|
|
axs[2].plot(x_axis_sigma0, en, ls='--', c=c)
|
|
axs[2].plot(x_axis_sigma0, en, ls='--', c=c)
|
|
for ax in axs:
|
|
for ax in axs:
|
|
- ax.yaxis.set_label_coords(-0.09, 0.5)
|
|
|
|
|
|
+ ax.yaxis.set_label_coords(-0.08, 0.5)
|
|
# axs[-1].set_xlabel('rotational path', fontsize=15)
|
|
# axs[-1].set_xlabel('rotational path', fontsize=15)
|
|
QuadPath.plot_style(fig, axs[2], size=None)
|
|
QuadPath.plot_style(fig, axs[2], size=None)
|
|
for ax in axs:
|
|
for ax in axs:
|
|
- ax.get_legend().set_bbox_to_anchor((0.65, 1))
|
|
|
|
|
|
+ ax.get_legend().set_bbox_to_anchor((0.6, 1))
|
|
if save_as is not None:
|
|
if save_as is not None:
|
|
plt.savefig(save_as, dpi=300)
|
|
plt.savefig(save_as, dpi=300)
|
|
plt.show()
|
|
plt.show()
|
|
@@ -478,11 +485,8 @@ def combined_all(config_data: dict, save_as=None):
|
|
|
|
|
|
def main():
|
|
def main():
|
|
|
|
|
|
- with open(Path("/home/andraz/ChargedShells/charged-shells/config.json")) as config_file:
|
|
|
|
- config_data = json.load(config_file)
|
|
|
|
-
|
|
|
|
# model_comparison(config_data, save_data=False,
|
|
# model_comparison(config_data, save_data=False,
|
|
- # save_as=Path(config_data["figures"]).joinpath("final_figures").joinpath('quad_og_comparison.png')
|
|
|
|
|
|
+ # save_as=FIGURES_PATH.joinpath("final_figures").joinpath('quad_og_comparison.png')
|
|
# )
|
|
# )
|
|
|
|
|
|
# kappaR_dependence(np.array([1, 3, 10]), 0.5,
|
|
# kappaR_dependence(np.array([1, 3, 10]), 0.5,
|
|
@@ -498,40 +502,40 @@ def main():
|
|
# )
|
|
# )
|
|
|
|
|
|
# distance_dependence(dist=np.array([2, 3, 4, 6, 10, 20]), kappaR=3, abar=0.5,
|
|
# distance_dependence(dist=np.array([2, 3, 4, 6, 10, 20]), kappaR=3, abar=0.5,
|
|
- # # save_as=Path(config_data["figures"]).joinpath('quadrupole_distance_dep.png')
|
|
|
|
|
|
+ # # save_as=FIGURES_PATH.joinpath('quadrupole_distance_dep.png')
|
|
# )
|
|
# )
|
|
|
|
|
|
- # IC_kappaR_dependence(config_data,
|
|
|
|
- # save_as=Path(config_data["figures"]).joinpath("Emanuele_data").joinpath('IC_quadrupole_kappaR_dep.png')
|
|
|
|
|
|
+ # IC_kappaR_dependence(
|
|
|
|
+ # save_as=FIGURES_PATH.joinpath("ICi_data").joinpath('IC_quadrupole_kappaR_dep.png')
|
|
# )
|
|
# )
|
|
#
|
|
#
|
|
- # IC_abar_dependence(config_data, save_as=Path(config_data["figures"]).joinpath("Emanuele_data").
|
|
|
|
|
|
+ # IC_abar_dependence(save_as=FIGURES_PATH.joinpath("ICi_data").
|
|
# joinpath('IC_quadrupole_abar_dep.png'))
|
|
# joinpath('IC_quadrupole_abar_dep.png'))
|
|
#
|
|
#
|
|
- # IC_sigma0_dependence(config_data, save_as=Path(config_data["figures"]).joinpath("Emanuele_data").
|
|
|
|
|
|
+ # IC_sigma0_dependence(save_as=FIGURES_PATH.joinpath("ICi_data").
|
|
# joinpath('IC_quadrupole_charge_dep_abar05_kappaR3.png'))
|
|
# joinpath('IC_quadrupole_charge_dep_abar05_kappaR3.png'))
|
|
|
|
|
|
- # combined_kappaR_dependence(config_data, kappaR=[1, 3, 10], abar=0.5,
|
|
|
|
- # save_as=Path(config_data["figures"]).joinpath("final_figures").joinpath('quad_kappaR_dep.png')
|
|
|
|
|
|
+ # combined_kappaR_dependence(kappaR=[1, 3, 10], abar=0.5,
|
|
|
|
+ # save_as=FIGURES_PATH.joinpath("final_figures").joinpath('quad_kappaR_dep.png')
|
|
# )
|
|
# )
|
|
|
|
|
|
- # combined_sigma0_dependence(config_data,
|
|
|
|
- # save_as=Path(config_data["figures"]).joinpath("final_figures").joinpath('quad_charge_dep.png')
|
|
|
|
|
|
+ # combined_sigma0_dependence(
|
|
|
|
+ # save_as=FIGURES_PATH.joinpath("final_figures").joinpath('quad_charge_dep.png')
|
|
# )
|
|
# )
|
|
|
|
|
|
- # combined_abar_dependence(config_data, kappaR=3, abar=[0.3, 0.4, 0.5],
|
|
|
|
- # save_as=Path(config_data["figures"]).joinpath("final_figures").joinpath('quad_abar_dep.png')
|
|
|
|
|
|
+ # combined_abar_dependence(kappaR=3, abar=[0.3, 0.4, 0.5],
|
|
|
|
+ # save_as=FIGURES_PATH.joinpath("final_figures").joinpath('quad_abar_dep.png')
|
|
# )
|
|
# )
|
|
|
|
|
|
- # combined_rescaled_distance_dependence(config_data)
|
|
|
|
|
|
+ # combined_rescaled_distance_dependence()
|
|
|
|
|
|
- combined_distance_dependence(config_data,
|
|
|
|
- save_as=Path(config_data["figures"]).joinpath("final_figures").joinpath('quad_dist_dep.png')
|
|
|
|
- )
|
|
|
|
|
|
+ # combined_distance_dependence(
|
|
|
|
+ # save_as=FIGURES_PATH.joinpath("final_figures").joinpath('quad_dist_dep.png')
|
|
|
|
+ # )
|
|
|
|
|
|
- # combined_all(config_data,
|
|
|
|
- # save_as=Path(config_data["figures"]).joinpath("final_figures").joinpath('quad_combined_dep.png')
|
|
|
|
- # )
|
|
|
|
|
|
+ combined_all(
|
|
|
|
+ # save_as=FIGURES_PATH.joinpath("final_figures").joinpath('quad_combined_dep.png')
|
|
|
|
+ )
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|