文档库 最新最全的文档下载
当前位置:文档库 › FLUENT UDF代码_颗粒(煤或生物质)床层多相流燃烧过程数值模拟-【第2部分-完结】

FLUENT UDF代码_颗粒(煤或生物质)床层多相流燃烧过程数值模拟-【第2部分-完结】

FLUENT UDF代码_颗粒(煤或生物质)床层多相流燃烧过程数值模拟-【第2部分-完结】
FLUENT UDF代码_颗粒(煤或生物质)床层多相流燃烧过程数值模拟-【第2部分-完结】

Fluent-UDF_Coal-Combustion-Multiphase-Flow-Processes ---Codes for various kinds of heterogeneous reactions

【第二部分-Part2】

DEFINE_HET_RXN_RATE(SteamGasif_Rev_MGAS,c,t,hr,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

int index_phase = Get_Phase_Index(hr);

Thread *ts = pt[index_phase]; /* solid phase */

*rr = 0;

double direction = 0.0, mol_weight, y_carbon, rr_turb = 1e+20;

/*

CO + H2 ---> H2O + 1/25 Soot

The reverse steam gasification reaction, which is CO + H2 ---> 1/25 Soot + H2O is written as the reaction

shown above. So a negative rate means CO and H2 is consumed and H2O and Soot are generated. Note that no

C(s) is generated, the stoich coeff for C(s) in the above reation is zero.

Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

if(MGAS_Gasif)

{

double RoRT = C_R(c,tp) * UNIVERSAL_GAS_CONSTANT * C_T(c,tp);

double p_h2o = RoRT * yi[IP_H2O][IS_H2O]/mw[IP_H2O][IS_H2O]/ 101325.;

double p_co = RoRT * yi[IP_CO][IS_CO]/mw[IP_CO][IS_CO] / 101325.;

double p_h2 = RoRT * yi[IP_H2][IS_H2]/mw[IP_H2][IS_H2] / 101325.;

y_carbon = yi[IP_SOOT][IS_SOOT];

mol_weight = mw[IP_SOOT][IS_SOOT];

if (rp_ke)

rr_turb = Turbulent_rr(c, t, hr, yi);

if(C_VOF(c, ts) >= eps_s_small)

{

*rr = rr_steam_gasif(c, t, ts, tp, p_h2o, p_co, p_h2, y_carbon, mol_weight, &direction); /* mol/(cm^3 .s) */

if( direction > 0.0) /* positive value implies C(s) + H2O ---> CO + H2 */

*rr = 0.0;

else /* negative value implies CO + H2 ---> H2O + 1/25 Soot */

{

*rr = abs(*rr);

*rr = MIN(*rr, rr_turb);

}

}

}

}

double rr_steam_gasif(cell_t c, Thread *t, Thread *ts, Thread *tp, double p_h2o, double p_co, double p_h2, double y_carbon, double mol_weight, double* direction)

{

double rate, prod, T_g = MIN((MAX(TMIN,C_T(c,tp))),TMAX);

double p_h2o_star = p_h2 * p_co / ( exp(17.29 - 16326/T_g) );

if(MGAS_Gasif) *direction = p_h2o - p_h2o_star;

if(PCCL_Gasif) *direction = pow(p_h2o, N_steam_gasification)/(1.+K_steam_gasification*p_h2);

prod = y_carbon*(C_R(c,ts)*1e-03)/mol_weight*C_VOF(c,ts); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

if(MGAS_Gasif && *direction < 0.0) /* this implies reverse H2O gasification */

prod = y_carbon*(C_R(c,tp)*1e-03)/mol_weight*C_VOF(c,tp); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

rate = A_steam_gasification*exp(-E_steam_gasification/Rgas/T_g)* Annealing_steam_gasification * prod * *direction; /* mol/cm^3.s */

rate *= 1000.; /* kmol/(m^3 .s) */

return rate;

}

DEFINE_HET_RXN_RATE(Co2Gasif,c,t,hr,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

int index_phase = Get_Phase_Index(hr);

Thread *ts = pt[index_phase]; /* solid phase */

*rr = 0;

double direction = 0.0, mol_weight, y_carbon;

/*

C(s) + CO2 ---> 2CO

Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

double RoRT = C_R(c,tp) * UNIVERSAL_GAS_CONSTANT * C_T(c,tp);

double p_co = RoRT * yi[IP_CO][IS_CO]/mw[IP_CO][IS_CO] / 101325.;

double p_co2 = RoRT * yi[IP_CO2][IS_CO2]/mw[IP_CO2][IS_CO2] / 101325.;

SolidFuel_Reactant(c, t, hr, &y_carbon, &mol_weight);

if(C_VOF(c, ts) >= eps_s_small)

{

*rr = rr_co2_gasif(c, t, ts, tp, p_co, p_co2, y_carbon, mol_weight, &direction); /* mol/(cm^3 .s) */

if( direction < 0.0) /* negative implies reverse steam gasification */

*rr = 0.0;

}

}

DEFINE_HET_RXN_RATE(Soot_CO2_Gasif,c,t,r,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

*rr = 0;

double rr_turb = 1e+20;

double T_g = MIN((MAX(TMIN,C_T(c,tp))),TMAX);

/*

1/25 Soot + CO2 ---> 2CO

Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

double RoRT = C_R(c,tp) * UNIVERSAL_GAS_CONSTANT * C_T(c,tp);

double p_co = RoRT * yi[IP_CO][IS_CO]/mw[IP_CO][IS_CO]/ 101325.;

double p_co2 = RoRT * yi[IP_CO2][IS_CO2]/mw[IP_CO2][IS_CO2] / 101325.;

if (rp_ke)

rr_turb = Turbulent_rr(c, t, r, yi);

double prod = yi[IP_SOOT][IS_SOOT]*(C_R(c,tp)*1e-03)/mw[IP_SOOT][IS_SOOT]*C_VOF(c,tp); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

*rr = A_soot_co2_gasification*exp(-E_soot_co2_gasification/Rgas/T_g)* Annealing_soot_co2_gasification * prod *

pow(p_co2, N_soot_co2_gasification)/(1.+K_soot_co2_gasification*p_co); /* mol/cm^3.s */

*rr *= 1000.; /* kmol/(m^3 .s) */

*rr = MIN(*rr, rr_turb);

}

DEFINE_HET_RXN_RATE(Co2Gasif_Rev_MGAS,c,t,hr,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

int index_phase = Get_Phase_Index(hr);

Thread *ts = pt[index_phase]; /* solid phase */

*rr = 0;

double direction = 0.0, mol_weight, y_carbon, rr_turb = 1e+20;

/*

2CO ---> CO2 + 1/25 Soot

The reverse CO2 gasification reaction, which is 2CO ---> 1/25 Soot + CO2 is written as the reaction

shown above. So a negative rate means CO is consumed and CO2 and Soot are generated. Note that no

C(s) is generated, the stoich coeff for C(s) in the above reation is zero.

Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

if(MGAS_Gasif)

{

double RoRT = C_R(c,tp) * UNIVERSAL_GAS_CONSTANT * C_T(c,tp);

double p_co = RoRT * yi[IP_CO][IS_CO]/mw[IP_CO][IS_CO] / 101325.;

double p_co2 = RoRT * yi[IP_CO2][IS_CO2]/mw[IP_CO2][IS_CO2] / 101325.;

y_carbon = yi[IP_SOOT][IS_SOOT];

mol_weight = mw[IP_SOOT][IS_SOOT];

if (rp_ke)

rr_turb = Turbulent_rr(c, t, hr, yi);

if(C_VOF(c, ts) >= eps_s_small)

{

*rr = rr_co2_gasif(c, t, ts, tp, p_co, p_co2, y_carbon, mol_weight, &direction); /* mol/(cm^3 .s) */

if( direction > 0.0) /* positive value implies C(s) + CO2 ---> 2CO */

*rr = 0.0;

else /* negative value implies 2CO ---> CO2 + 1/25 Soot */

{

*rr = abs(*rr);

*rr = MIN(*rr, rr_turb);

}

}

}

}

double rr_co2_gasif(cell_t c, Thread *t, Thread *ts, Thread *tp, double p_co, double p_co2, double y_carbon, double mol_weight, double* direction)

{

double T_g = MIN(MAX(TMIN,C_T(c,tp)), TMAX), prod;

double p_co2_star = p_co * p_co/(exp(20.92 - 20282/T_g));

if(MGAS_Gasif) *direction = p_co2-p_co2_star;

if(PCCL_Gasif) *direction = pow(p_co2, N_co2_gasification)/(1. + K_co2_gasification * p_co);

prod = y_carbon*C_R(c,ts)*1.e-3/mol_weight* C_VOF(c,ts); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

if(MGAS_Gasif && *direction < 0.0) /* this implies reverse CO2 gasification */

prod = y_carbon*(C_R(c,tp)*1e-03)/mol_weight*C_VOF(c,tp); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

double rate = A_co2_gasification*exp(-E_co2_gasification/Rgas/T_g)*Annealing_co2_gasification * prod * (*direction); /* mol/cm^3.s */

rate *= 1000.; /* kmol/(m^3 .s) */

return rate;

}

DEFINE_HET_RXN_RATE(H2Gasif,c,t,hr,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

int index_phase = Get_Phase_Index(hr);

Thread *ts = pt[index_phase]; /* solid phase */

*rr = 0;

double direction = 0.0, mol_weight, y_carbon;

/*

1/2 C(s) + H2 ---> 1/2 CH4

Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by

the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

double RoRT = C_R(c,tp) * UNIVERSAL_GAS_CONSTANT * C_T(c,tp);

double p_h2 = RoRT * yi[IP_H2][IS_H2]/mw[IP_H2][IS_H2] / 101325.;

double p_ch4 = RoRT * yi[IP_CH4][IS_CH4]/mw[IP_CH4][IS_CH4] / 101325.;

SolidFuel_Reactant(c, t, hr, &y_carbon, &mol_weight);

if(C_VOF(c, ts) >= eps_s_small)

{

*rr = rr_h2_gasif(c, t, ts, tp, p_h2, p_ch4, y_carbon, mol_weight, &direction); /* mol/(cm^3 .s) */

if( direction < 0.0) /* negative implies reverse steam gasification */

*rr = 0.0;

}

}

