diff --git a/plots/filling_transition/filling_transition_data b/plots/filling_transition/filling_transition_data new file mode 100644 index 0000000000000000000000000000000000000000..ac41fd5311b2c8ac6e3b744c0563d6520de7ae99 Binary files /dev/null and b/plots/filling_transition/filling_transition_data differ diff --git a/plots/filling_transition/fillling_transition.py b/plots/filling_transition/fillling_transition.py new file mode 100755 index 0000000000000000000000000000000000000000..5cc853e75ba0ad76c938d2b8f90d8020f235bdb7 --- /dev/null +++ b/plots/filling_transition/fillling_transition.py @@ -0,0 +1,85 @@ +import numpy as np +import os +import sys +import matplotlib.pyplot as plt +import matplotlib +import h5py + +sys.path.append(os.path.join(os.path.dirname(__file__), '..')) +import colors + +matplotlib.rc('font', **{'family': 'serif', 'serif': ['Computer Modern Roman'], + 'size': 8}) +matplotlib.rc('text', usetex=True) +matplotlib.rc('text.latex', preamble=r'\usepackage{amsmath}' + + r'\usepackage{braket}' + r'\usepackage{amssymb}' + + r'\newcommand{\bvec}[1]{\boldsymbol{#1}}') + +fig_width = 3.4039 +fig_height = fig_width + +fig, axs = plt.subplots(3, 1, figsize=(fig_width, fig_height), sharex=True, + gridspec_kw={'hspace': 0.05}) + + +data = h5py.File('filling_transition_data', 'r') +filling = data['filling'][:] +lamc = data['lamc'][:] +chern = data['chern'][:] +gap = data['gap'][:] +shell_ratios = data['shell_ratios'][:] + +m = 3 +lim_factor = 1.2 + +axs[0].semilogy(filling, lamc, '.', c=colors.first, markersize=m) +axs[0].set_ylabel(r'$\Lambda_c$') +axs[0].tick_params(bottom=False, labelbottom=False) + +axs[1].plot(filling[np.abs(chern) == 4], gap[np.abs(chern) == 4], '.', + c=colors.first, markersize=m, label = '$C=4$') +axs[1].plot(filling[np.abs(chern) == 8], gap[np.abs(chern) == 8], '.', + c=colors.third, markersize=m, label='$C=8$') +axs[1].set_ylabel(r'$E$') +axs[1].set_ylim([0,lim_factor*np.amax(gap)]) +axs[1].tick_params(bottom=False, labelbottom=False) +axs[1].legend() + +cols = [colors.first, colors.third, colors.second, colors.third] +for jj in range(3): + axs[2].plot(filling, np.abs(shell_ratios[:,jj]), '.', + c=cols[jj], markersize=m) +axs[2].set_ylim([-0.05,1.05]) +axs[2].set_ylabel(r'$\eta$') +axs[2].set_xlabel(r'$\nu$') + +for ii in range(3): + axs[ii].vlines([0.445], axs[ii].get_ylim()[0], axs[ii].get_ylim()[1], + colors=colors.gray, linestyle='--', linewidth=1) + axs[ii].set_xlim([np.amin(filling)-0.001, np.amax(filling)+0.001]) + + + +# for ii in range(3): + + +# # Fix y axes +# axs[ii].tick_params(left=False, labelleft=False, bottom=False, +# labelbottom=False) +# axs[ii].set_ylabel(r'$E$') + +# # Fixing the ylim relative to the gap boundaries +# lim_factor = 1.5 +# axs[ii].set_ylim([lim_factor * gap_lower_edge, +# lim_factor * gap_upper_edge]) + +# axs[ii].set_xlim([-np.pi, np.pi]) + +# # Fix x axis +# axs[3].tick_params(bottom=True, labelbottom=True) +# axs[3].set_xticks([-np.pi, -0.5 * np.pi, 0, 0.5 * np.pi, np.pi], +# labels=[r'$-\pi$', r'$-\frac{\pi} 2$', r'$0$', +# r'$\frac{\pi} 2$', r'$\pi$']) +# axs[3].set_xlabel(r'$k/a$') + +fig.savefig('filling_transition.pdf', bbox_inches="tight")