# Converted from strcstr.mimportnumpyasnpfromscipy.integrateimportsolve_ivpfrommiscimportsave_asciiclassP:passp=P()p.caf=2.0p.cao=0.0p.k=0.1p.theta=100.0tf=120.0c_ss=p.caf/(1+p.k*p.theta)defmat_bal(t,x,p):ca=x[0]return[(1/p.theta)*(p.caf-ca)-p.k*ca]t=np.arange(0,tf+0.1,0.1)sqeps=np.sqrt(np.finfo(float).eps)tff=int(10*tf)+1# Case 1: cao = 0sol1=solve_ivp(lambdat,x:mat_bal(t,x,p),[0,tf],[p.cao],method='Radau',t_eval=t,rtol=sqeps,atol=sqeps)solution=sol1.y.T# Case 2: cao = 2p.cao=2.0sol2=solve_ivp(lambdat,x:mat_bal(t,x,p),[0,tf],[p.cao],method='Radau',t_eval=t,rtol=sqeps,atol=sqeps)solution1=sol2.y.Tanswer=np.column_stack([t,solution[:,0],c_ss*np.ones(len(t)),solution1[:,0]])save_ascii('strcstr.dat',answer)