DEFINE_HET_RXN_RATE(Soot_H2_Gasif,c,t,r,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

*rr = 0;

double rr_turb = 1e+20;

double T_g = MIN((MAX(TMIN,C_T(c,tp))),TMAX);

/*

1/25 Soot + 2H2 ---> CH4

Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

double RoRT = C_R(c,tp) * UNIVERSAL_GAS_CONSTANT * C_T(c,tp);

double p_h2 = RoRT * yi[IP_H2][IS_H2]/mw[IP_H2][IS_H2] / 101325.;

if (rp_ke)

rr_turb = Turbulent_rr(c, t, r, yi);

double prod = yi[IP_SOOT][IS_SOOT]*(C_R(c,tp)*1e-03)/mw[IP_SOOT][IS_SOOT]*C_VOF(c,tp); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

*rr = A_soot_h2_gasification*exp(-E_soot_h2_gasification/Rgas/T_g)* Annealing_soot_h2_gasification * prod *

pow(p_h2, N_soot_h2_gasification); /* mol/cm^3.s */

*rr *= 1000.; /* kmol/(m^3 .s) */

*rr = MIN(*rr, rr_turb);

}

DEFINE_HET_RXN_RATE(H2Gasif_Rev_MGAS,c,t,hr,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

int index_phase = Get_Phase_Index(hr);

Thread *ts = pt[index_phase]; /* solid phase */

*rr = 0;

double direction = 0.0, mol_weight, y_carbon, rr_turb = 1e+20;

/*

1/2 CH4 ---> H2 + (0.5)*1/25 Soot

The reverse H2 gasification reaction, which is 1/2 CH4 ---> 1/25 Soot + H2 is written as the reaction

shown above. So a negative rate means CH4 is consumed and H2 and Soot are generated. Note that no

C(s) is generated, the stoich coeff for C(s) in the above reation is zero.

Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

if(MGAS_Gasif)

{

double RoRT = C_R(c,tp) * UNIVERSAL_GAS_CONSTANT * C_T(c,tp);

double p_h2 = RoRT * yi[IP_H2][IS_H2]/mw[IP_H2][IS_H2] / 101325.;

double p_ch4 = RoRT * yi[IP_CH4][IS_CH4]/mw[IP_CH4][IS_CH4] / 101325.;

y_carbon = yi[IP_SOOT][IS_SOOT];

mol_weight = mw[IP_SOOT][IS_SOOT];

if(C_VOF(c, ts) >= eps_s_small)

{

if (rp_ke)

rr_turb = Turbulent_rr(c, t, hr, yi);

*rr = rr_h2_gasif(c, t, ts, tp, p_h2, p_ch4, y_carbon, mol_weight, &direction); /* mol/(cm^3 .s) */

if( direction > 0.0) /* positive value implies 1/2 C(s) + H2 ---> 1/2 CH4 */

*rr = 0.0;

else /* negative value implies 1/2 CH4 ---> H2 + (0.5)*1/25 Soot */

{

*rr = abs(*rr);

*rr = MIN(*rr, rr_turb);

}

}

}

}

double rr_h2_gasif(cell_t c, Thread *t, Thread *ts, Thread *tp, double p_h2, double p_ch4, double y_carbon, double mol_weight, double* direction)

{

double rate = 0.0, prod;

double T_g = MIN((MAX(TMIN,C_T(c,tp))), TMAX);

double p_h2_star = pow ((p_ch4/(exp(-13.43 + 10999/T_g))), 0.5);

prod = y_carbon*C_R(c,ts)*1.e-3/mol_weight * C_VOF(c,ts); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

if(MGAS_Gasif)

{

*direction = p_h2-p_h2_star;

if(*direction < 0.0) /* this implies reverse H2 gasification */

prod = y_carbon*(C_R(c,tp)*1e-03)/mol_weight*C_VOF(c,tp); /*1e-3 is to convert density from kg/m^3 to g/cm^3 */

rate = exp( -7.087 - 8078/T_g )* prod * *direction ; /* mol/cm^3.s */

}

if(PCCL_Gasif)

{

*direction = p_h2;

rate = A_h2_gasification*exp(-E_h2_gasification/Rgas/T_g)*Annealing_h2_gasification * prod * *direction; /* mol/cm^3.s */

}

rate *= 1000.; /* kmol/(m^3 .s) */

return rate;

}

DEFINE_HET_RXN_RATE(coal_combustion,c,t,hr,mw,yi,rr,rr_t)

{

Thread **pt = THREAD_SUB_THREADS(t);

Thread *tp = pt[0]; /* gas phase */

int index_phase = Get_Phase_Index(hr);

Thread *ts = pt[index_phase]; /* solid phase */

double mol_weight, y_carbon, y_ash;

*rr = 0.0;

/* Set the phase and species indices. Ash species index is initialized to zero, with all other indices.

Ash species index is used as a flag to execute SetSpeciesIndex only once. This is done by the first

reaction, defined in the heterogeneous reaction panel in FLUENT GUI.

*/

if(IS_ASH == 0)

SetSpeciesIndex();

if( C_YI(c,tp,IS_O2) >= spe_small)

{

SolidFuel_Reactant(c, t, hr, &y_carbon, &mol_weight);

y_ash = yi[index_phase][IS_ASH];

*rr = rr_combustion(c, t, ts, tp, yi[IP_O2][IS_O2], y_ash, y_carbon); /* mol/(cm^3 .s) */

*rr *= 1000.; /* kmol/(m^3 .s) */

}

}

double rr_combustion(cell_t c, Thread *t, Thread *ts, Thread *tp, double yi_O2, double y_ash,

double y_carbon)

{

double rd, k_f, k_r, factor, k_a, rate = 0.0, vrel;

double Pt = MAX(0.1, (op_pres+C_P(c,t))/101325);

double gas_constant = 82.06; /* atm.cm^3/mol.K */

double T = C_T(c,tp), T_s = C_T(c,ts), D_p = C_PHASE_DIAMETER(c,ts)*100.;

double p_o2 = C_R(c,tp)*UNIVERSAL_GAS_CONSTANT* T *yi_O2/mw[IP_O2][IS_O2] / 101325.; /* atm */

if(fc_ar > 0.)

{

if (y_ash > 0.)

{

rd = pow( (y_carbon * ash_ar/100.)/(y_ash * fc_ar/100.), (1./3.) );

rd = MIN(1., rd);

}

else

rd = 1.;

}

else

rd = 0.;

double diff = MAX((4.26 * pow((T/1800.),1.75)/Pt), 1.e-10); /* cm^2/s */

double Sc1o3 = pow(C_MU_L(c,tp)/(C_R(c,tp) * diff * 1.e-4), 1./3.);

#if RP_2D

vrel = pow(( (C_U(c,tp)-C_U(c,ts))*(C_U(c,tp)-C_U(c,ts)) +

(C_V(c,tp)-C_V(c,ts))*(C_V(c,tp)-C_V(c,ts))), 0.5);

#endif

#if RP_3D

vrel = pow(( (C_U(c,tp)-C_U(c,ts))*(C_U(c,tp)-C_U(c,ts)) +

(C_V(c,tp)-C_V(c,ts))*(C_V(c,tp)-C_V(c,ts)) +

(C_W(c,tp)-C_W(c,ts))*(C_W(c,tp)-C_W(c,ts)) ), 0.5);

#endif

double Re = C_VOF(c,tp) * D_p/100. * vrel * C_R(c,tp)/(C_MU_L(c,tp)+SMALL_S);

double N_sherwood = (7. - 10. * C_VOF(c,tp) + 5. * C_VOF(c,tp) * C_VOF(c,tp) )*

(1. + 0.7 * pow(Re, 0.2) * Sc1o3) +

(1.33 - 2.4 * C_VOF(c,tp) + 1.2 * C_VOF(c,tp) * C_VOF(c,tp)) *

pow(Re, 0.7) * Sc1o3;

if ( rd <= 0. || C_VOF(c, ts) <= 0. )

{

rate = 0.;

}

else

{

k_f = diff * N_sherwood / (D_p * gas_constant/mw[IP_O2][IS_O2] * T ); /* g/(atm.cm^2.s) */

k_r = A_c_combustion * exp( -E_c_combustion/Rgas/T_s ) * rd * rd;

if ( rd >= 1.)

{

rate = 1. / (1./k_f + 1./k_r);

}

else

{

k_a = 2. * rd * diff * f_ep_a / (D_p * (1.-rd) * gas_constant/mw[IP_O2][IS_O2] * T_s );

rate = 1. / (1./k_f + 1./k_r + 1./k_a);

}

factor = y_carbon / (y_carbon + 1.e-6);

rate *= p_o2 * 6. * C_VOF(c,ts) * factor / (D_p * 32.); /* mol/(cm^3 .s) */ }

return rate;

}

#if !RP_NODE || !PARALLEL

void volatile_mass_fractions()

