# Converted from st_st.m - Steady state multiplicity for multiple DeltaH valuesimportnumpyasnpfromscipy.optimizeimportfsolvefrommiscimportoctave_savep=dict(k_m=0.001,T_m=298.,E=8000.,c_Af=2.,C_p=4.,rho=1000.,T_f=298.,T_a=298.,U=0.,)p['C_ps']=p['rho']*p['C_p']defst_st_cA(x,c_A,DeltaH_R,p):theta=x[0];T=x[1]k=p['k_m']*np.exp(-p['E']*(1./T-1./p['T_m']))return[p['c_Af']-(1+k*theta)*c_A,p['U']*theta*(p['T_a']-T)+p['C_ps']*(p['T_f']-T)-k*theta*c_A*DeltaH_R]nc_As=500c_Avect=np.linspace(0.995*p['c_Af'],0.002*p['c_Af'],nc_As)DelHvec=[-3e5,-2e5,-1e5,-0.5e5,0.,5e4]nH=len(DelHvec)table_list=[]forj,DeltaH_Rinenumerate(DelHvec):tmp_table=np.zeros((nc_As,4))x0=[1.,p['T_f']]fori,c_Ainenumerate(c_Avect):X,info_d,ier,msg=fsolve(lambdax:st_st_cA(x,c_A,DeltaH_R,p),x0,full_output=True)theta=X[0];T=X[1]conv=(p['c_Af']-c_A)/p['c_Af']tmp_table[i,:]=[theta,T,conv,float(ier)]x0=Xtable_list.append(tmp_table)# Save each table separately since octave_save doesn't support cell arraysvars_to_save=tuple((f'table{j}',t)forj,tinenumerate(table_list))octave_save('st_st.dat',*vars_to_save)