label=rf"$\Lambda={Lambda}$") else: ax[observable].plot(strains * 100, ysfwd[i][:], '.-', color=colors[js], label=rf"$\Lambda={Lambda}$") ax[observable].set_ylabel(ylabel, fontsize=10) ax[observable].set_xlabel(r"$\epsilon\times100\%$", fontsize=10) for observable in observable_list: ax[observable].set_xscale('log') if observable == "R": ax[observable].legend(frameon=False) if observable == "stress": ax[observable].set_yscale('log') if observable == "delta": ax[observable].legend(frameon=False) if observable == "surfacetwist": ax[observable].set_ylim(top=0.4) strainpoints = np.array([0.01, 1.4, 2.8, 5.0], float) tilt = np.array([16, 14, 12, 11], float) * np.pi / 180 ax[observable].plot(strainpoints, tilt, 'k^') fig.subplots_adjust(left=0.2, right=0.8, bottom=0.1, top=0.95, hspace=0.05) fig.savefig( obsfwd.observable_sname("multiLambda-observable-vsstrain", plot_format="pdf")) plt.show()
scan['mpt'] = str(mpt) print(i) # read in file name info obs = ObservableData(scan=scan, loadsuf=loadsuf, savesuf=loadsuf, name=f"Evsh-{mpt}") hs = obs.data[:, 0] dEdR_cs = obs.data[:, 1] err_trunc = obs.data[:, 2] err_round = obs.data[:, 3] ax1.plot(hs, dEdR_cs, '-', label=rf'$m={mpt}$', color=colors[i]) ax2.plot(hs, err_trunc, '-', label=rf'$m={mpt}$', color=colors[i]) ax2.plot(hs, err_round, '-', color=colors[i]) ax1.set_ylabel(r'$\frac{\partial E}{\partial R_c}$') ax1.set_xscale('log') ax1.legend(frameon=False) ax2.set_xscale('log') ax2.set_yscale('log') ax2.set_ylabel('derivative error (' + r'$\times \num{1e4}$' + ')') fig.subplots_adjust(left=0.3) fig.savefig(obs.observable_sname('Evsh'))
cmap='seismic', vmin=vmin, vmax=vmax) axins[type].set_xticks([]) axins[type].set_yticks([]) axins[type].spines['polar'].set_linewidth(0.2) axins[type].spines['polar'].set_linestyle((0, (2, 8))) #axins[type].annotate(rf'$R={R:1.3f}$',xy=(5*np.pi/4,R-0.01*R), # xytext=(5*np.pi/4,R+R-0.01*R),fontsize=20, # color=colors[i]) cax_ticks = [-0.3, -0.2, -0.1, 0, 0.1] cax = inset_axes(ax, width="5%", height="99%", loc='lower left', bbox_to_anchor=(1, 0, 1, 1), bbox_transform=ax.transAxes, borderpad=0.12) cbar = colorbar(im, ax=ax, cax=cax, format='%.1f', ticks=cax_ticks) cax.set_title("strain (\%)", fontsize=8) fig.subplots_adjust(left=0.2, right=0.8, bottom=0.2, top=0.8) #plt.show() fig.savefig(obsfwd.observable_sname(f"phase-diagram-with-axial-strain"))
ax.plot(gamma_coexists,k24_coexists,'-',color='k', lw=4) ax.plot(0.04,0.5,'*',color='w',markersize=8) ax.plot(gamma_coexists[0],k24_coexists[0],'o',color='k', markersize=8) ax.text(0.01,0.8,'linear\ntwist',color='k',fontsize=12) ax.text(0.065,0.8,'constant\ntwist',color='k',fontsize=12) ax.text(0.025,0.15,r'$(\gamma^c,k_{24}^c)$',fontsize=12) ax.set_xlabel(rf"$\gamma$",fontsize=10) ax.set_ylabel(r"$k_{24}$",fontsize=10) ax.legend(frameon=False,fontsize=10) fig.subplots_adjust(left=0.2,bottom=0.2) fig.savefig(obsfwd.observable_sname(f"phase-diagram"))
scan_dir='scanbackward', scan=scan, loadsuf=loadsuf, savesuf=savesuf) print(k24) # find all spots where two distinct phases exist (two different radii values) bool_1 = np.isclose(obsfwd.R(), obsbkwd.R(), rtol=1e-3) find_j = np.where(bool_1 == False)[0] if find_j.size > 0: # if two distinct phases exist, then: # smallest gamma value that they both exist at jsmall = find_j[0] # largest gamma value that they both exist at jlarge = find_j[-1] # find the point where the fwd E becomes larger than the bkwd E j = (np.argmin( np.abs(obsfwd.E()[jsmall:jlarge + 1] - obsbkwd.E()[jsmall:jlarge + 1])) + len(obsfwd.E()[:jsmall])) pstr = f"{k24:.2e} {gammas[j]:.2e} {jsmall} {obsfwd.R()[j]:.2e} {obsbkwd.R()[j]:.2e}" obsfwd.data[j:, :] = obsbkwd.data[j:, :] np.savetxt(obsfwd.observable_sname("observables", plot_format="txt"), obsfwd.data, fmt='\t'.join(["%13.6e"] + ["%15.8e"] * 5))
label=rf"$\gamma={gamma}$") #ax[observable].plot(Lambdas[:i_fwd+1],ysfwd[i][:i_fwd+1],'.',color=colors[i]) #ax[observable].plot(Lambdas[i_fwd:i_fwd+2],ysfwd[i][i_fwd:i_fwd+2],'-', # color=colors[i]) #ax[observable].plot(ms_bkwd,ysbkwd[i][1:],'-',color=colors[i]) #ax[observable].plot(Lambdas[i_fwd+2:],ysfwd[i][i_fwd+2:],'.',color=colors[i]) ax[observable].set_xlabel(r"$\Lambda$",fontsize = 10) ax[observable].set_ylabel(ylabel,fontsize = 10) #ax[observable].tick_params("both",labelsize=18) for observable in observable_list: if observable == "R": ax[observable].set_yscale('log') ax[observable].legend(frameon=False) ax[observable].set_xscale('log') fig[observable].subplots_adjust(left=0.2,right=0.98,bottom=0.15,top=0.95) fig[observable].savefig(obsfwd.observable_sname("k24"+observable,plot_format="pdf")) plt.show()
k24 = pair[1] scan = {} scan['\\gamma_s'] = gamma scan['k_{24}'] = k24 scan['\\omega'] = str(omega) obsfwd = ObservableData(["\\Lambda"], scan_dir='scanforward', scan=scan, loadsuf=loadsuf, savesuf=savesuf) Lambdas = obsfwd.data[:, 0] x, y = obsfwd.surfacetwist()[1:], 2 * np.pi / obsfwd.eta()[1:] ax.plot(x, y, '.', color=colors[js]) ax.plot(x[-1], y[-1], 'rs') dums = np.linspace(0.05, 0.25, num=150, endpoint=True) ax.plot(dums, np.cos(dums), '--') ax.set_xlabel(r"$\psi(R)$", fontsize=10) ax.set_ylabel(r"$2\pi/\eta$", fontsize=10) fig.subplots_adjust(left=0.1, right=0.9, bottom=0.15, top=0.95) fig.savefig(obsfwd.observable_sname("twistvsdband", plot_format="pdf")) plt.show()
jlarge = find_j[-1] # find the point where the fwd E becomes larger than the bkwd E j = (np.argmin(np.abs(obsfwd.E()[jsmall:jlarge+1]-obsbkwd.E()[jsmall:jlarge+1])) +len(obsfwd.E()[:jsmall])) pstr = f"{k24:.2e} {gammas[j]:.2e} {jsmall} {obsfwd.R()[j]:.2e} {obsbkwd.R()[j]:.2e}" print(pstr) data2d[i,j] = 1 gammacoexist.append(obsfwd.data[j,0]) k24coexist.append(k24) obsfwd.data[j:bwdlen,:] = obsbkwd.data[j:bwdlen,:] np.savetxt(obsfwd.observable_sname("observables",plot_format="txt"),obsfwd.data, fmt='\t'.join(["%15.8e"]*6)) scoexist = np.array([gammacoexist,k24coexist],float) np.savetxt(obsfwd.observable_sname("coexistence",plot_format='txt'),scoexist.T, fmt="%8.4e") width = 3.37 height = width fig = plt.figure() fig.set_size_inches(width,height) ax = fig.add_subplot(1,1,1)
axins.plot(ts,Rfrust,'>',color=colors[1],label=rf"${frustlab}$",markersize=2) axins.plot(ts,Rlin,'s',color=colors[0],label=rf"${linearlab}$",markersize=2) axins.set_xticks([0,1,2,3]) axins.set_ylim(0.02,8) #axins.set_xscale('log') axins.set_yscale('log') axins.tick_params(axis='x',labelsize=6,pad=0.3) axins.tick_params(axis='y',labelsize=6,pad=0) axins.set_xlabel(r"$t$",labelpad=-0.4) axins.set_ylabel(r"$R$",labelpad=0.0) axins.legend(frameon=False,loc='upper left', fontsize=6,ncol=1,bbox_to_anchor=(-0.05,1.05), borderpad=0.3,columnspacing=0.7,handletextpad=-0.1) ax.legend(frameon=False,loc='lower right',fontsize=10) fig.savefig(obsfwd.observable_sname(f"{observable}_SCALING"))
jlarge = find_j[-1] # find the point where the fwd E becomes larger than the bkwd E j = (np.argmin( np.abs(obsfwd.E()[jsmall:jlarge + 1] - obsbkwd.E()[jsmall:jlarge + 1])) + len(obsfwd.E()[:jsmall])) pstr = f"{k24:.2e} {gammas[j]:.2e} {jsmall} {obsfwd.R()[j]:.2e} {obsbkwd.R()[j]:.2e}" print(pstr) data2d[i, j] = 1 gammacoexist.append(obsfwd.data[j, 0]) k24coexist.append(k24) scoexist = np.array([gammacoexist, k24coexist], float) np.savetxt(obsfwd.observable_sname("coexistence", plot_format='txt'), scoexist.T, fmt="%8.4e") width = 3.37 height = width fig = plt.figure() fig.set_size_inches(width, height) ax = fig.add_subplot(1, 1, 1) ax.contourf(gammas, k24s, data2d, colors=["w", "g"]) ax.set_xlabel(r"$\gamma$", fontsize=10) ax.set_ylabel(r"$k_{24}$", fontsize=10) ax.text(0.1, 0.1, rf"$\Lambda={Lambda}$") fig.subplots_adjust(left=0.2, bottom=0.2)
# fc='white'), # arrowprops=dict(arrowstyle='-[, widthB=9.5, lengthB=1.0', lw=2.0)) #if j == 0: # grid[observable].axarr[i][j]['main'].set_ylabel(ylabel) # grid[observable].axarr[i][j]['slice_const_y'].set_ylabel(plabel) # grid[observable].axarr[i][j]['main'].annotate(rf'$k_{{24}}={k24}$', # xy=(-0.49,0.7), # xytext=(-0.5,0.7), # xycoords='axes fraction', # ha='center', # va='center', # bbox=dict(boxstyle='square', # fc='white'), # arrowprops=dict(arrowstyle='-[, widthB=9.5, lengthB=1.0', lw=2.0)) #else: # plt.setp(grid[observable].axarr[i][j]['slice_const_y'].get_yticklabels(), # visible=False) coexist = np.loadtxt(obs.observable_sname("coexistence", plot_format="txt")) for observable in observable_list: ax[observable].plot(coexist[:, 0], coexist[:, 1], 'k.') ax[observable].set_xlim(right=0.3) fig[observable].subplots_adjust(left=0.2, right=0.95, bottom=0.15) fig[observable].savefig(obs.observable_sname(observable)) plt.show()
color=colors[0])#, #arrowprops=dict(facecolor='black', shrink=0.001)) ax[observable].annotate(frustlab,xy=(gammas[g_eq],ysbkwd[i][g_eq]), xytext=(gammas[g_eq]-0.007,ysbkwd[i][g_eq]*1.3), color=colors[1])#, #arrowprops=dict(facecolor='black', shrink=0.001)) """ ax[observable].set_ylabel(rf"${ylabel}$",fontsize=10) ax[observable].set_xlabel(r"$\gamma$",fontsize = 10) ax[observable].legend(frameon=False,fontsize=10) ax[observable].set_xlim(0,0.3) for observable in observable_list: fig[observable].subplots_adjust(left=0.2,bottom=0.2) fig[observable].savefig(obsfwd.observable_sname("vary_Lambda"+observable, plot_format="pdf")) plt.show()
float) bw_coexist = np.empty([len(k24s), obsbwd.data.shape[-1] + 1], float) if len(obsfwd.data.shape) > 1: dum1 = obsfwd.data[-1, :] else: dum1 = obsfwd.data if len(obsbwd.data.shape) > 1: dum2 = obsbwd.data[-1, :] else: dum2 = obsbwd.data fw_coexist[i] = np.concatenate(([k24], dum1)) bw_coexist[i] = np.concatenate(([k24], dum2)) np.savetxt(obsfwd.observable_sname("fw_coexist", plot_format="txt"), fw_coexist, fmt='%15.8e') np.savetxt(obsbwd.observable_sname("bw_coexist", plot_format="txt"), bw_coexist, fmt='%15.8e')
ylabel = fr'$\{observable}$' else: ylabel = fr'${observable}$' ax[observable].plot(Lambdas[:i_fwd + 1], ysfwd[i][:i_fwd + 1], '.', color=colors[i]) ax[observable].plot(Lambdas[i_fwd:i_fwd + 2], ysfwd[i][i_fwd:i_fwd + 2], '-', color=colors[i]) ax[observable].plot(ms_bkwd, ysbkwd[i][1:], '-', color=colors[i]) ax[observable].plot(Lambdas[i_fwd + 2:], ysfwd[i][i_fwd + 2:], '.', color=colors[i]) ax[observable].set_xlabel(r"$\Lambda$", fontsize=24) ax[observable].set_ylabel(ylabel, fontsize=24) ax[observable].set_xscale('log') ax[observable].tick_params("both", labelsize=18) for observable in observable_list: fig[observable].subplots_adjust(left=0.15, right=0.95, bottom=0.1) fig[observable].savefig( obsfwd.observable_sname(observable, plot_format="png")) plt.show()
if observable == 'R': ax[observable].set_yscale('log') """ ax[observable].annotate(linearlab,xy=(gammas[g_eq],ysfwd[i][g_eq]), xytext=(gammas[g_eq]+0.007,ysfwd[i][g_eq]*0.5), color=colors[0])#, #arrowprops=dict(facecolor='black', shrink=0.001)) ax[observable].annotate(frustlab,xy=(gammas[g_eq],ysbkwd[i][g_eq]), xytext=(gammas[g_eq]-0.007,ysbkwd[i][g_eq]*1.3), color=colors[1])#, #arrowprops=dict(facecolor='black', shrink=0.001)) """ ax[observable].set_ylabel(rf"${ylabel}$", fontsize=10) ax[observable].set_xlabel(r"$\gamma$", fontsize=10) ax[observable].legend(frameon=False, fontsize=10) ax[observable].set_xlim(0, 0.3) for observable in observable_list: fig[observable].subplots_adjust(left=0.2, bottom=0.2) fig[observable].savefig( obsfwd.observable_sname("vary_omega" + observable, plot_format="pdf")) plt.show()
ax[observable].plot(Lambdas[1:], ysfwd[i][1:], '.-', color=colors[js], label=rf"$k_{{24}}={k24}$") #ax[observable].plot(Lambdas[:i_fwd+1],ysfwd[i][:i_fwd+1],'.',color=colors[i]) #ax[observable].plot(Lambdas[i_fwd:i_fwd+2],ysfwd[i][i_fwd:i_fwd+2],'-', # color=colors[i]) #ax[observable].plot(ms_bkwd,ysbkwd[i][1:],'-',color=colors[i]) #ax[observable].plot(Lambdas[i_fwd+2:],ysfwd[i][i_fwd+2:],'.',color=colors[i]) ax[observable].set_xlabel(r"$\Lambda$", fontsize=10) ax[observable].set_ylabel(ylabel, fontsize=10) #ax[observable].tick_params("both",labelsize=18) for observable in observable_list: if observable == "R": ax[observable].set_yscale('log') ax[observable].legend(frameon=False) ax[observable].set_xscale('log') fig[observable].subplots_adjust(left=0.2, right=0.98, bottom=0.15, top=0.95) fig[observable].savefig( obsfwd.observable_sname("gamma" + observable, plot_format="pdf")) plt.show()
color=colors[js], lw=3) ax["psi(r)"].plot(1.0, psistuff.psi()[-1], marker=mtypes[ms + 1], color=colors[js], markeredgewidth=0.5, markeredgecolor="w") for observable in observable_list: if observable == "R": ax[observable].set_yscale('log') ax[observable].set_zorder(1) ax[observable].legend(frameon=True, loc="upper left", bbox_to_anchor=(0.0, 0.0)) ax[observable].tick_params(labelbottom=False) ax[observable].set_xscale('log') # now plot psi(r) ax["psi(r)"].set_xlabel(r"$r/R$", fontsize=10) ax["psi(r)"].set_ylabel(r"$\psi(r)$", fontsize=10) fig.subplots_adjust(left=0.1, right=0.9, bottom=0.15, top=0.95) fig.savefig(obsfwd.observable_sname("radial-twopair", plot_format="pdf")) plt.show()
loadsuf=loadsuf, savesuf=savesuf, name=f"psivsr_{type}", loadfilepath=loadfilepath, datfile=datfile, sfile_format="pdf") rs = psistuff.r() / q psis = psistuff.psi() axins.plot(rs, psis, markertypes[i], label=f'{type} twist', lw=2) print("Radius = ", rs[-1], " nm.") print("surface twist = ", psis[-1], " rad.") axins.set_xlabel(r'$\tilde{r}$' + ' (' + r'$\si{\nano\meter}$' + ')', fontsize=8, labelpad=0.0) axins.set_ylabel(r'$\psi(\tilde{r})$' + ' (' + r'$\si{\radian}$' + ')', fontsize=8) axins.set_xlim(0, 120) axins.set_ylim(0, 0.1) axins.set_xticks([0, 50, 100]) axins.set_yticks([0, 0.05, 0.1]) axins.legend(frameon=False, fontsize=8) plt.show() fig.savefig(obsfwd.observable_sname(f"phase-diagram-with-psivsr"))
loadsuf = ["K_{33}", "k_{24}", "\\Lambda", "\\omega"] k24s = np.linspace(0.2, 1, num=41, endpoint=True) Lambda = '600.0' omega = '20.0' scan = {} scan['\\Lambda'] = Lambda scan['\\omega'] = omega # load in 2d grid of data in data2d for each observable at the # specified gamma,k24 pair. for i, k24 in enumerate(k24s): scan['k_{24}'] = str(k24) obsbwd = ObservableData(["\\gamma_s"], scan_dir='scanbackward', scan=scan, loadsuf=loadsuf, savesuf=savesuf, datfile='data/inputbwd.dat') obsbwd.data = obsbwd.data[np.argsort(obsbwd.data[:, 0])] np.savetxt(obsbwd.observable_sname("observables_scanbackward", plot_format="txt"), obsbwd.data, fmt='\t'.join(["%15.8e"] * 6))
j = 0 while (fw[j,0] != bw[j,0] and j < len(fw[:,0])): j += 1 out_idx = np.flatnonzero(fw[j:n,0]==bw[:n-j,0]) fw = fw[out_idx+j] bw = bw[out_idx] jsmall,jlarge,jeq = find_metastable(fw[:,3],bw[:,3],fw[:,2],bw[:,2]) fw_line = [] bw_line = [] for k in range(7): fw_line.append(fw[jeq,k]) bw_line.append(bw[jeq,k]) fw_coexist[i,:] = fw_line bw_coexist[i,:] = bw_line np.savetxt(obsfwd.observable_sname('fwd_coexist',plot_format='txt'),fw_coexist,fmt='%13.6e') np.savetxt(obsbkwd.observable_sname('bkwd_coexist',plot_format='txt'),bw_coexist,fmt='%13.6e')
arrowprops=dict(arrowstyle='-[, widthB=9.5, lengthB=1.0', lw=2.0)) if j == 0: grid[observable].axarr[i][j]['main'].set_ylabel(ylabel) grid[observable].axarr[i][j]['slice_const_y'].set_ylabel( plabel) grid[observable].axarr[i][j]['main'].annotate( rf'$k_{{24}}={k24}$', xy=(-0.49, 0.7), xytext=(-0.5, 0.7), xycoords='axes fraction', ha='center', va='center', bbox=dict(boxstyle='square', fc='white'), arrowprops=dict(arrowstyle='-[, widthB=9.5, lengthB=1.0', lw=2.0)) else: plt.setp(grid[observable].axarr[i][j] ['slice_const_y'].get_yticklabels(), visible=False) for observable in observable_list: fig[observable].subplots_adjust(left=0.2, right=0.95) fig[observable].savefig(obs.observable_sname("LO_" + observable)) plt.show()
else: linearlab = rf"${ylabel}_L^*$" frustlab = rf"${ylabel}_F^*$" ax.plot(ts, obsfwd.data[:, i + 1], '^', color=colors[0], label=linearlab, markersize=3) ax.plot(ts, obsbwd.data[:, i + 1], 's', color=colors[1], label=frustlab, markersize=3) if observable == "R": ax.set_yscale('log') #ax.plot(xs,func_l(xs),'-') #ax.plot(xs,func_f(xs),'-') ax.set_ylabel(rf"${ylabel}$", fontsize=10) ax.set_xlabel(r"$t$", fontsize=10) ax.legend(frameon=False, fontsize=10) fig.subplots_adjust(left=0.2, bottom=0.2) fig.savefig(obsfwd.observable_sname(f"{observable}_GAP"))
tilt = expdata[:,2]*np.pi/180.0 stresspoints = expdata[:,3] for observable in observable_list: if observable == "stress": ax[observable].plot(strainpoints,stresspoints,'k^',label="expt.") ax[observable].set_ylim(0,stresses[-1]+10) ax[observable].legend(frameon=False) if observable == "surfacetwist": ax[observable].plot(strainpoints,tilt,'k^',label="expt.") slope = np.gradient(tilt,strainpoints)[2] ax[observable].set_xlabel(r"$\epsilon\times100\%$",fontsize = 10) ax[observable].set_xlim(left=0) print(f"for experiment, slope is {slope}") fig.subplots_adjust(left=0.2,right=0.8,bottom=0.1,top=0.95,hspace=0.05) fig.savefig(obsfwd.observable_sname("psiavg_etc-vsstrain",plot_format="pdf")) plt.show()
scan=scan, loadsuf=loadsuf, savesuf=savesuf) observables_list = ["E", "R", "eta", "delta", "psi(R)"] k24s = obsfwd.data[:, 0] delR = (obsbwd.data[:, 3] - obsfwd.data[:, 3]) ys = np.log(delR) popt, pcov = curve_fit(func, k24s, ys) fig = plt.figure() fig.set_size_inches(width, height) ax = fig.add_subplot(1, 1, 1) ax.set_ylabel(rf"$\Delta R$", fontsize=10) ax.set_xlabel(r"$k_{24}$", fontsize=10) ax.plot(k24s, delR, '.') ax.plot(k24s, np.exp(func(k24s, popt[0], popt[1])), '-') ax.plot(k24s, np.exp(func(k24s, 0.3, -0.5)), '-') ax.legend(frameon=False, fontsize=10) fig.subplots_adjust(left=0.2, bottom=0.2) fig.savefig(obsfwd.observable_sname(f"delR-fit"))
breaks[js] = strains[np.argmax( stresses[stresses == stresses])] * 100 print(Lambda, breaks[js]) ax["youngs"].plot(Larray, youngs, 'o-', color=colors[ks], label=rf"$(\gamma,k_{{24}})=({gamma},{k24})$") ax["youngs"].set_ylabel(r"$Y$") ax["youngs"].set_xscale('log') ax["youngs"].set_yscale('log') ax["breaks"].plot(Larray, breaks, 'o-', color=colors[ks], label=rf"$(\gamma,k_{{24}})=({gamma},{k24})$") ax["breaks"].set_ylabel(r"$\epsilon_{\mathrm{max}}\times100\%$") ax["breaks"].set_xlabel(r"$\Lambda$") ax["breaks"].set_xscale('log') ax["breaks"].set_ylim(top=5) ax["breaks"].legend(loc="lower left", bbox_to_anchor=(0.2, 0.7), frameon=False) fig.subplots_adjust(left=0.2, right=0.8, bottom=0.1, top=0.95, hspace=0.05) fig.savefig(obsfwd.observable_sname("youngs-vs-Lambda", plot_format="pdf")) plt.show()
color=colors[js], lw=1) ax[observable].plot(Lambdas[ms_upper:i_Lambda], ysbkwd[i][ms_upper:i_Lambda], '-', color=colors[js], lw=1) ax[observable].plot(Lambdas[i_Lambda:], ysbkwd[i][i_Lambda:], '-', color=colors[js], lw=3) ax[observable].set_ylabel(ylabel, fontsize=10) ax[observable].set_xlabel(r"$\Lambda$", fontsize=10) for observable in observable_list: if observable == "E": ax[observable].legend(frameon=False, loc="best", bbox_to_anchor=(0.2, -0.07, 0.5, 0.5)) ax[observable].set_xscale('log') fig.subplots_adjust(left=0.2, right=0.8, bottom=0.1, top=0.95, hspace=0.05) fig.savefig(obsfwd.observable_sname("E-eta-delta-twopair", plot_format="pdf")) plt.show()
# xycoords='axes fraction', # ha='center', # va='center', # bbox=dict(boxstyle='square', # fc='white'), # arrowprops=dict(arrowstyle='-[, widthB=9.5, lengthB=1.0', lw=2.0)) #if j == 0: # grid[observable].axarr[i][j]['main'].set_ylabel(ylabel) # grid[observable].axarr[i][j]['slice_const_y'].set_ylabel(plabel) # grid[observable].axarr[i][j]['main'].annotate(rf'$k_{{24}}={k24}$', # xy=(-0.49,0.7), # xytext=(-0.5,0.7), # xycoords='axes fraction', # ha='center', # va='center', # bbox=dict(boxstyle='square', # fc='white'), # arrowprops=dict(arrowstyle='-[, widthB=9.5, lengthB=1.0', lw=2.0)) #else: # plt.setp(grid[observable].axarr[i][j]['slice_const_y'].get_yticklabels(), # visible=False) for observable in observable_list: fig[observable].subplots_adjust(left=0.2, right=0.95) fig[observable].savefig(obs.observable_sname(observable)) plt.show()
if observable == "stress_max": ylabel = r"$\sigma_{\mathrm{max}}$" elif observable == "strain_max": ylabel = r"$\epsilon(\sigma_{\mathrm{max}})$" ax[observable].plot(omegaarray,ys_arrays[observable],'.-',color=colors[kj], label=rf"$\Lambda={Lambda}$") ax[observable].set_ylabel(ylabel,fontsize = 10) ax[observable].set_xlabel(r"$\omega$",fontsize = 10) for observable in observable_list: ax[observable].set_xscale('log') if observable == "strain_max": ax[observable].legend(frameon=False) fig.subplots_adjust(left=0.2,right=0.8,bottom=0.1,top=0.95,hspace=0.05) fig.savefig(obsfwd.observable_sname("omega_dependent_failure",plot_format="pdf")) plt.show()