{

read_c3m_data();

/* pan2 : Oct 2012 ... added CX_Messages for debugging */

CX_Message("PCCL_Devol = %d\n",PCCL_Devol);

CX_Message("MGAS_Devol = %d\n",MGAS_Devol);

CX_Message("CPD_Devol = %d\n",CPD_Devol);

CX_Message("FGDVC_Devol = %d\n",FGDVC_Devol);

CX_Message("HPTR_Devol = %d\n",HPTR_Devol);

CX_Message("MGAS_Moisture = %d\n",MGAS_Moisture);

CX_Message("PCCL_Moisture = %d\n",PCCL_Moisture);

CX_Message("MGAS_TarCracking = %d\n",MGAS_TarCracking);

CX_Message("PCCL_2nd_Pyro = %d\n",PCCL_2nd_Pyro);

CX_Message("MGAS_gasif = %d\n",MGAS_Gasif);

CX_Message("PCCL_gasif = %d\n",PCCL_Gasif);

CX_Message("PCCL_TarCracking = %d\n",PCCL_TarCracking);

CX_Message("MGAS_WGS = %d\n",MGAS_WGS);

CX_Message("PCCL_soot_gasif = %d\n",PCCL_soot_gasif);

CX_Message("MGAS_char_combustion = %d\n",MGAS_char_combustion);

CX_Message("PCCL_char_combustion = %d\n",PCCL_char_combustion);

CX_Message("PCCL_soot_oxidation = %d\n",PCCL_soot_oxidation);

CX_Message("TAR_oxidation = %d\n",TAR_oxidation);

CX_Message("MGAS_gas_phase_oxidation = %d\n",MGAS_gas_phase_oxidation);

CX_Message("fc_ar = %f\n",fc_ar);

CX_Message("vm_ar = %f\n",vm_ar);

CX_Message("ash_ar = %f\n",ash_ar);

CX_Message("moist_ar = %f\n",moist_ar);

CX_Message("a1_devolatilization = %f\n",A1_devolatilization);

CX_Message("e1_devolatilization = %f\n",E1_devolatilization);

CX_Message("a2_devolatilization = %f\n",A2_devolatilization);

CX_Message("e2_devolatilization = %f\n",E2_devolatilization);

CX_Message("a_tar_cracking = %f\n",A_tar_cracking);

CX_Message("e_tar_cracking = %f\n",E_tar_cracking);

CX_Message("A_steam_gasification = %f\n",A_steam_gasification);

CX_Message("E_steam_gasification = %f\n",E_steam_gasification);

CX_Message("K_steam_gasification = %f\n",K_steam_gasification);

CX_Message("N_steam_gasification = %f\n",N_steam_gasification);

CX_Message("Annealing_steam_gasification = %f\n",Annealing_steam_gasification);

CX_Message("A_co2_gasification = %f\n",A_co2_gasification);

CX_Message("E_co2_gasification = %f\n",E_co2_gasification);

CX_Message("K_co2_gasification = %f\n",K_co2_gasification);

CX_Message("N_co2_gasification = %f\n",N_co2_gasification);

CX_Message("Annealing_co2_gasification = %f\n",Annealing_co2_gasification);

CX_Message("A_h2_gasification = %f\n",A_h2_gasification);

CX_Message("E_h2_gasification = %f\n",E_h2_gasification);

CX_Message("N_h2_gasification = %f\n",N_h2_gasification);

CX_Message("Annealing_h2_gasification = %f\n",Annealing_h2_gasification);

CX_Message("A_soot_steam_gasification = %f\n",A_soot_steam_gasification);

CX_Message("E_soot_steam_gasification = %f\n",E_soot_steam_gasification);

CX_Message("K_soot_steam_gasification = %f\n",K_soot_steam_gasification);

CX_Message("N_soot_steam_gasification = %f\n",N_soot_steam_gasification);

CX_Message("Annealing_soot_steam_gasification

= %f\n",Annealing_soot_steam_gasification);

CX_Message("A_soot_co2_gasification = %f\n",A_soot_co2_gasification);

CX_Message("E_soot_co2_gasification = %f\n",E_soot_co2_gasification);

CX_Message("K_soot_co2_gasification = %f\n",K_soot_co2_gasification);

CX_Message("N_soot_co2_gasification = %f\n",N_soot_co2_gasification);

CX_Message("Annealing_soot_co2_gasification

= %f\n",Annealing_soot_co2_gasification);

CX_Message("A_soot_h2_gasification = %f\n",A_soot_h2_gasification);

CX_Message("E_soot_h2_gasification = %f\n",E_soot_h2_gasification);

CX_Message("N_soot_h2_gasification = %f\n",N_soot_h2_gasification);

CX_Message("Annealing_soot_h2_gasification = %f\n",Annealing_soot_h2_gasification);

CX_Message("A_soot_combustion = %f\n",A_Soot_Combustion);

CX_Message("E_soot_combustion = %f\n",E_Soot_Combustion);

CX_Message("A_c_combustion = %f\n",A_c_combustion);

CX_Message("E_c_combustion = %f\n",E_c_combustion);

CX_Message("N_c_combustion = %f\n",N_c_combustion);

CX_Message("Annealing_c_combustion = %f\n",Annealing_c_combustion);

CX_Message("A_moisture_release = %f\n",A_moisture_release);

CX_Message("E_moisture_release = %f\n",E_moisture_release);

CX_Message("wg3 = %f\n",wg3);

CX_Message("moisture_flux = %f\n",Moisture_Flux);

/* f_ep_a is used in shrinking core model, in coal combustion model */

double ep_a = 0.25 + 0.75*(1-ash_ar/100.);

f_ep_a = pow(ep_a,2.5);

}

/* pan c3m start */

static void SetBooleanValue(char * var , char * svalue) /* pan : Oct 2012 ... new function */ {

cxboolean value;

if ( strcmp(svalue,"true") == 0) /* pan2 : Oct 2012 : correction */

value = TRUE;

else

value = FALSE;

if (strcmp(var,"pccl_devol") == 0) PCCL_Devol = value;

if (strcmp(var,"mgas_devol") == 0) MGAS_Devol = value;

if (strcmp(var,"cpd_devol") == 0) CPD_Devol = value;

if (strcmp(var,"fgdvc_devol") == 0) FGDVC_Devol = value;

if (strcmp(var,"hptr_devol") == 0) HPTR_Devol = value;

if (strcmp(var,"mgas_moisture") == 0) MGAS_Moisture = value;

if (strcmp(var,"pccl_moisture") == 0) PCCL_Moisture = value;

if (strcmp(var,"mgas_tarcracking") == 0) MGAS_TarCracking = value;

if (strcmp(var,"pccl_2nd_pyro") == 0) PCCL_2nd_Pyro = value;

if (strcmp(var,"mgas_gasif") == 0) MGAS_Gasif = value;

if (strcmp(var,"pccl_gasif") == 0) PCCL_Gasif = value;

if (strcmp(var,"pccl_tarcracking") == 0) PCCL_TarCracking = value;

if (strcmp(var,"mgas_wgs") == 0) MGAS_WGS = value;

if (strcmp(var,"pccl_soot_gasif") == 0) PCCL_soot_gasif = value;

if (strcmp(var,"mgas_char_combustion") == 0) MGAS_char_combustion = value;

if (strcmp(var,"pccl_char_combustion") == 0) PCCL_char_combustion = value;

if (strcmp(var,"pccl_soot_oxidation") == 0) PCCL_soot_oxidation = value;

if (strcmp(var,"tar_oxidation") == 0) TAR_oxidation = value;

if (strcmp(var,"mgas_gas_phase_oxidation") == 0) MGAS_gas_phase_oxidation = value;

}

static void SetValue(char * var , char * svalue) /* pan : oct 2012 ... replace entire function */

{

char * pEnd;

double value = strtod(svalue,&pEnd);

if (strcmp(var,"fc_ar") == 0) fc_ar = value;

if (strcmp(var,"vm_ar") == 0) vm_ar = value;

if (strcmp(var,"ash_ar") == 0) ash_ar = value;

if (strcmp(var,"moist_ar") == 0) moist_ar = value;

/* NOTE:

If the two stage devolatilization model is not used, A2 and E2 have to be set to zero

*/

if (strcmp(var,"a1_devolatilization") == 0) A1_devolatilization = value;

if (strcmp(var,"e1_devolatilization") == 0) E1_devolatilization = value;

if (strcmp(var,"a2_devolatilization") == 0) A2_devolatilization = value;

if (strcmp(var,"e2_devolatilization") == 0) E2_devolatilization = value;

/* if (strcmp(var,"c3m_aem") == 0) c3m_aem = value; should not be used pan : Oct 2012 */

if (strcmp(var,"a_tar_cracking") == 0) A_tar_cracking = value;

if (strcmp(var,"e_tar_cracking") == 0) E_tar_cracking = value;

if (strcmp(var,"a_steam_gasification") == 0) A_steam_gasification = value;

if (strcmp(var,"e_steam_gasification") == 0) E_steam_gasification = value;

if (strcmp(var,"annealing_steam_gasification") == 0) Annealing_steam_gasification = value;

if (strcmp(var,"k_steam_gasification") == 0) K_steam_gasification = value;

if (strcmp(var,"n_steam_gasification") == 0) N_steam_gasification = value;

if (strcmp(var,"a_co2_gasification") == 0) A_co2_gasification = value;

if (strcmp(var,"e_co2_gasification") == 0) E_co2_gasification = value;

if (strcmp(var,"annealing_co2_gasification") == 0) Annealing_co2_gasification = value;

if (strcmp(var,"k_co2_gasification") == 0) K_co2_gasification = value;

if (strcmp(var,"n_co2_gasification") == 0) N_co2_gasification = value;

if (strcmp(var,"a_h2_gasification") == 0) A_h2_gasification = value;

if (strcmp(var,"e_h2_gasification") == 0) E_h2_gasification = value;

if (strcmp(var,"annealing_h2_gasification") == 0) Annealing_h2_gasification = value;

if (strcmp(var,"n_h2_gasification") == 0) N_h2_gasification = value;

if (strcmp(var,"a_soot_steam_gasification") == 0) A_soot_steam_gasification = value;

if (strcmp(var,"e_soot_steam_gasification") == 0) E_soot_steam_gasification = value;

if (strcmp(var,"annealing_soot_steam_gasification") == 0) Annealing_soot_steam_gasification = value;

if (strcmp(var,"k_soot_steam_gasification") == 0) K_soot_steam_gasification = value;

if (strcmp(var,"n_soot_steam_gasification") == 0) N_soot_steam_gasification = value;

if (strcmp(var,"a_soot_co2_gasification") == 0) A_soot_co2_gasification = value;

if (strcmp(var,"e_soot_co2_gasification") == 0) E_soot_co2_gasification = value;

if (strcmp(var,"annealing_soot_co2_gasification") == 0) Annealing_soot_co2_gasification = value;

if (strcmp(var,"k_soot_co2_gasification") == 0) K_soot_co2_gasification = value;

if (strcmp(var,"n_soot_co2_gasification") == 0) N_soot_co2_gasification

= value;

if (strcmp(var,"a_soot_h2_gasification") == 0) A_soot_h2_gasification = value;

if (strcmp(var,"e_soot_h2_gasification") == 0) E_soot_h2_gasification = value;

if (strcmp(var,"annealing_soot_h2_gasification") == 0) Annealing_soot_h2_gasification = value;

if (strcmp(var,"n_soot_h2_gasification") == 0) N_soot_h2_gasification = value;

if (strcmp(var,"a_soot_combustion") == 0) A_Soot_Combustion = value;

if (strcmp(var,"e_soot_combustion") == 0) E_Soot_Combustion = value;

if (strcmp(var,"a_c_combustion") == 0) A_c_combustion = value;

if (strcmp(var,"e_c_combustion") == 0) E_c_combustion = value;

if (strcmp(var,"n_c_combustion") == 0) N_c_combustion = value;

if (strcmp(var,"annealing_c_combustion") == 0) Annealing_c_combustion = value;

if (strcmp(var,"a_moisture_release") == 0) A_moisture_release = value;

if (strcmp(var,"e_moisture_release") == 0) E_moisture_release = value;

if (strcmp(var,"c3m_wg3") == 0) wg3 = value;

if (strcmp(var,"moisture_flux") == 0) Moisture_Flux = value;

/* if (strcmp(var,"c3m_ae5") == 0) c3m_ae5 = value; pan : Oct 2012 ... should not be used */

}

void read_c3m_data()

{

CX_Message("start of read_c3m_data \n");

FILE * pFile;

char line[80];

char field1[80];

char field2[80];

char *pch;

int i , field_index;

pFile = fopen("fluent_c3m_udf.inp","r");

if (pFile != NULL)

{

CX_Message("fopen OK \n");

char * pEnd = line;

while (pEnd != NULL)

{

/* CX_Message("read a line - start \n"); */

pEnd = fgets(line,80,pFile);

if (pEnd != NULL)

{

for (i=0; i<80; ++i) line[i] = tolower(line[i]);

pch = strtok(line," ,\t\n=");

field_index = 0;

while (pch != NULL)

{

if (field_index == 0)

{

strcpy(field1,pch);

field_index = 1;

/* CX_Message("token %s \n",field1); */

}

else

{

strcpy(field2,pch);

field_index = 0;

SetValue(field1,field2);

SetBooleanValue(field1,field2); /* pan : Oct 2012 */

/*

CX_Message("\n\n");

CX_Message("token %s \n",field1);

CX_Message("token %s \n",field2);

*/

}

pch = strtok(NULL," ,\t\n=");

}

}

}

fclose(pFile);

}

}

/* pan c3m end */

#endif

DEFINE_EXCHANGE_PROPERTY(Heat_Trans_Coal, c, t, i, j)

{

Thread *ti = THREAD_SUB_THREAD(t,i);

Thread *tj = THREAD_SUB_THREAD(t,j);

double val;

val = heat_gunn_udf(c,ti, tj);

return val;

}

DEFINE_EXCHANGE_PROPERTY(Heat_Trans_Recy, c, t, i, j)

{

Thread *ti = THREAD_SUB_THREAD(t,i);

Thread *tj = THREAD_SUB_THREAD(t,j);

double val;

val = heat_gunn_udf(c,ti, tj);

return val;

}

double heat_gunn_udf(cell_t c, Thread *ti, Thread *tj)

{

double h;

double d = C_PHASE_DIAMETER(c,tj);

double k = C_K_L(c,ti);

double vf = C_VOF(c,ti);

double vf2 = vf*vf;

double vel, Re, Pr, Nu;

#if RP_2D

vel = pow(((C_U(c,tj)-C_U(c,ti))*(C_U(c,tj)-C_U(c,ti)) + (C_V(c,tj)-C_V(c,ti))*(C_V(c,tj)-C_V(c,ti))),0.5);

#endif

#if RP_3D

vel = pow(((C_U(c,tj)-C_U(c,ti))*(C_U(c,tj)-C_U(c,ti)) + (C_V(c,tj)-C_V(c,ti))*(C_V(c,tj)-C_V(c,ti)) +

(C_W(c,tj)-C_W(c,ti))*(C_W(c,tj)-C_W(c,ti))),0.5);

#endif

Re = RE_NUMBER(C_R(c,ti),vel,d,C_MU_L(c,ti));

Pr = PR_NUMBER (C_CP(c,ti),C_MU_L(c,ti),k);

Pr = pow (Pr,1./3.);

Nu = (7. - 10*vf + 5.*vf2)*(1. + 0.7*pow(Re,0.2)*Pr) +

(1.33 - 2.4*vf + 1.2*vf2)*pow(Re,0.7)*Pr;

h =IP_HEAT_COEFF(C_VOF(c,ti),C_VOF(c,tj),k,Nu,d);

return h;

}

double satPressure(double T)

{

const double Tstd = 273.15;

double TT = T - Tstd;

double p_sat;

p_sat = (100.0 * 6.1121 * exp((18.678-TT/234.5)*(TT/(257.14+TT))));

return p_sat;

}

double Get_Phase_Index(Hetero_Reaction *hr)

{

/* This routine brings back the phase index of the secondary phase for the following reaction

A(s) + B(g) ---> ....

If there is more than one secondary phase in the reactant, the phase index obtained below will always be the phase index of the last secondary species in the reactant list */

Domain **dr = hr->domain_reactant;

int i, index_phase = 0, iphase;

for (i = 0; i < hr->n_reactants; i++)

{

iphase = DOMAIN_INDEX(dr[i]);

if(iphase > 0)

index_phase = iphase;

}

return index_phase;

}

double Turbulent_rr(cell_t c, Thread *t, Hetero_Reaction *r, real yi[MAX_PHASES][MAX_SPE_EQNS])

{

循环流化床锅炉技术(岳光溪)

循环流化床技术发展与应用 岳光溪清华大学热能工程系 摘要:循环流化床燃烧技术对我国燃煤污染控制具有举足轻重的意义。我国自上世纪八十年代后采取引进和自我开发两条路线,完全掌握了中小型循环流化床锅炉设计制造技术,在大型循环流化床燃烧技术上已经完成了首台135MWe超高压再热循环流化床锅炉的示范工程。引进的300MWe循环流化床锅炉进入示范实施阶段。燃煤循环流化床锅炉已在中国中小热电和发电厂得到大面积推广使用。中国积累的设计运行经验对世界上循环流化床燃烧技术的发展做出了重要贡献。超临界循环流化床锅炉是今后循环流化床燃烧技术发展极为重要的方向,是大型燃煤电站污染控制最具竞争力的技术。我国已经具备开发超临界循环流化床锅炉的能力,在政府支持下可以实现完全自主知识产权的超临界循环流化床锅炉,扭转过去反复引进的被动局面。 前言 能源与环境是当今社会发展的两大问题。我国是缺油,但煤炭资源相对丰富大国。石油天然气对我国是战略资源,要尽量减少直接燃用。目前一次能源消耗中煤炭占65%,在可预见的若干年内还会维持这个趋势。可见发展高效、低污染的清洁燃煤技术是当今亟待解决的问题。 循环流化床是近年来在国际上发展起来的新一代高效、低污染清洁燃烧技术,具有许多其它燃烧方式所没有的优点: 1)由于循环流化床属于低温燃烧,因此氮氧化物排放远低于煤粉炉,仅为120ppm左右。并可实现燃烧中直接脱硫,脱硫效率高且技术设备简单和经济,其脱硫的初投资及运行费用远低于煤粉炉加FGD,是目前我国在经济上可承受的燃煤污染控制技术; 2)燃料适应性广且燃烧效率高,特别适合于低热值劣质煤; 3)排出的灰渣活性好,易于实现综合利用。 4)负荷调节范围大,负荷可降到满负荷的30%左右。 因此,在我国目前环保要求日益严格,煤种变化较大和电厂负荷调节范围较大的情况下,循环流化床成为发电厂和热电厂优选的技术之一。我国的循环流化床燃烧技术的来自于自主开发、国外引进、引进技术的消化吸收三个主要来源。上世纪八十年代以来,我国循环流化床锅炉数量和单台容量逐年增加。据不完全统计,现有近千台35~460t/h 循环流化床蒸汽锅炉和热水锅炉在运行、安 106.78t/h,见图1;参数从中压、次高压、高压发 展到超高压,单台容量已经发展到670t/h,见图2。 截至2003年,投运台数已有700多台。单炉最大 容量为465t/h,发电量150MWE。近三年,我国 循环流化床锅炉发展迅速,100MWe以上循环流 化床锅炉订货量达到近80台,100MWe以下循环 流化床锅炉订货超过200台。今后,随着环保标 准的提高,供热及电力市场对循环流化床锅炉的 需求将会进一步扩大。

