more comments, gathering input parameter, fix bug in moisture content

This commit is contained in:
ignis 2021-11-17 23:52:36 +09:00
parent 7c11e11982
commit b0a7b7167b

50
coal.py
View file

@ -2,23 +2,47 @@ from functools import reduce
import cantera as ct
"""#############################################################################
Input Parameter Section
#############################################################################"""
# Air stream Temperatures and Mass flow rates
t = list(map(float, ''' 348.15 315.65 600.79 308.54 318.03 306.11 339.45 '''.split()))
m = list(map(float, ''' 114.4 6.94 362.92 7.25 7.25 7.25 7.25 '''.split()))
stdT = 298.15
stdT = 298.15 # Temperature at standard state, K
coalT = 348.15
coalMfr = 56.8813
coalT = 348.15 # K
coalMfr = 56.8813 # kg/s
moist = 0.1551
vm = 0.3047
fc = 0.4347
ash = 0.1055
# Ultimate Analysis - percentage by weight
coal_ua = {
"C": 81.41,
"H2": 5.47,
"O2": 10.83,
"N2": 1.72,
"S": 0.57,
}
# Proximate Analysis - fraction by weight
moist = 0.1551
vm = 0.3047
fc = 0.4347
ash = 0.1055
vm_fc = 1. - moist - ash
fuelMfr = coalMfr
# add mass of moisture and ash
coal_ua['N2'] += 100 * ash / vm_fc
coal_ua["H2O"] = 100 * moist / vm_fc
# Boiler Performance Data
# - Heat Transfer Rates
heatXferPipe = 677656911.111 # J/s
heatXferWall = 592070866.667 # J/s
# Loading thermo data of species to consider
gri_species = {S.name: S for S in ct.Species.listFromFile('gri30.cti')}
nasa_species = {S.name: S for S in ct.Species.listFromFile('nasa_gas.cti')}
nasa_species.update(gri_species)
@ -51,14 +75,7 @@ Dummy gaseous coal object containing elementary composition
#############################################################################"""
coal = ct.Solution(thermo='IdealGas', species=system_species)
coal.TPY = 348.15, ct.one_atm, {
"C": 81.41,
"H2": 5.47,
"O2": 10.83,
"N2": 1.72 + 100 * ash / vm_fc,
"S": 0.57,
"H2O" : 100 * ash / vm_fc,
}
coal.TPY = coalT, ct.one_atm, coal_ua
"""#############################################################################
@ -158,9 +175,6 @@ reactant.phase()
## Heat Transfer to pipes and walls
################################################################################
heatXferPipe = 677656911.111 # J/s
heatXferWall = 592070866.667 # J/s
reactant.HP = reactant.enthalpy/reactant.mass - (heatXferWall+heatXferPipe)/reactant.mass, ct.one_atm
print("After Heat Transfer")
reactant.phase()