FLUENT UDF代码_颗粒(煤或生物质)床层多相流燃烧过程数值模拟-【第1部分】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fluent-UDF_Coal-Combustion-Multiphase-Flow-Processes ---Codes for various kinds of heterogeneous reactions
【第一部分-Part1】
#include "udf.h"
#include "stdio.h"
#include "time.h"
#define SMALL_S 1.e-29
#define eps_g_small 1.
#define eps_s_small 1.e-6
#define spe_small 1.e-6
#define spe_small_comb 1.e-6
#define TMAX 3000.
#define TMIN 280.
#define Rgas 1.987 /* cal/mol.K */ /*UNIVERSAL_GAS_CONSTANT;*/
#define PR_NUMBER(cp,mu,k) ((cp)*(mu)/(k))
#define IP_HEAT_COEFF(vofP,vofS,k,nu,d) ((vofP)*(vofS)*6.*(k)*(Nu)/(d)/(d))
#define Carbon_Init_MF 0.541
#define Volatile_Init_MF 0.418
#define Moisture_Init_MF 0.026
#define Ash_Init_MF (1.-Carbon_Init_MF-Volatile_Init_MF-Moisture_Init_MF)
#define rho_c (1000.)
#define rho_ash (2931)
#define rho_liq_water (998.2)
#define rho_volatile (1000.)
#define solid_rho (1./(Carbon_Init_MF/rho_c+Volatile_Init_MF/rho_volatile+Moisture_Init_MF/rho_liq_water+Ash _Init_MF/rho_ash))
/* Functions Defination */
void SolidFuel_Reactant(cell_t c, Thread *t, Hetero_Reaction *hr, double* y_carbon, double* mol_weight);
void volatile_mass_fractions();
void SetSpeciesIndex();
void read_c3m_data();
double satPressure(double T);
double Get_Phase_Index(Hetero_Reaction *hr);
double Turbulent_rr(cell_t c, Thread *t, Hetero_Reaction *r, real yi[MAX_PHASES][MAX_SPE_EQNS]);
double Mass_Transfer_Coeff(cell_t c, Thread *tp, Thread *ts);
double heat_gunn_udf(cell_t c, Thread *ti, Thread *tj);
double rr_combustion(cell_t c, Thread *t, Thread *ts, Thread *tp, double yi_O2, double y_ash, double y_carbon);
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 rr_co2_gasif(cell_t c, Thread *t, Thread *ts, Thread *tp, double y_co, double y_co2, double y_carbon, double mol_weight, double* direction);
double rr_h2_gasif(cell_t c, Thread *t, Thread *ts, Thread *tp, double y_h2, double y_ch4, double y_carbon, double mol_weight, double* direction);
int IP_CH4 = 0, IS_CH4 = 0, IP_CO = 0, IS_CO = 0,
IP_CO2 = 0, IS_CO2 = 0, IP_H2 = 0, IS_H2 = 0,
IP_H2O = 0, IS_H2O = 0, IP_O2 = 0, IS_O2 = 0,
IP_H2S = 0, IS_H2S = 0, IP_CL2 = 0, IS_CL2 = 0,
IP_NH3 = 0, IS_NH3 = 0, IP_N2 = 0, IS_N2 = 0,
IP_TAR = 0, IS_TAR = 0, IP_C = 0, IS_C = 0,
IP_VOL = 0, IS_VOL = 0, IP_MOISTURE = 0, IS_MOISTURE = 0,
IP_ASH = 0, IS_ASH = 0, IP_SOOT = 0, IS_SOOT = 0,
IP_PAH = 0, IS_PAH = 0, IP_OIL = 0, IS_OIL = 0,
IP_ASH_R = 0, IS_ASH_R = 0, IP_C_R = 0, IS_C_R = 0,
IP_C2H2 = 0, IS_C2H2 = 0, IP_SLURRY = 0, IS_SLURRY = 0,
IP_C2H4 = 0, IS_C2H4 = 0, IP_C2H6 = 0, IS_C2H6 = 0,
IP_C3H6 = 0, IS_C3H6 = 0, IP_C3H8 = 0, IS_C3H8 = 0,
IP_SLURRY_D = 0, IS_SLURRY_D = 0, IP_SAND = 0, IS_SAND = 0,
IP_ASH_D = 0, IS_ASH_D = 0;
int current_c3m_solid_phase = 0;
cxboolean init_flag = TRUE;
cxboolean PCCL_Devol = FALSE;
cxboolean MGAS_Devol = FALSE;
cxboolean CPD_Devol = FALSE;
cxboolean FGDVC_Devol = FALSE;
cxboolean HPTR_Devol = FALSE;
cxboolean MGAS_Moisture = FALSE;
cxboolean PCCL_Moisture = FALSE;
cxboolean MGAS_TarCracking = FALSE;
cxboolean PCCL_2nd_Pyro = FALSE;
cxboolean MGAS_Gasif = FALSE;