def main(lamb0=1, time_f=10, lamb_lim=None, dotlamb_lim=None): time = np.linspace(0.0,time_f,time_f*2+1) # solving differential equations using odeint for axisymmetric and elliptic drops solut_cr = el_od.eq_solver(lamb0, time, lamby0=lamb0) solut_el = el_od.eq_solver(2*lamb0, time, lamby0=0.5*lamb0) # solving analytical eqs. for axisymmetric drop lamb_an_cr = an_eq.d2_lambda_evol(lamb0, time) dotlamb_an_cr = an_eq.d2_dot_lambda(lamb_an_cr, lamb0) #plotting fig = plt.figure(1, figsize = (6.5,5.5)) ax = plt.subplot(1,1,1) #plotting a numerical solution for an elliptic drop plt.plot(time, solut_el[:,0], "g", time, solut_el[:,2], "g") # plotting a numerical and an analytical solution for an axisymmetric drop plt.plot(time, solut_cr[:,0], "r", time, lamb_an_cr, "r o") plt.xlabel("time", fontsize=16) plt.ylabel(r'$\lambda$ ',fontsize=20) ax.set_ylim(0, lamb_lim) for item in plt.xticks()[1] + plt.yticks()[1]: item.set_fontsize(15) ax1 = ax.twinx() #plotting d lambda / dt in the same way as lambda plt.plot(time, solut_el[:,1], "g--", time, solut_el[:,3], "g--") plt.plot(time, solut_cr[:,1], "r--", time, dotlamb_an_cr, "r o") for item in plt.xticks()[1] + plt.yticks()[1]: item.set_fontsize(15) for i, tick in enumerate(ax.yaxis.get_major_ticks()): if i % 2 != 0: tick.label1On = False plt.ylabel(r'$\dot{\lambda}$ ', fontsize=20) ax1.set_ylim(0, dotlamb_lim) plt.tight_layout() plt.savefig("fig3.pdf") plt.show()
def main(lamb0=1, time_f=10, lamb_lim=None, dotlamb_lim=None): time = np.linspace(0.0, time_f, time_f * 2 + 1) # solving differential equations using odeint for axisymmetric and elliptic drops solut_cr = el_od.eq_solver(lamb0, time, lamby0=lamb0) solut_el = el_od.eq_solver(2 * lamb0, time, lamby0=0.5 * lamb0) # solving analytical eqs. for axisymmetric drop lamb_an_cr = an_eq.d2_lambda_evol(lamb0, time) dotlamb_an_cr = an_eq.d2_dot_lambda(lamb_an_cr, lamb0) #plotting fig = plt.figure(1, figsize=(6.5, 5.5)) ax = plt.subplot(1, 1, 1) #plotting a numerical solution for an elliptic drop plt.plot(time, solut_el[:, 0], "g", time, solut_el[:, 2], "g") # plotting a numerical and an analytical solution for an axisymmetric drop plt.plot(time, solut_cr[:, 0], "r", time, lamb_an_cr, "r o") plt.xlabel("time", fontsize=16) plt.ylabel(r'$\lambda$ ', fontsize=20) ax.set_ylim(0, lamb_lim) for item in plt.xticks()[1] + plt.yticks()[1]: item.set_fontsize(15) ax1 = ax.twinx() #plotting d lambda / dt in the same way as lambda plt.plot(time, solut_el[:, 1], "g--", time, solut_el[:, 3], "g--") plt.plot(time, solut_cr[:, 1], "r--", time, dotlamb_an_cr, "r o") for item in plt.xticks()[1] + plt.yticks()[1]: item.set_fontsize(15) for i, tick in enumerate(ax.yaxis.get_major_ticks()): if i % 2 != 0: tick.label1On = False plt.ylabel(r'$\dot{\lambda}$ ', fontsize=20) ax1.set_ylim(0, dotlamb_lim) plt.tight_layout() plt.savefig("fig3.pdf") plt.show()
def main(lambx0_l=[2, 3], time_f=50, partlamb_lim=2.2): time = np.linspace(0.0, time_f, time_f * 2 + 1) solut = {} #solving differential equations up for lambda_{x0} from the list - lambx0_l for lambx0 in lambx0_l: solut[str(lambx0)] = el_od.eq_solver(lambx0, time) #plotting the relation obtained from energy conservation fig = plt.figure(1, figsize=(8., 5)) ax = plt.subplot(1, 1, 1) #plotting the LHS of eq. 14 for lambda_{x0} = 2 and 3 plt.plot(time, solut["2"][:, 3]**2 + solut["2"][:, 1]**2, "g", time, solut["3"][:, 3]**2 + solut["3"][:, 1]**2, "b") #plotting the RHS of eq. 14 for lambda_{x0} = 2 and 3 plt.plot(time[::2], 4 * (1. / 2 - 1. / solut["2"][::2, 2] / solut["2"][::2, 0]), "go", time[::2], 4 * (1. / 3 - 1. / solut["3"][::2, 2] / solut["3"][::2, 0]), "bo") plt.xlabel("time", fontsize=16) plt.ylabel(r'$\dot{\lambda_x}^2 + \dot{\lambda_y}^2$', fontsize=20) for item in plt.xticks()[1] + plt.yticks()[1]: item.set_fontsize(15) ax.set_ylim(0, partlamb_lim) ax.set_xlim(0, time_f) plt.tight_layout() plt.savefig("fig2.pdf") plt.show()
def main(lambx0_l=[2,3], time_f=50, partlamb_lim=2.2): time = np.linspace(0.0,time_f,time_f*2+1) solut = {} #solving differential equations up for lambda_{x0} from the list - lambx0_l for lambx0 in lambx0_l: solut[str(lambx0)] = el_od.eq_solver(lambx0, time) #plotting the relation obtained from energy conservation fig = plt.figure(1, figsize = (8.,5)) ax = plt.subplot(1,1,1) #plotting the LHS of eq. 14 for lambda_{x0} = 2 and 3 plt.plot(time, solut["2"][:,3]**2 + solut["2"][:,1]**2, "g", time, solut["3"][:,3]**2 + solut["3"][:,1]**2, "b") #plotting the RHS of eq. 14 for lambda_{x0} = 2 and 3 plt.plot(time[::2], 4 * (1./2 - 1./solut["2"][::2,2]/solut["2"][::2,0]), "go", time[::2], 4 * (1./3 - 1./solut["3"][::2,2]/solut["3"][::2,0]), "bo") plt.xlabel("time", fontsize=16) plt.ylabel(r'$\dot{\lambda_x}^2 + \dot{\lambda_y}^2$', fontsize=20) for item in plt.xticks()[1] + plt.yticks()[1]: item.set_fontsize(15) ax.set_ylim(0, partlamb_lim) ax.set_xlim(0, time_f) plt.tight_layout() plt.savefig("fig2.pdf") plt.show()