生物质循环流化床锅炉技术介绍

生物质循环流化床锅炉技术介绍 发表时间:2019-09-21T22:55:42.280Z 来源:《基层建设》2019年第19期作者:刘曼 [导读] 摘要:生物质能是重要的可再生能源,具有资源来源广泛、利用方式多样化、能源产品多元化、综合效益显著的特点。 中国能源建设集团山西电力建设有限公司山西太原 030012 摘要:生物质能是重要的可再生能源,具有资源来源广泛、利用方式多样化、能源产品多元化、综合效益显著的特点。生物质锅炉供热具有清洁环保经济适用的特点,一是技术比较成熟,工艺简单;二是大气污染物排放较少,生物质燃料锅炉燃烧排放SO2浓度较低,安装除尘设施后锅炉烟尘、氮氧化物排放可达到轻油排放标准,以林业剩余物为主的生物质燃料锅炉大气污染物排放可达到天然气标准;三是经济可行,生物质燃料价格较低,生物质锅炉供热有着较为明显的成本优势;四是分布式供热,直接在终端消费侧替代燃煤供热,分散布局,运行灵活,适应性强,满足多元化用热需求。目前国内生物质燃烧的锅炉有往复式炉排炉、水冷振动式炉排炉、循环流化床锅炉、联合炉排锅、链条炉等等。其中链条炉和循环流化床运行较为广泛。本文对循环流化床锅炉和链条炉进行分析比较,为生物质锅炉选型提供依据。 关键词:生物质;循环流化床锅炉;链条炉;技术性能比较;经济性比较 引言 生物质是清洁、稳定、分布广泛的可再生资源,生物质的利用符合能源转型、碳减排、清洁环保及治理雾霾的能源发展战略。随着国家对环境保护的要求不断提高,生物质等可再生能源的重要性逐渐增加,国家先后发布多个文件,大力支持生物质发电技术应用推广。生物质发电技术包括生物质直接燃烧发电、生物质混合燃烧发电、生物质气化发电等。生物质直接燃烧技术生产过程比较简单,设备和运行的成本相对较低,是现行的可以大规模推广利用的技术。而循环流化床燃烧方式因其强烈的传热、传质、低温燃烧、燃料适应性广,负荷调整范围宽、燃烧效率高等特点,被广泛的应用于生物质发电。本文从生物质燃料的特点出发,介绍生物质直燃流化床锅炉的技术特点及相关技术问题。 1生物质燃料特性 1.1几种典型的生物质燃料 固体生物质燃料取材广泛,主要包括木本原料,即树木和各种采伐、加工的残余物质;草本原料,如农作物秸杆、草类及加工残余物;果壳类原料,如花生壳、板栗壳等;其他混杂燃料,如生活垃圾、造纸污泥等。 1.2生物质燃料灰分特性 生物质灰中含有丰富的无机矿物质成分,如:硅酸盐、碳酸盐、硫酸盐与磷酸盐等,灰的组成对生物质的热解特性有着重要的影响,且硅酸盐、碱金属及碱土金属的存在易引起管路系统的结渣、堵塞。为了安全、高效地运行,需对生物质灰的主要矿物质及微量元素的组成进行全面的分析。 2生物质CFB锅炉技术开发 2.1国内外生物质发电技术应用 我国生物质能目前主要以农林废弃物为主,农业废弃物主要是农作物秸秆。生物质发电产业通常包括生物质直燃发电、生物质混燃发电和生物质气化发电。国外烧秸秆及其它生物质的新建机组一般都采用了炉排燃烧的小型锅炉。秸秆通常被打成标准尺寸的大捆,应用专用设备打捆、装卸和运输。秸秆通过螺旋送料机,送进炉膛,在炉排上燃烧。 2.2生物质CFB锅炉技术介绍 CFB锅炉的燃烧方式、高温床料、特殊的物料循环系统,低温燃烧、燃料的适应性广等特性,使其更适合生物质燃料的复杂多变及低氮排放要求。锅炉采用单汽包、自然循环、单段蒸发系统,炉膛蒸发受热面采用膜式壁,炉膛内内置屏式三级过热器和水冷屏,以提高整个过热器系统的辐射传热特性,使锅炉过热汽温具有良好的调节特性。旋风分离器采用汽冷结构,回料阀为非机械型,回料为自平衡式。炉膛、分离器、回料阀组成了物料的热循环回路,分离后的烟气进入尾部烟道。尾部烟道采用三烟道型式,下行的一烟道内布置低温过热器、上行的二烟道内布置中温过热器和高温省煤器,下行的三烟道内布置低温省煤器和空气预热器。一、二烟道为膜式壁的包墙过热器,三烟道采用护板结构。低NOx燃烧技术和炉内脱硫,可有效控制NOx和SOx的排放,满足环保要求。同时为进一步超低排放,在分离器入口烟道预留SNCR.接口。 2.3相关配套设备 由于生物质燃料堆积密度小、比重轻,自密封性差,给料设备的选型尤为重要。可以采用两级螺旋给料系统或两级挡板给料系统。生物质锅炉沾污问题较重,一整套性能良好、质量可靠、数量足够的吹灰设备能在锅炉运行时保持尾部烟道内的过热器、再热器、省煤器和空气预热器受热面的清洁。由于生物质燃料灰分低、成灰特性差,可以考虑增加在线加料系统,以补充循环灰量的不足并能稀释碱金属浓度,降低结焦的风险,提高运行的安全性。 3流化床锅炉尾部排放NOx生成原理 3.1热力型和快速型 通过资料得知,1500℃是热力型NOx生成临界点。当温度<1500℃时,NOx不易生成;当温度>1500℃时,NOx生成量猛增。由于实际生产中本厂炉膛温度处于600-850℃,因此热力型不是本厂NOx的生成原因。另外快速型NOx由于其产生特点,实际生产中通常也不作为控制方向。 3.2燃料型 燃料型NOx是由燃料中的氮元素在燃烧时形成的。炉膛温度约为600℃-800℃时,燃料型NOx就能生成。研究发现空气系数是最重要的原因,转化率随空气系数增加而增大。结合本厂的实际情况得知,燃料型NOx是主要元凶,也是最主要的控制方向。在曲线中可以清晰的看到,当两侧空气系数升高时,NOx的生成量快速升高;当两侧空气系数降低时,NOx的生成量快速下降。因此控制合适的空气系数是重中之重。 4生物质锅炉生产中 NOx的控制方法(1)加强上配料精细化管理,燃运分部制定好当天的上配料方案,并按上配料方案提前做好干湿燃料的混合工作。上

