reactors = ReactorNet([r1, r2]) tim = [] t1 = [] t2 = [] v1 = [] v2 = [] v = [] xco = [] xh2 = [] for n in range(30): time = (n+1)*0.002 reactors.advance(time) print fmt % (time, r1.temperature(), r2.temperature(), r1.volume(), r2.volume(), r1.volume() + r2.volume(), r2.moleFraction('CO')) tim.append(time) t1.append(r1.temperature()) t2.append(r2.temperature()) v1.append(r1.volume()) v2.append(r2.volume()) v.append(r1.volume() + r2.volume()) xco.append(r2.moleFraction('CO')) xh2.append(r1.moleFraction('H2')) # plot the results if matplotlib is installed. # see http://matplotlib.sourceforge.net to get it args = sys.argv
time = 0.0 f = open('piston.csv','w') writeCSV(f,['time (s)','T1 (K)','P1 (Bar)','V1 (m3)', 'T2 (K)','P2 (Bar)','V2 (m3)']) temp = zeros([300, 2], 'd') pres = zeros([300, 2], 'd') vol = zeros([300, 2], 'd') tm = zeros(300,'d') for n in range(300): time += 4.e-4 print time, r2.temperature(),n sim.advance(time) tm[n] = time temp[n,:] = [r1.temperature(), r2.temperature()] pres[n,:] = [1.0e-5*r1.pressure(), 1.0e-5*r2.pressure()] vol[n,:] = [r1.volume(), r2.volume()] writeCSV(f, [tm[n], temp[n,0], pres[n,0], vol[n,0], temp[n,1], pres[n,1], vol[n,1]]) f.close() import os print 'Output written to file piston.csv' print 'Directory: '+os.getcwd() args = sys.argv if len(args) > 1 and args[1] == '-plot': try: from matplotlib.pylab import * clf subplot(2,2,1) plot(tm, temp[:,0],'g-',tm, temp[:,1],'b-') legend(['Reactor 1','Reactor 2'],2)
writeCSV(f, [ 'time (s)', 'T1 (K)', 'P1 (Bar)', 'V1 (m3)', 'T2 (K)', 'P2 (Bar)', 'V2 (m3)' ]) temp = zeros([300, 2], 'd') pres = zeros([300, 2], 'd') vol = zeros([300, 2], 'd') tm = zeros(300, 'd') for n in range(300): time += 4.e-4 print time, r2.temperature(), n sim.advance(time) tm[n] = time temp[n, :] = [r1.temperature(), r2.temperature()] pres[n, :] = [1.0e-5 * r1.pressure(), 1.0e-5 * r2.pressure()] vol[n, :] = [r1.volume(), r2.volume()] writeCSV(f, [ tm[n], temp[n, 0], pres[n, 0], vol[n, 0], temp[n, 1], pres[n, 1], vol[n, 1] ]) f.close() import os print 'Output written to file piston.csv' print 'Directory: ' + os.getcwd() args = sys.argv if len(args) > 1 and args[1] == '-plot': try: from matplotlib.pylab import * clf subplot(2, 2, 1)
reactors = ReactorNet([r1, r2]) tim = [] t1 = [] t2 = [] v1 = [] v2 = [] v = [] xco = [] xh2 = [] for n in range(30): time = (n + 1) * 0.002 reactors.advance(time) print fmt % (time, r1.temperature(), r2.temperature(), r1.volume(), r2.volume(), r1.volume() + r2.volume(), r2.moleFraction('CO')) tim.append(time) t1.append(r1.temperature()) t2.append(r2.temperature()) v1.append(r1.volume()) v2.append(r2.volume()) v.append(r1.volume() + r2.volume()) xco.append(r2.moleFraction('CO')) xh2.append(r1.moleFraction('H2')) # plot the results if matplotlib is installed. # see http://matplotlib.sourceforge.net to get it args = sys.argv if len(args) > 1 and (args[1] == '-plot' or args[1] == '-p'
gas2.set(T=290, P=OneAtm, X="N2:1") env = Reservoir(gas2) # Reaktorgemisch vorlegen // 1m3 # gas2.set(T=400+273.75, P=OneAtm/1.3, X='CO:20, CO2:60, O2:4.2, N2:15.8') # 24.334 0.7311988 # 25.215 0.5627019 gas2.set(T=25.215 + 273.15, P=56270, X="O2:21.6, N2:79.1") # gas2.set(T=900, P=OneAtm, X='CO:20, CO2:60, N2:15.8 , O2:4.2') r2 = Reactor(gas2, volume=0.025) heatrate = Polynomial([-64.0e-1, 0.0, 0.0]) wall = Wall(left=r2, right=env) # in Joule print " Heizrate in MW ", heatrate(1) / 1000 print " Heizrate in MW/m3 ", heatrate(1) / r2.volume() / 1000 wall.set(Q=heatrate) sim = ReactorNet([r2]) print "H20", r2.moleFraction("H2O") print "CH4", r2.moleFraction("CH4") print "CO2", r2.moleFraction("CO2") print "CO", r2.moleFraction("CO") print "O2", r2.moleFraction("O2") print "N2", r2.moleFraction("N2") time_list = [] temp_list = [] temp_list3 = [] # Abbruchkriterium haelfte des Sauerstoffs ist Verbraucht.