gas = GRI30('Mix') gas.addTransportModel('Multi') # set its state to that of the unburned gas gas.setState_TPX(tin, p, comp) f = FreeFlame(gas = gas, grid = initial_grid, tfix = 600.0) # set the upstream properties f.inlet.set(mole_fractions = comp, temperature = tin) f.set(tol = tol_ss, tol_time = tol_ts) f.showSolution() f.set(energy = 'off') f.setRefineCriteria(ratio = 10.0, slope = 1, curve = 1) f.setMaxJacAge(50, 50) f.setTimeStep(1.0e-5, [2, 5, 10, 20, 50]) f.solve(loglevel, refine_grid) f.save('ch4_adiabatic.xml','no_energy', 'solution with the energy equation disabled') f.set(energy = 'on') f.setRefineCriteria(ratio = 3.0, slope = 0.1, curve = 0.2) f.solve(loglevel, refine_grid) f.save('ch4_adiabatic.xml','energy', 'solution with the energy equation enabled') print 'mixture-averaged flamespeed = ',f.u()[0] gas.switchTransportModel('Multi')
gas.set(T = tin, P = p, X = comp) f = FreeFlame(gas = gas, grid = initial_grid) # set the properties at the inlet f.inlet.set(mole_fractions = comp, temperature = tin) f.set(tol = tol_ss, tol_time = tol_ts) f.setMaxJacAge(5, 10) f.set(energy = 'off') #f.init() f.showSolution() f.solve(loglevel, refine_grid) f.setRefineCriteria(ratio = 5.0, slope = 0.05, curve = 0.005, prune = 0.0) f.set(energy = 'on') f.solve(loglevel,refine_grid) f.save('freeflame1.xml') f.showSolution() # write the velocity, temperature, and mole fractions to a CSV file z = f.flame.grid() T = f.T() u = f.u() V = f.V() fcsv = open('freeflame1.csv','w') writeCSV(fcsv, ['z (m)', 'u (m/s)', 'V (1/s)', 'T (K)', 'rho (kg/m3)'] + list(gas.speciesNames()))
# set the properties at the inlet f.inlet.set(mole_fractions = comp, temperature = tin) f.set(tol = tol_ss, tol_time = tol_ts) #f.setMaxJacAge(5, 10) f.setMaxJacAge(100, 500) f.setTimeStep(1.0e-6, [0.1, 1, 2, 5, 10, 20]) f.set(energy = 'off') #f.init() f.showSolution() f.solve(loglevel, refine_grid) #f.setRefineCriteria(ratio = 5.0, slope = 0.05, curve = 0.005, prune = 0.0) f.setRefineCriteria(ratio = 1.0, slope = 0.2, curve = 0.3, prune = 0.03) f.set(energy = 'on') f.solve(loglevel,refine_grid) #f.save('freeflame1.xml') f.showSolution() # write the velocity, temperature, and mole fractions to a CSV file z = f.flame.grid() T = f.T() u = f.u() V = f.V() fcsv = open('freeflame1.csv','w') writeCSV(fcsv, ['z (m)', 'u (m/s)', 'V (1/s)', 'T (K)', 'rho (kg/m3)'] + list(gas.speciesNames()))
gas = GRI30('Mix') gas.addTransportModel('Multi') # set its state to that of the unburned gas gas.setState_TPX(tin, p, comp) f = FreeFlame(gas = gas, grid = initial_grid, tfix = 600.0) # set the upstream properties f.inlet.set(mole_fractions = comp, temperature = tin) f.set(tol = tol_ss, tol_time = tol_ts) f.showSolution() f.set(energy = 'off') f.setRefineCriteria(ratio = 10.0, slope = 1, curve = 1) f.setMaxJacAge(50, 50) f.setTimeStep(1.0e-5, [2, 5, 10, 20, 50]) f.solve(loglevel, refine_grid) f.save('ch4_adiabatic.xml','no_energy', 'solution with the energy equation disabled') f.set(energy = 'on') f.setRefineCriteria(ratio = 3.0, slope = 0.1, curve = 0.2) f.solve(loglevel, refine_grid) f.save('ch4_adiabatic.xml','energy', 'solution with the energy equation enabled') print 'mixture-averaged flamespeed = ',f.u()[0] gas.switchTransportModel('Multi')
gas = GRI30('Mix') gas.addTransportModel('Multi') # set its state to that of the unburned gas gas.setState_TPX(tin, p, comp) f = FreeFlame(gas = gas, grid = initial_grid, tfix = 600.0) # set the upstream properties f.inlet.set(mole_fractions = comp, temperature = tin) f.set(tol = tol_ss, tol_time = tol_ts) #f.showSolution() f.set(energy = 'on') f.setRefineCriteria(ratio = 5.0, slope = 0.1, curve = 0.2,prune = 0.05) f.setMaxJacAge(5, 10) f.setTimeStep(1.0e-4, [1, 2, 4, 8, 16]) #f.solve(loglevel, refine_grid) #f.save('ch4_adiabatic.xml','no_energy', # 'solution with the energy equation disabled') #f.set(energy = 'on') #f.setRefineCriteria(ratio = 3.0, slope = 0.1, curve = 0.2) #f.solve(loglevel, refine_grid) #f.save('ch4_adiabatic.xml','energy', # 'solution with the energy equation enabled') gas.switchTransportModel('Mix')