# Converted from rls_5.m# Compares nscheme=1 (rx1 rls) vs nscheme=0 (full) for k2=k_2=10importnumpyasnpfromscipy.integrateimportsolve_ivpfrommiscimportsave_asciik1=1.0k_1=0.5k2=10.0k_2=10.0c_A0=1.0c_B0=0.4c_C0=0.0defrhs(t,x,nscheme,k2,k_2):c_A,c_B,c_C=xr1=k1*c_A-k_1*c_Br2=k2*c_B-k_2*c_Cifnscheme==0:returnnp.array([-r1,r1-r2,r2])elifnscheme==1ornscheme==5:K2=k2/k_2returnnp.array([-r1,1/(1+K2)*r1,K2/(1+K2)*r1])elifnscheme==2:K1=k1/k_1returnnp.array([-1/(1+K1)*r2,-K1/(1+K1)*r2,r2])elifnscheme==3:c_B=k1/(k_1+k2)*c_A+k_2/(k_1+k2)*c_Cr1=k1*c_A-k_1*c_Br2=k2*c_B-k_2*c_CdB=(k1*k2*(k_2-k1)/(k_1+k2)**2*c_A+k_1*k_2*(k1-k_2)/(k_1+k2)**2*c_C)returnnp.array([-r1,dB,r2])sqeps=np.sqrt(np.finfo(float).eps)tfinal=5.0ntimes=200tout=np.linspace(0,tfinal,ntimes)# nscheme=1: IC for rx1 rlsnscheme=1K2=k2/k_2x0=np.array([c_A0,1/(1+K2)*(c_B0+c_C0),K2/(1+K2)*(c_B0+c_C0)])sol1=solve_ivp(lambdat,x:rhs(t,x,nscheme,k2,k_2),[0,tfinal],x0,method='Radau',t_eval=tout,rtol=sqeps,atol=sqeps)table=np.column_stack([tout,sol1.y.T])# nscheme=0: IC for full modelnscheme=0x0=np.array([c_A0,c_B0,c_C0])sol0=solve_ivp(lambdat,x:rhs(t,x,nscheme,k2,k_2),[0,tfinal],x0,method='Radau',t_eval=tout,rtol=sqeps,atol=sqeps)table=np.column_stack([table,sol0.y.T])save_ascii('rls_5.dat',table)