循环流化床锅炉的特点

循环流化床锅炉的特点 循环流化床锅炉的特点 循环流化床锅炉是近十几年发展起来的一项高效、低污染清洁燃烧技术。因其具有燃烧效率高、煤种适应性广、烟气中有害气体排放浓度低、负荷调节范围大、灰渣可综合利用等优点,在当今日益严峻的能源紧缺和环境保护要求下,在国内外得到了迅速的发展,并已商品化,正在向大型化发展。 1.1 独特的燃烧机理 固体粒子经与气体或液体接触而转变为类似流体状态的过程,称为流化过程。流化过程用于燃料燃烧,即为流化燃烧,其炉子称为流化床

锅炉。流化理论用于燃烧始于上世纪20年代,40年代以后主要用于石油化工和冶金工业。 流化燃烧是一种介于层状燃烧与悬浮燃烧之间的燃烧方式。煤预先经破碎加工成一定大小的颗粒(一般为<8mm)而置于布风板上,其厚度约在350~500mm左右,空气则通过布风板由下向上吹送。当空气以较低的气流速度通过料层时,煤粒在布风板上静止不动,料层厚度不变,这一阶段称为固定床。这正是煤在层燃炉中的状态,气流的推力小于煤粒重力,气流穿过煤粒间隙,煤粒之间无相对运动。当气流速度增大并达到某一较高值时,气流对煤粒的推力恰好等于煤粒的重力,煤粒开始飘浮移动,料层高度略有增长。如气流速度继续增大,煤粒间的空隙加大,料层膨胀增高,所有的煤粒、灰渣纷乱混杂,上下翻腾不已,颗粒和气流之间的相对运动十分强烈。这种处于沸腾状态的料床,称为流化床。这种燃烧方式即为流化燃烧。当风速继续增大并超过一定限度时,稳定的沸腾工况就被破坏,颗粒将全部随气流飞走。物料的这种运动形式叫做气力输送,这正是煤粉在煤粉炉中随气流悬浮燃烧的情景。

1.2 锅炉热效率较高 由于循环床内气—固间有强烈的炉内循环扰动,强化了炉内传热和传质过程,使刚进入床内的新鲜燃料颗粒在瞬间即被加热到炉膛温度(≈850℃),并且燃烧和传热过程沿炉膛高度基本可在恒温下进行,因而延长了燃烧反应时间。燃料通过分离器多次循环回到炉内,更延长了颗粒的停留和反应时间,减少了固体不完全燃烧损失,从而使循环床锅炉可以达到88~95%的燃烧效率,可与煤粉锅炉相媲美。 1.3 运行稳定,操作简单 循环流化床锅炉的给煤粒度一般小于10mm,因此与煤粉锅炉相比,燃料的制备破碎系统大为简化。循环流化床锅炉燃料系统的转动设备少,主要有给煤机、冷渣器和风机,较煤粉炉省去了复杂的制粉、送粉等系统设备,较链条炉省去了故障频繁的炉排部分,给燃烧系统稳定运行创造了条件。

生物质流化床锅炉

生物质锅炉(低倍率差速流化床)燃烧调整方法 1.生物质在锅炉主副床上的燃烧过程 生物质的燃烧通常可以分为三个阶段,即预热起燃阶段、挥发分燃烧阶段、炭燃烧阶段。生物质在锅炉主副床上的燃烧过程分为预热干燥区、燃烧区和燃尽区,这可以与差速流化床锅炉的主床密相区、稀相区相和付床相对应。根据各区的燃烧特点,各区需要的风量有差别,预热干燥区的风量少一些,燃烧区的风量要大一些。燃料颗粒在锅炉中燃烧可以分为两种类型:颗粒大的在流化床主床上密相区燃烧,在气力播撒的过程中,颗粒特别小的在流化床上部稀相区发生悬浮燃烧,未燃尽颗粒在流化床稀相区和流化床付床上燃烧。 2、生物质在流化床内完全燃烧的条件 炉内良好燃烧的标志就是在炉内不结渣的前提下,尽可能接近完全燃烧,同时保证较快的燃烧速度,得到最高的燃烧效率。 (1)供应充足而有合适的空气量 如果过量空气系数过小,即空气量供应不足,会增大固体不完全燃烧热损失q4和可燃气体不完全燃烧热损失q3,使燃烧效率降低;如果过量空气系数过大,则会降低炉膛温度,增加不完全燃烧热损失。最佳的过量空气系数使q2+q3+q4之和为最小值。 (2)适当提高炉温 根据阿累尼乌斯定律,燃烧反应速度与温度成指数关系。在保证炉膛不结渣的前提下,尽量提高炉膛温度。 (3)炉膛内良好的扰动和混合 在着火和燃烧阶段,要保证空气和燃料的充分混合,在燃尽阶段,要加强扰动混合。 (4)燃料在炉排上和炉膛中有足够的停留时间 (5)保持合理的火焰前沿位置。火焰前沿应该位于高端炉排与中部炉排的之间区域,火焰在炉排上的充满度好。 3、差速流化床锅炉燃烧调整方法: (1)、入炉燃料掺配均匀,料质相对稳定,入炉燃料安全、稳定、连续均匀供应是锅炉燃烧稳定的前提和基础,所以如果要保持燃烧稳定,必须根据料仓内燃料料位的高低及时调整取料机转速,尽量使料仓内燃料同时均匀向前推进,尽量减少蓬料次数。 (2)、尽量控制流化床床温稳定 1)、若出现床温降低时,可适当减少一次风量,增加给料量,但应注意过热器出口温度,调节减温水量,床温上升时应及时调整。 2)、若出现床温大幅度变化,在适当调节一次风量,可大量减少或增加给料量,但应注意床温的变化趋势,并根据床温的变化情况及时调节。 3)、若出现过热蒸汽温度变化时,可适当调整二次风量。 4)、当锅炉负荷变化引起床温变化时,可以通过调节一次风量,二次风量,给料量,回料量,来适应锅炉负荷的变化,其主要通过调整风、料的配比和 一、二次风的配比来调节锅炉负荷。 5)、如因缺料、料变化或其它原因导致床温下降时,在保证床层良好流化的前提下,可适当减少一次风量,并增大给料量。若床温下降幅度大,应适当

生物质燃烧技术

生物质燃烧技术 摘要:清华大学生物质燃烧技术建立在清华大学独立知识产权的生活垃圾清洁焚烧及综合利用专利技术上,综合考虑了生物质燃料的特点,循环流化床锅炉经特殊设计,以保证生物质燃料的充分燃烧,并避免积灰、结渣及腐蚀现象。用于生物质燃烧的热风发生装置已申请专利。 一、概况 清华大学热能工程系对生物质的焚烧及其综合利用进行了十多年的研究,开发出了“燃用多成分低热值燃料的流化床锅炉及其运行方法”(专利号:ZL97103977.1)发明专利技术,该项技术以循环流化床焚烧技术为核心,配以特殊的进料和排渣系统,根据生物质的燃烧特性、成灰特性,对进料形式、炉膛结构、分离方式、受热面布置进行了特殊的设计,并对防腐、尾部积灰进行了有效地处理,对排放物的污染进行了有效地控制。该项技术拥有完全的自主知识产权,可广泛应用于生活垃圾以及玉米芯、秸秆等农林废弃物的焚烧处理及能源利用。 该循环流化床锅炉具有高效、低磨损、负荷调节范围宽、运行可靠、启动迅速等突出优点,经杜邦公司酒泉种子加工厂同类燃烧生物质锅炉实际运行检验,可长期不间断运行,运行效果良好。 循环流化床燃烧技术对秸秆燃料的适应性较好,负荷调节范围较大的。床内工质颗粒扰动剧烈,传热和传质工况十分优越,有利于高温烟气、空气与燃料地混合充分,为高水分、低热值的生物质燃料提供极佳的着火条件,同时由于燃料在床内停留的时间较长,可以确保生物质燃料地完全燃烧,从而提高了燃用生物质锅炉的热效率。 在生物质燃烧技术研究的过程中,清华大学还开发了燃用生物质的热风炉,并申请了专利“一种燃用生物质的热风发生装置”(发明专利申请号:200710064684.1,实用新型专利申请号:200720103931.X)。 二、生物质燃料燃烧特性 与常规的燃煤相比,生物质燃料通常氧含量高(通常大于30%),氢碳比、氧碳比较高,挥发分高,灰分含量少。由于生物质燃料特性的不同,从而导致了生物质燃料在燃烧过程中的燃烧机理、反应速度以及燃烧产物的成分与燃煤相比也都存在较大差别,表现出不同于燃煤的燃烧特性。生物质燃料的燃烧过程主要分为挥发份的析出、燃烧和残余焦炭的燃烧、燃尽两个独立阶段,其燃烧过程的特点是: (1) 生物质水分含量较多,燃烧需要较高的干燥温度和较长的干燥时间,产生的烟气体积较大,排烟热损失较高; (2) 生物质燃料的密度小,结构比较松散,迎风面积大,容易被吹起,悬浮燃烧的比例较大; (3) 由于生物质发热量低,炉内温度场偏低,组织稳定的燃烧比较困难; (4) 由于生物质挥发份含量高,燃料着火温度较低,一般在250℃~350℃温度下挥发份就大量析出并开始剧烈燃烧,此时若空气供应量不足,将会增大燃料的化学不完全燃烧损失;

