gas_in = ct.Solution(input_file) gas_in.TPX = 273.15, 1e05, X_in #Inlet mass flow rate [kg/s] at 3 SLPM mdot0 = 3 * 1.66667e-5 * gas_in.density #Temperature range to simulate Trange = [T_in] Trange = list(np.linspace(273.15 + 300, 273.15 + 700, 50)) #u_in = np.geomspace(1,1e05,len(Trange))*1.0 #Initialize reactor r = pfr.PlugFlowReactor(gas, z_out=0.01, diam=0.01520) #Initialize reacting wall rs = pfr.ReactingSurface(r, surf, cat_area_pvol=1.75e04) #Create a ReactorSolver object sim = pfr.ReactorSolver(r, tcovs=1e03, atol=1e-10, rtol=1e-06, grid=250, max_steps=5000, solver_type='dae') #Create dict to store results at each temperature temp = { 'Xg': [], 'covs': [], 'co_conv': [],
energy=1, momentum=0, z_out=0.01, diam=0.0195, support_type='honeycomb', sp_area=sv, porosity=0.7, dc=1e-03, ext_mt=0) #Initialize the reacting wall rs = pfr.ReactingSurface(r, surf, cat_area_pvol=sv * 8.5, int_mt=1, lim_species=wc_spc, thickness=4e-05, pore_diam=2.5e-08, epsilon=0.3, tortuosity=5) #Create a ReactorSolver object sim = pfr.ReactorSolver(r, tcovs=1e5, atol=1e-09, rtol=1e-07, grid=300, solver_type='dae') #Set up equilibrium gas phase gas_eq = ct.Solution(input_file)
gas_in.TPX = 273.15, P_in, X_in #Inlet mass flow rate [kg/s] at 0.3-30 SLPM vdot0 = np.array([0.03, 0.3, 3, 30, 300, 3000]) mdot0 = vdot0 * 1.66667e-5 * gas_in.density #Temperature range to simulate #Trange = [T_in] Trange = list(np.linspace(273.15 + 300, 273.15 + 700, 60)) #u_in = np.geomspace(1,1e05,len(Trange))*1.0 #Initialize reactor r = pfr.PlugFlowReactor(gas, z_out=0.01, diam=0.01520) #Initialize reacting wall rs = pfr.ReactingSurface(r, surf, bulk=[bulk], cat_area_pvol=7e03) #Create a ReactorSolver object sim = pfr.ReactorSolver(r, tcovs=1e03, atol=1e-10, rtol=1e-06, grid=250, max_steps=5000, solver_type='dae') #Create dict to store results at each temperature out = {'Xg': [], 'covs': [], 'co_conv': [], 'co_conv_eq': [], 'tau': []} #CO index co_idx = r.gas.species_index('CO')
#Wall area [m**2] wallarea = np.pi * tube_d * length #Catalytic area per volume [m**-] cat_area_pvol = wallarea / (length * carea) #Volumetric flow [m**3/s] vdot_in = 0.02337 u_in = vdot_in / carea #Initialize reactor r = pfr.PlugFlowReactor(gas, momentum=1, z_out=length, diam=tube_d) #Initialize the reacting wall rs = pfr.ReactingSurface(r, surf, bulk=[bulk_n, bulk_si], cat_area_pvol=cat_area_pvol) #Set inlet thermo state r.TPX = T_in, P_in, X_in #Set inlet mass flow rate [kg/s] r.u = u_in #Create a ReactorSolver object sim = pfr.ReactorSolver(r, atol=1e-08, rtol=1e-06, grid=7, max_steps=1000, solver_type='dae')
mdot0 = 3 * 1.66667e-5 * gas_in.density #Temperature range to simulate Trange = [T_in] Trange = list(np.linspace(273.15 + 300, 273.15 + 700, 30)) #Catalytic area per volume [m**-1] cat_area = 1.75e04 #Initialize reactors r0 = pfr.PlugFlowReactor(gas0, energy=0, z_out=0.01, diam=0.01520) r = pfr.PlugFlowReactor(gas, energy=0, z_out=0.01, diam=0.01520) #Initialize the reacting wall rs0 = pfr.ReactingSurface(r0, surf0, cat_area_pvol=cat_area) rs = pfr.ReactingSurface(r, surf, cat_area_pvol=cat_area) #Create a ReactorSolver object sim0 = pfr.ReactorSolver(r0, tcovs=1e03, atol=1e-12, rtol=1e-07, grid=100, max_steps=5000, solver_type='dae') sim = pfr.ReactorSolver(r, tcovs=1e03, atol=1e-12,
r = pfr.PlugFlowReactor( gas, energy=1, z_out=length, diam=dcell, support_type='honeycomb', porosity=1.0, #Simulates a clear channel dc=dcell, ext_mt=0) #Initialize the reacting wall rs0 = pfr.ReactingSurface(r0, surf, cat_area_pvol=cat_area_pvol, int_mt=1, lim_species='CO', thickness=wc.thickness, pore_diam=wc.pore_diam, epsilon=wc.epsilon, tortuosity=wc.tortuosity) #Initialize the reacting wall rs = pfr.ReactingSurface(r, surf, cat_area_pvol=cat_area_pvol, int_mt=2, thickness=wc.thickness, pore_diam=wc.pore_diam, epsilon=wc.epsilon, tortuosity=wc.tortuosity, gas_wc=gas_wc,
#Catalytic active area per reactor volume [m**-1] cat_area_pvol = 3.5e02 #Initialize reactor r = pfr.PlugFlowReactor(gas, z_out=0.001, diam=d_channel, support_type='foam', sp_area=3e03, dc=1e-04, porosity=0.8, ext_mt=1) #Initialize the reacting wall rs = pfr.ReactingSurface(r, surf, cat_area_pvol=cat_area_pvol) #Set inlet thermo state r.TPX = T_in, P_in, X_in #Set inlet velocity [m/s] r.u = u_in #Create a ReactorSolver object sim = pfr.ReactorSolver(r, atol=1e-14, rtol=1e-06, grid=300, tcovs=1e04, solver_type='dae')
gas_600 = ct.Solution(input_file) gas_600.TPX = 600, P_in, X_in gas_600.transport_model = 'Mix' #Compute inlet mass flow rate @600 K vdot_in = carea * u_in_600 #Volumetric flow rate [m**3/s] mdot_in = vdot_in * gas_600.density #Mass flow rate [kg/s] #Compute Reynolds number (at inlet conditions) Re = gas_600.density * u_in_600 * tube_d / gas_600.viscosity #Initialize reactor r1 = pfr.PlugFlowReactor(gas, z_in=0.01, z_out=0.1, diam=tube_d) #Initialize the reacting wall rwall1 = pfr.ReactingSurface(r1, surf, cat_area_pvol=cat_area_pvol) #Set inlet thermo state r1.TPX = T_in, P_in, X_in #Set inlet mass flow rate [kg/s] r1.mdot = mdot_in #Create a ReactorSolver object sim1 = pfr.ReactorSolver(r1, atol=1e-10, rtol=1e-08, grid=300, max_steps=1000, solver_type='dae')