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')
f.flame.setTransportModel(gas)
f.solve(loglevel, refine_grid)
f.save('ch4_adiabatic.xml','energy_multi',
       'solution with the energy equation enabled and multicomponent transport')

# write the velocity, temperature, density, and mole fractions to a CSV file
Beispiel #2
0
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')
f.flame.setTransportModel(gas)
f.solve(loglevel, refine_grid)
f.save('ch4_adiabatic.xml','energy_multi',
       'solution with the energy equation enabled and multicomponent transport')

# write the velocity, temperature, density, and mole fractions to a CSV file
# 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()))
for n in range(f.flame.nPoints()):
    f.setGasState(n)
    writeCSV(fcsv, [z[n], u[n], V[n], T[n], gas.density()]
             +list(gas.moleFractions()))
#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')
f.flame.setTransportModel(gas)
f.solve(loglevel, refine_grid)
f.save('CO_adiabatic.xml','energy_mix',
       'solution with the energy equation enabled and multicomponent transport')

# write the velocity, temperature, density, and mole fractions to a CSV file
z = f.flame.grid()
T = f.T()
u = f.u()
V = f.V()
fcsv = open('CO_adiabatic.csv','w')
writeCSV(fcsv, ['z (m)', 'u (m/s)', 'V (1/s)', 'T (K)', 'rho (kg/m3)']
         + list(gas.speciesNames()))
for n in range(f.flame.nPoints()):
    f.setGasState(n)
    writeCSV(fcsv, [z[n], u[n], V[n], T[n], gas.density()]
             +list(gas.moleFractions()))
fcsv.close()