循环流化床秸秆锅炉项目

循环流化床秸秆生物质燃烧发电锅炉项目 中国科学院工程热物理研究所 一、项目的背景意义 随着社会对能源需求的日益增长,作为主要能源来源的化石燃料却迅速地减少。因此,寻找一种可再生的替代能源,成为社会普遍关注的焦点。生物质能是一种理想的可再生能源,它来源广泛,每年都有大量的工业,农业及森林废弃物产出。在目前世界的能源消耗中,生物质能消耗占世界总能耗的14%,仅次于石油、煤炭和天然气,位居第四位。而在发展中国家,生物质能占较大的比重,达到50%以上。据统计全球生物质能占可再生能源资源35%,在可再生资源中位居首位。1996年的我国生物质产量(主要是农作物秸杆)7.05亿吨,而当年利用量不足30%,这说明我国生物质能的利用潜力还很大。 利用生物质能发电是生物质利用的一种重要方式之一。瑞典和丹麦的大城市都是利用生物质,通过热电联产的方式进行区域集中供热的。生物质与化石燃料相比,具有以下优点:1、可再生性;2、低污染性:SOx、NOx排放浓度低;3、生物质作为燃料时,在生长周期内,对大气的二氧化碳净排放量近似于零,可有效地减轻温室效应。我国对燃烧生物质发电的上网电价给予了充分的优惠,目前,燃烧生物质发电的上网电价为当地燃煤发电上网电价的基础之上增加0.25元/KWh,这项政策的出台,必将推动生物质燃烧发电成套技术及设备在我国的空前发展。

河北是一个农业大省,每年秸秆的产量巨大。目前,一部分生物质燃料分散燃烧利用,大部分就地焚烧。如何避免直接就地焚烧带来的污染,同时利用生物质的热能,这是值得我们深入研究课题,同时急需相关技术和装备。 循环流化床锅炉燃料适应性广,可同时燃用多种燃料;环保特性优越,排放满足国家标准;炉内换热均匀,热回收效率高,运行稳定;灰渣利用性高。基于循环流化床锅炉所具有的上述优点,人们自然将目光转向采用循环流化床技术来利用生物质能源,日本、美国和欧洲各国都在研究开发燃用生物质的循环流化床锅炉技术和产品。 二、秸秆类生物质燃烧与采用循环流化床所遇到的问题 1、秸秆类生物质的燃烧特性表现为:挥发分析出、着火迅速,燃烧主要集中在挥发分的气相燃烧,固定碳所占的燃烧份额很小,但是固定碳的燃尽性能较差,如何实现挥发份有效的快速燃烧和固定碳的燃尽; 2、秸秆类生物质中含有较多的碱金属元素(主要是指钾和钠),在生物质燃烧过程中,主要表现为灰的粘结性较强,在炉膛内容易发生结渣、堵塞,在尾部受热面上发生积灰,影响循环流化床锅炉安全、稳定的运行。 3、秸秆类生物质中含有少量的硫和氯,燃烧过程中会产生一定量的SO2和HCl,对尾部受热面形成腐蚀,如何有效地避免受热面管壁的腐蚀;如何有效的去除尾部受热面管壁上的积灰。

循环流化床技术

循环流化床燃烧技术 循环流化床燃烧(CFBC)技术系指小颗粒的煤与空气在炉膛内处于沸腾状态下,即高速气流与所携带的稠密悬浮煤颗粒充分接触燃烧的技术。 循环流化床锅炉脱硫是一种炉内燃烧脱硫工艺,以石灰石为脱硫吸收剂,燃煤和石灰石自锅炉燃 烧室下部送入,一次风从布风板下部送入,二次风从燃烧室中部送入。石灰石受热分解为氧化钙和 二氧化碳。气流使燃煤、石灰颗粒在燃烧室内强烈扰动形成流化床,燃煤烟气中的SO2与氧化钙接 触发生化学反应被脱除。为了提高吸收剂的利用率,将未反应的氧化钙、脱硫产物及飞灰送回燃烧 室参与循环利用。钙硫比达到2~2.5左右时,脱硫率可达90%以上。流化床燃烧方式的特点是:1.清洁燃烧,脱硫率可达80%~95%,NO x排放可减少50%;2.燃料适应性强,特 别适合中、低硫煤;3.燃烧效率高,可达95%~99%;4.负荷适应性好。负荷调节范围30%~100%。 循环流化床锅炉主要由燃烧系统、气固分离循环系统、对流烟道三部分组成。其中燃烧系统包括风室、布风板、燃烧室、炉膛、给煤系统等几部分;气固分离循环系统包括物料分离装置和返料装置两部分;对流烟道包括过热器、省煤器、空气预热器等几部分。 循环流化床锅炉属低温燃烧。燃料由炉前给煤系统送入炉膛,送风一般设有一次风和二次风,有的生产厂加设三次风,一次风由布风板下部送入燃烧室,主要保证料层流化;二次风沿燃烧室高度分级多点送入,主要是增加燃烧室的氧量保证燃料燃烬;三次风进一步强化燃烧。燃烧室内的物料在一定的流化风速作用下,发生剧烈扰动,部分固体颗料在高速气流的携带下离开燃烧室进入炉膛,其中较大颗料因重力作用沿炉膛内壁向下流动,一些较小颗料随烟气飞出炉膛进入物料分离装置,炉膛内形成气固两相流,进入分离装置的烟气经过固气分离,被分离下来的颗料沿分离装置下部的返料装置送回到燃烧室,经过分离的烟气通过对流烟道内的受热面吸热后,离开锅炉。因为循环流化床锅炉设有高效率的分离装置,被分离下来的颗料经过返料器又被送回炉膛,使锅炉炉膛内有足够高的灰浓度,因此循环流化床锅炉不同于常规锅炉炉膛仅有的辐射传热方式,而且还有对流及热传等传热方式,大大提高了炉膛的传导热系数,确保锅炉达到额定出力。

循环流化床锅炉燃烧控制与调整

循环流化床锅炉燃烧控制与调整 摘要从分析循环流化床锅炉的燃烧和传热机理入手,结合循环流化床锅炉的结构特点,论述了常规情况下与循环流化床锅炉燃烧有关的工况控制和调整问题。 关键词循环流化床燃烧控制 循环流化床锅炉是一种高效、低污染的节能产品。自问世以来,在国内外得到了迅速的推广与发展。但由于循环流化床锅炉自身的特点,在运行操作时不同于层燃炉和煤粉炉,如果运行中不能满足其对热工参数的特殊要求,极易酿成事故。而目前有关循环流化床锅炉操作运行方面的资料还较少,笔者根据几年来锅炉设计及现场调试的经验,对循环流化床锅炉运行参数的控制与调整作了一下简述,希望能对锅炉运行人员有所启发。 1循环流化床锅炉总体结构 循环流化床锅炉主要由燃烧系统、气固分离循环系统、对流烟道三部分组成。其中燃烧系统包括风室、布风板、燃烧室、炉膛、给煤系统等几部分;气固分离循环系统包括物料分离装置和返料装置两部分;对流烟道包括过热器、省煤器、空气预热器等几部分。 2循环流化床锅炉燃烧及传热特性 循环流化床锅炉属低温燃烧。燃料由炉前给煤系统送入炉膛,送风一般设有一次风和二次风,有的生产厂加设三次风,一次风由布风板下部送入燃烧室,主要保证料层流化;二次风沿燃烧室高度分级多点送入,主要是增加燃烧室的氧量保证燃料燃烬;三次风进一步强化燃烧。燃烧室内的物料在一定的流化风速作用下,发生剧烈扰动,部分固体颗料在高速气流的携带下离开燃烧室进入炉膛,其中较大颗料因重力作用沿炉膛内壁向下流动,一些较小颗料随烟气飞出炉膛进入物料分离装置,炉膛内形成气固两相流,进入分离装置的烟气经过固气分离,

被分离下来的颗料沿分离装置下部的返料装置送回到燃烧室,经过分离的烟气通过对流烟道内的受热面吸热后,离开锅炉。因为循环流化床锅炉设有高效率的分离装置,被分离下来的颗料经过返料器又被送回炉膛,使锅炉炉膛内有足够高的灰浓度,因此循环流化床锅炉不同于常规锅炉炉膛仅有的辐射传热方式,而且还有对流及热传等传热方式,大大提高了炉膛的传导热系数,确保锅炉达到额定出力。 3循环流化床锅炉主要热工参数的控制与调整 3.1料层温度 料层温度是指燃烧密相区内流化物料的温度。它是一个关系到锅炉安全稳定运行的关键参数。料层温度的测定一般采用不锈钢套管热电偶作一次元件,布置在距布风板200-500mm左右燃烧室密相层中,插入炉墙深度15-25mm,数量不得少于2只。在运行过程中要加强对料层温度监视,一般将料层温度控制在850℃-9 50℃之间,温度过高,容易使流化床体结焦造成停炉事故;温度太低易发生低温结焦及灭火。必须严格控制料层温度最高不能超过970℃,最低不应低于80 0℃。在锅炉运行中,当料层温度发生变化时,可通过调节给煤量、一次风量及送回燃烧室的返料量,调整料层温度在控制范围之内。如料层温度超过970℃时,应适当减少给煤量、相应增加一次风量并减少返料量,使料层温度降低;如料层温度低于80 0℃时,应首先检查是否有断煤现象,并适当增加给煤量,减少一次风量,加大返料量,使料层温度升高。一但料层温度低于700℃,应做压火处理,需待查明温度降低原因并排除后再启动。 3.2返料温度 返料温度是指通过返料器送回到燃烧室中的循环灰的温度,它可以起到调节料层温度的作用。对于采用高温分离器的循环流化床锅炉,其返料温度较高,一般控制返料温度高出料层温度 20-30℃,可以保证锅炉稳定燃烧,同时起到调整燃烧的作用。在锅炉运行中必须密切监视返料温度,温度过高有可能造成返料器内结焦,特别是在燃用较难燃的无烟煤时,因为存在燃料后燃的情况,温度控制不好极易发生结焦,运行时应控制返料温度最高不能超过1000℃。返料温

