# Converted from pfr_sep_cstr.mimportnumpyasnpfromscipy.optimizeimportfsolvefrommiscimportoctave_savek=1.0;theta=1.0ktheta=k*thetaxpfr=1-np.exp(-ktheta)xcstr=ktheta/(1+ktheta)classP:passdefrecycle_reactor(x,p):Na1,Na2=x[0],x[1]ifp.ntype==1:Na3=x[2]alpha=p.alphaelse:Na3=p.Na3alpha=x[2]return[(1+ktheta/Na1)*Na2-Na1,alpha*Na2+1-Na1,Na3-(1-alpha)*Na2]p=P();p.ntype=1;p.ktheta=ktheta;p.Na3=np.nannalpha=250xalpha=np.linspace(0,1,nalpha)x_sol=np.array([1.,1/(1+ktheta),1/(1+ktheta)])xrec=np.zeros(nalpha)xpass=np.zeros(nalpha)fori,ainenumerate(xalpha):p.alpha=axs=fsolve(lambdax:recycle_reactor(x,p),x_sol)x_sol=xsNa1,Na2,Na3=xsxrec[i]=1-Na3xpass[i]=(Na1-Na2)/Na1table=np.column_stack([xalpha,xrec,xpass])p.ntype=2;p.Na3=1-xpfr;p.alpha=np.nanxs2=fsolve(lambdax:recycle_reactor(x,p),np.array([1.,1/(1+ktheta),0.]))alpha_pfr=xs2[2]auxtable=np.array([[0.,xpfr,xcstr,alpha_pfr,0.],[1.,xpfr,xcstr,alpha_pfr,1.]])octave_save('pfr_sep_cstr.dat',('table',table),('auxtable',auxtable))