循环流化床锅炉燃烧过程分析

循环流化床锅炉燃烧过程分析 循环流化床锅炉燃烧过程分析 摘要:循环流化床锅炉的燃烧过程是锅炉燃烧的重要组成部分,它可以燃烧所有煤种以及垃圾,但每台锅炉燃烧的煤种都是有限的,否则,影响锅炉出力,甚至因结焦而无法运行。 关键词:循环流化床锅炉;燃烧过程;燃料;燃烧效率 1 研究的目的 支持循环流化床锅炉燃烧的燃料很广,如煤、煤矸石、煤泥以及垃圾、生物质燃料等,其优越的着火条件是其它燃烧设备都不可比拟的,因此可燃用几乎所有劣质燃料。由于目前绝大多数循环流化床锅炉还是以煤为主要燃料,所以我们将讨论煤颗粒在流化床锅炉中的燃烧过程。燃烧过程在循环流化床锅炉的设计、运行中占有十分重要的地位。与层燃炉、煤粉炉相比,流化床中煤的颗粒相对运动十分强烈,煤粒不仅着火迅速,而且和空气混合也很好。它燃烧的速度很快。良好的燃烧可以促进锅炉燃烧效率的提高,而燃烧效率的高低直接关系着运行费用的增减,严重影响了经济效益。 2 循环流化床锅炉燃烧的过程分析 传统的燃烧理论认为组织良好燃烧过程的必要条件是时间、温度和湍流度。在循环流化床锅炉中,床温的标准维持在850~900℃左右。为了保持比较长的停留时间,得利用炉内物料的内循环和外循环黑燃烧颗粒,同时必需的湍流度靠床内强烈的气固混合提供。另一方面,密相床上方的气固两相流动比较差,也就是说在稀相区内局部,如果出现欠氧情况,周围的氧很难扩散到该区域内。因而焦炭和一氧化碳的燃尽是存在困难的。为此,需要增加二次风,补充炉内燃烧的氧气和加强物料的掺混。根据炉型的不同和燃煤的不同,二次风可以由不同的高度被给入。一些布置在侧墙,有的被布置在四周炉墙,还有在四角分布。 依次经历干燥和加热、挥发份析出和燃烧、膨胀和一次破碎、焦炭燃烧和二次破碎,磨损等程序后,煤颗粒将送入流化床中。由于瞬

循环流化床燃烧技术的发展现状及未来分析

循环流化床燃烧发展回顾及前景分 析 岳光溪 清华大学热能工程系教授

分离器 烟气 到尾部受热面 燃烧室 空气 ?适合劣质燃料 ?中温燃烧稳定(850~900℃) ?燃料停留时间长 ? 加入石灰石燃烧中脱硫 ?低氮氧化物排放 燃料 特点 循环流化床燃烧特点

循环流化床燃烧技术在中国的地位 ?我国能源工业高速发展 ?煤炭仍然我国电力工业主要能源 ?我国煤炭资源中高灰,高硫煤炭比重较大。洗煤过程产生大量矸石,洗中煤,煤泥需要利用。 ?循环流化床燃烧具备燃料适用性强,低成本干法燃烧中脱硫,低氮氧化物排放的优点。流化床燃烧仍然是大规模清洁利用此类燃料的最佳基本方式。 56.07% 32.96% 11.97%S<1%S=1-2%S>2% 22% 43% 33% 2% <10%10-20%20-30%>30% 0.5712 1.029 2.1722 3.19325.084 8.74 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 1952 1955 1958 1961 1964 1967 1970 1973 1976 1979 1982 1985 1988 1991 1994 1997 2000 2003 2006 2009 中国燃煤发电容量的发展(单位亿千瓦) Year 2000> 300 GWe Year 1987 Year 19491.8GWe Year 2009> 800 Year 2005> 500 GWe 2020年我国发电方式构成预测

我国循环流化床锅炉发电市场 循环流化床燃烧总容量:近一亿千瓦。 总循环流化床锅炉台数:大于3000台。为世界第一。 <5050100-150 200300 1 10 100 1000 6 13 250 150 U n i t s Boiler load, MWe 2581 1980 1985199019952000200520102015 200 400 600 800 C F B B o i l e r L o a d , M W e Year 中国循环流化床煤燃烧发电容量 中国循环流化床锅炉台数

循环流化床锅炉垃圾焚烧技术

(下转第93页) 作者简介:翟永军(1976-),男,山西长治人,助理工程师,本科,从事锅炉设计工作。 收稿日期:2009-05-08;修回日期:2009-08-16 第24卷第6期(总第112期)机械管理开发 2009年12月 Vol.24No.6(SUM No.112)MECHANICAL MANAGEMENT AND DEVELOPMENT Dec .2009 引言 循环流化床燃烧技术作为一种新型清洁燃烧技术,解决了垃圾成分复杂难处理、二噁英排放及二次污染等问题,达到节能减排,符合国家绿色能源政策的要求,逐渐成为垃圾焚烧处理的主流。因此,对循环流化床锅炉的选型及设计是当今研究的重要课题。1城市生活垃圾的构成及处理办法 长期以来,我国城填居民以煤为主要燃料,蔬菜、粮食多以自然状态供应,包装简单,垃圾管理也不严格,因此垃圾中灰、土、砖、瓦含量多,可燃成分低、含水量高。这种垃圾的发热量仅够用于自身干燥,没有作为燃料利用价值。随着现代进程的加快,蔬菜及其他商品供应趋于合理,垃圾成分随之改变,垃圾中纸、布、塑料、木质、纤维、厨芥类等含量大大增加,灰土含量减少,热值达到1000kcal/kg 以上,已具备焚烧利用的条件。目前,国内外广泛采用的垃圾处理方式主要有以下几种: 1)卫生填埋技术。卫生堆肥技术的优点是:成本相对较低;其缺点是:占地面积大;可能出现渗漏、沼气无序排放等二次污染。 2)生物堆肥技术。生物堆肥技术的优点是成本相对较低、制肥可出售;缺点是:占地面积大,易出现消毒不彻底、重金属超标、肥效差等问题。 3)焚烧技术。焚烧技术的优点:(1)可用来发电,用焚烧后回收的热量供热,可以实现垃圾处理的资源化和能源化;(2)可减少垃圾体积90%以上,其焚烧后的灰渣还可以综合利用;(3)垃圾经高温焚烧,可杀菌消毒,避免直接堆放引起的水源、大气污染;(4)垃圾产生的渗沥液可送入炉内燃烧,焚烧后烟气经除尘处理,不会造成二次污染;(5)垃圾焚烧工厂占地面积小,可在城市近效建厂,能节约土地,并减少垃圾运输成本。 综上所述,由于垃圾可回收利用,减容大,污染物热排放量低等优点,焚烧成为目前城市综合利用最有前途的方式。 2目前国内垃圾焚烧利用的方式 1)炉排炉。优点:不需要对垃圾进行预处理,宽容性和适应性好。缺点:(1)炉排难以适应水份变化范围较大的垃圾,高水分垃圾焚烧困难,需加油助燃,油耗 量大。同时垃圾成分复杂,完全燃烧比较困难。(2)炉温不易控制,在1000℃以上灰渣处于软化和粘性状态,成为特殊的腐蚀物质。(3)制造复杂、成本高、投资大,经济性差,燃烧设备多为进口,价格昂贵。 2)流化床炉:优点:(1)燃料适应性广,可燃烧高水分、低热值、高灰分的垃圾,床内混合均匀,燃尽度高,特别适合于垃圾热值随季节变化大的特点。(2)掺烧部分煤,不需燃油,运行费用低,对抑制腐蚀和降低二噁英的排放效果显著。(3)投资成本低[1]。缺点:垃圾要预处理。 3循环流化床垃圾焚烧锅炉针对性设计 循环流化床燃烧技术是上世纪60年代迅速发展起来的新型燃烧技术,由于其具有节能环保的特点,从而得到推广和应用。针对垃圾燃料的特点,循环流化床垃圾焚烧锅炉进行了针对性设计。 1)垃圾燃烧:由于在流化床内蓄有大量的高温物料,燃料着火条件好,对劣质及热值变化范围大的燃料适应性好,尤其是适合我国垃圾成分复杂、热值偏低的国情。在掺烧20%左右的煤后,即可以稳定燃烧。在处理垃圾的同时,变废为宝,节约了大量燃煤,降低了燃料成本。 2)二噁英的排放控制:二噁英被称为历史上最毒的合成毒之一的物质,不但会致癌,而且会造成人体生殖异常,免役异常及荷尔蒙异常,在原生垃圾中存有大量氯基物质,俗称其二噁英是超标存在的。循环流化床垃圾焚烧锅炉采取了以下措施控制二噁英的生成与排放:(1)炉膛温度控制在850℃左右,烟气在炉内停留时间大于抑制二噁英生成所需的3s 时间[2]。(2)在运行时掺部分燃煤,利用煤中含有的少量硫或添加的脱硫剂,抑制二噁英的生成。(3)尾部烟道含氧量控制在9%左右。(4)高效旋风分离器保障了主循环回路内的灰的再循环。 采用以上技术后,循环流化床垃圾焚烧锅炉,二噁英、呋喃等有毒有害气体的排放不仅达到国家标准,甚至优于欧洲标准要求,不会造成二次污染。 3)垃圾渗沥液的处理:垃圾渗沥液可以直接喷入炉内焚烧,没有额外污水处理的负担,节省一大笔费用。 4)受热面腐蚀:垃圾焚烧后的烟气内含有HCl , 循环流化床锅炉垃圾焚烧技术 翟永军 (太原锅炉集团技术中心,山西 太原 030021) 【摘要】介绍了城市生活垃圾的构成及处理方法;焚烧垃圾的方式及特点;循环流化床垃圾焚烧炉的设计要点。【关键词】 循环流化床锅炉;垃圾焚烧;节能减排 【中图分类号】TH134【文献标识码】A 【文章编号】1003-773X (2009)06-0091-02

循环流化床垃圾焚烧技术特点及运行调节

循环流化床垃圾焚烧技术特点及运行调节 方朝军1成超姜志红王武忠 (杭州锦江集团浙江杭州 310005 连云港晨兴环保产业有限公司江苏连云港 222000 ) 摘要:随着城市生活垃圾产量与日俱增及环保要求的不断提高,采用循环流化床(CFB)燃烧技术逐渐在城市生活垃圾的资源化利用方面扮演越来越重要的角色,本文简要探讨循环流化床焚烧垃圾技术的特点及运行过程中重要参数的优化调节。 关键词:城市生活垃圾;循环流化床焚烧技术;运行调节 CHARACTERISTICS OF MUNICIPAL SOLID WASTE CIRCULATING FLUIDIZED BED TECHNOLOGY AND OPERATION REGULATION Fang chao-jun; Cheng chao;Jiang zhi-hong; Wang wu-zhong (Hangzhou Jinjiang Group, Hangzhou Zhejiang310005, Lianyungang Chenxing environmental protection industry co., LTD, Lianyungang jiangsu 222000) ABSTRACT:With city life garbage output increases and the requirement of environmental protection is increasing,The circulating fluidized bed (CFB) combustion technology in municipal solid waste resource 1作者简介:方朝军,(1974- )男,工程师,长期从事循环流化床垃圾焚烧技术的工程调试、运行管理工作。447639327@https://www.wendangku.net/doc/224665914.html,

循环流化床锅炉扫盲篇

循环流化床锅炉扫盲篇 循环流化床锅炉学习资料关于循环流化床锅炉介绍循环流化床锅炉技术是近几十年来迅速发展起 来的一项高效低污染清洁燃煤技术。国际上这项技术在电站锅炉,工业锅炉和废弃物处理利用等领域已得到广泛的商业应用,并向几十万千瓦给规模的大型循环流化床锅炉发展。国内在这方面的研究、开发和应用也是方兴未艾,已有上百台循环流化床锅炉投入运行或正在制造之中,可以预见,未来的几年将是循环流化床飞速发展的一个重要时期。现根据我国近几年来出版的关于循环流化床锅炉理论设计与运行中有关循环流化床锅炉的原理、特点、启动和运行等方面的情况介绍如下:一、循环流化床锅炉的工作原理:(一)流态化过程:当流体向上流动流过颗粒床层时,其运行状态是变化的。流速较低时,颗粒静止不动,流体只在颗粒之间的缝隙中通过。当流速增加到某一速度之后,颗粒不再由分布板所支持,而全部由流体的摩擦力所承托。此时对于单个颗粒来讲,它不再依靠与其他邻近颗粒的接触面维持它的空间位置。相反地,在失去了以前的机械支承后,每个颗粒可在床层中自由运动;就整个床层面言,具有了许多类似流体的性质。这种状态就被称为流态化。颗粒床层从静止状态转变为流态化时的最低速度,称为临界流化速度。流化床类似流体的性质主要有以下几点(1)在任一高度的静止近似于在此高度以上单位床截面内固体颗粒的重量。(2)无论床层如何倾斜,床表面总是保持水平,床层的形状也保持容器的形状;(3)床内固体颗粒可以像流体一样从底部或侧面的孔口中排出;(4)密度高于床层表观察的物体化床内会下沉,密度小的物体会浮在床面上;(5)床内颗粒混合良好,颗粒均匀分散于床层中,称之为“散式”流态化。因此,当加热床层时,整个床层的温度基本均匀。而一般的气、固体态化,气体并不均匀地流过颗粒床层。一部分气体形成气泡经床层短路逸出,颗粒则被分成群体作湍流运动,床层中的空隙率随位置和时间的不同而变化,因此这种流态化称之为“聚式”流态化。煤的燃烧过程是一个气、固流态化过程。二、循环流化床的原理和特点:循环流化床在不同气流速度下固体颗粒床层的流动状态也不同。随着气流速度的增加,固体颗粒分别呈现固体床、鼓泡流化床、湍流流化床和气力输送状态。循环流化床的上升阶段通常运行在快速流化床状态下,快速流化床流体动力特性的形成对循环流化床是至关重要的,此时,固体燃料被速度大于单颗燃料的终端速度的气流所流化,以颗粒团的形式上下运动,产生高度的返混。颗粒团向各个方向运动,而且不断形成和解体,在这种流体状态下气流还可携带一定数量的大颗粒,尽管其终端速度远大于截平均气速。这种气、固运行方式中,存在较大的气、固两相速度差,即相对速度,循环流化床由快速流化床(上升段)气、固燃料分离装置和固体燃料回送装置所组成。循环流化床的特点可纳如下:(1)不再有鼓泡流化床那样的界面,固体颗粒充满整个上升段空间。(2)有强力的燃料返混,颗粒团不断形成和解体,并向各个方面运行。(3)颗粒与气体之间的相对速度大,且与床层空隙率和颗粒循环流量有关。(4)运行流化速度为鼓泡流化床的2-3倍。(5)床层压降随流化速度和颗粒的质量流量而变化。(6)颗粒横向混合良好。(7)强烈的颗粒返混,颗粒的外部循环和良好的横向混合,使得整个上升段内温度分布均匀。(8)通过改变上升段内的存料量,燃料在床内的停留时间可在几分钟到数子时范围内调节。(9)流化气体的整体性状呈塞状流。(10)流化气体根据需要可在反应器的不同高度加入。三、流化床燃料设备的主要类型:流化床操作起初主要用在化工领域,自60年代开始,流化床被用于煤的燃料,并且很快成为三种主要燃料方式之一,即固定床燃料(层燃),流化床燃料和悬浮燃烧(煤粉燃烧)流化床燃烧过程的理论和实践也大大推动了流态化学科的发展,目前流化床燃烧已成为流态化的主要应用领域之一,愈来愈得到人们的重视。流化床燃烧设备按流体动力特性可分为鼓泡流化床锅炉,和循环流化床锅炉,按工作条件分又可分为常压和增压流化床锅炉,这样流化床燃烧锅炉可分为常压鼓泡流化床锅炉,常压循环流化床锅炉,增压鼓泡流化床锅炉和增压循环流化床锅炉正在工业示范阶段。(四)循环流化床锅炉的特点:(1)循环流化床锅炉的工作条件:项目数值项目数值温度(℃)850-950床层压降KPa11-12 流化速度(m/s)4-6炉内颗粒浓度kg/m3150-600炉膛底部床料粒度(μm)100-700 10-40炉膛上部床料密度(kg/m3)1800-2600Ca/s 摩尔比1.5-4 燃料粒度(mm)<12壁面传210-250 脱硫剂粒度(mm)1左右(2)循环流化床锅炉的特点:循环流化床锅炉可分为两个部份,第一部份由炉膛(块速流化床)气,固物料分离设备,固体物料再循环设备,(旋风份离器)等组成,上述部分形成了一个固体物料循环回路。第二部份为对流烟道,布置有过热器,再热器,省煤器和空气予热器等。典型循环流化床锅炉燃烧系统,燃烧所需的一、二次风分

循环流化床技术

循环流化床燃烧技术 循环流化床燃烧(CFBC)技术系指小颗粒的煤与空气在炉膛内处于沸腾状态下,即高速气流与所携带的稠密悬浮煤颗粒充分接触燃烧的技术。 循环流化床锅炉脱硫就是一种炉内燃烧脱硫工艺,以石灰石为脱硫吸收剂,燃煤与石灰石自锅炉燃烧室下部送入,一次风从布风板下部送入,二次风从燃烧室中部送入。石灰石受热分解为氧化钙与二氧化碳。气流使燃煤、石灰颗粒在燃烧室内强烈扰动形成流化床,燃煤烟气中的SO2与氧化钙接触发生化学反应被脱除。为了提高吸收剂的利用率,将未反应的氧化钙、脱硫产物及飞灰送回燃烧室参与循环利用。钙硫比达到2~2.5左右时,脱硫率可达90%以上。流化床燃烧方式的特点就是:1.清洁燃烧,脱硫率可达80%~95%,NO x排放可减少50%;2.燃料适应性强,特别适合中、低硫煤;3、燃烧效率高,可达95%~99%;4.负荷适应性好。负荷调节范围30%~100%。 循环流化床锅炉主要由燃烧系统、气固分离循环系统、对流烟道三部分组成。其中燃烧系统包括风室、布风板、燃烧室、炉膛、给煤系统等几部分;气固分离循环系统包括物料分离装置与返料装置两部分;对流烟道包括过热器、省煤器、空气预热器等几部分。 循环流化床锅炉属低温燃烧。燃料由炉前给煤系统送入炉膛,送风一般设有一次风与二次风,有的生产厂加设三次风,一次风由布风板下部送入燃烧室,主要保证料层流化;二次风沿燃烧室高度分级多点送入,主要就是增加燃烧室的氧量保证燃料燃烬;三次风进一步强化燃烧。燃烧室内的物料在一定的流化风速作用下,发生剧烈扰动,部分固体颗料在高速气流的携带下离开燃烧室进入炉膛,其中较大颗料因重力作用沿炉膛内壁向下流动,一些较小颗料随烟气飞出炉膛进入物料分离装置,炉膛内形成气固两相流,进入分离装置的烟气经过固气分离, 被分离下来的颗料沿分离装置下部的返料装置送回到燃烧室,经过分离的烟气通过对流烟道内的受热面吸热后,离开锅炉。因为循环流化床锅炉设有高效率的分离装置,被分离下来的颗料经过返料器又被送回炉膛,使锅炉炉膛内有足够高的灰浓度,因此循环流化床锅炉不同于常规锅炉炉膛仅有的辐射传热方式,而且还有对流及热传等传热方式,大大提高了炉膛的传导热系数,确保锅炉达到额定出力。 循环流化床锅炉概述 循环流化床锅炉就是一种高效、低污染的节能产品。自问世以来,在国内外得到了迅速的推广与发展。但由于循环流化床锅炉自身的特点,在运行操作时不同于层燃炉与煤粉炉,如果运行中不能满足其对热工参数的特殊要求,极易酿成事故。而目前有关循环流化床锅炉操作运行方面的资料还较少,笔者根据几年来锅炉设计及现场调试的经验,对循环流化床锅炉运行参数的控制与调整作了一下简述,希望能对锅炉运行人员有所启发。 1 循环流化床锅炉总体结构 循环流化床锅炉主要由燃烧系统、气固分离循环系统、对流烟道三部分组成。其中燃烧系统包括风室、布风板、燃烧室、炉膛、给煤系统等几部分;气固分离循环系统包括物料分离装置与返料装置两部分;对流烟道包括过热器、省煤器、空气预热器等几部分。

相关文档