已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
解释型速度进口/*myexample.cUDF for specifying steady-state velocity profile boundary condition*#include udf.hDEFINE_PROFILE(inlet_x_velocity, thread, position) real xND_ND; /* this will hold the position vector */ real y, h; face_t f; h = 0.016; /* inlet height in m */ begin_f_loop(f,thread) F_CENTROID(x, f, thread); y = 2.*(x1-0.5*h)/h; /* non-dimensional y coordinate */ F_PROFILE(f, thread, position) = 0.1*(1.0-y*y); end_f_loop(f, thread)解释型周期压力出口/*unsteady.cUDF for specifying a transient pressure profile boundary condition*/#include udf.hDEFINE_PROFILE(unsteady_pressure, thread, position) face_t f; real t = CURRENT_TIME; begin_f_loop(f, thread) F_PROFILE(f, thread, position) = 101325.0 + 5.0*sin(10.*t); end_f_loop(f, thread)动量方程添加源相/*UDF that adds momentum source term and derivative to duct flow*/#include udf.h#define CON 20.0DEFINE_SOURCE(cell_x_source, cell, thread, dS, eqn) real source; if (C_T(cell,thread) 288.) mu_lam = 5.5e-3; else if (temp 286.) mu_lam = 143.2135 - 0.49725 * temp; else mu_lam = 1.; return mu_lam;RK真实气体状态方程MWT = 分子量 PCRIT = 临界压力 (Pa) TCRIT = 临界温度 (K) ZCRIT = 临界压缩因子 VCRIT = 临界体积 (m /kg) NRK = 功能指数 CC1, CC2, CC3, CC4, CC5 = 理想气体比热曲线拟合Coefficients of polynomial curve fit P_REF = 参考压力 (Pa) T_REF = 参考温度 (K) /*/* */* User-Defined Function: Redlich-Kwong Equation of State */* for Real Gas Modeling */* */* Author: He qingyang */* Date: dec 2009 */* Version: 1.00 */* */* This implementation is completely general. */* Parameters set for CO2. */* */*/#include udf.h#include stdio.h#include ctype.h#include stdarg.h/* The variables below need to be set for a particular gas */* CO2 */* REAL GAS EQUATION OF STATE MODEL - BASIC VARIABLES */* ALL VARIABLES ARE IN SI UNITS! */#define RGASU UNIVERSAL_GAS_CONSTANT#define PI 3.141592654#define MWT 44.01#define PCRIT 7.3834e6#define TCRIT 304.21#define ZCRIT 0.2769#define VCRIT 2.15517e-3#define NRK 0.77/* IDEAL GAS SPECIFIC HEAT CURVE FIT */#define CC1 453.577#define CC2 1.65014#define CC3 -1.24814e-3#define CC4 3.78201e-7#define CC5 0.00/* REFERENCE STATE */#define P_REF 101325#define T_REF 288.15/* OPTIONAL REFERENCE (OFFSET) VALUES FOR ENTHALPY AND ENTROPY */#define H_REF 0.0#define S_REF 0.0static int (*usersMessage)(char *,.);static void (*usersError)(char *,.);/* Static variables associated with Redlich-Kwong Model */static double rgas, a0, b0, c0, bb, cp_int_ref;DEFINE_ON_DEMAND(I_do_nothing) /* this is a dummy function to allow us */ /* to use the compiled UDFs utility */*-*/* FUNCTION: RKEOS_error */*-*/void RKEOS_error(int err, char *f, char *msg) if (err) usersError(RKEOS_error (%d) from function: %sn%sn,err,f,msg);/*-*/* FUNCTION: RKEOS_Setup */*-*/void RKEOS_Setup(Domain *domain, cxboolean vapor_phase, char *filename, int (*messagefunc)(char *format, .), void (*errorfunc)(char *format, .) rgas = RGASU/MWT; a0 = 0.42747*rgas*rgas*TCRIT*TCRIT/PCRIT; b0 = 0.08664*rgas*TCRIT/PCRIT; c0 = rgas*TCRIT/(PCRIT+a0/(VCRIT*(VCRIT+b0)+b0-VCRIT; bb = b0-c0; cp_int_ref = CC1*log(T_REF)+T_REF*(CC2+ T_REF*(0.5*CC3+T_REF*(0.333333*CC4+0.25*CC5*T_REF); usersMessage = messagefunc; usersError = errorfunc; usersMessage(nLoading Redlich-Kwong Library: %sn, filename);/*-*/* FUNCTION: RKEOS_pressure */* Returns density given T and density */*-*/double RKEOS_pressure(double temp, double density) double v = 1./density; double afun = a0*pow(TCRIT/temp,NRK); return rgas*temp/(v-bb)-afun/(v*(v+b0);/*-*/* FUNCTION: RKEOS_spvol */* Returns specific volume given T and P */*-*/double RKEOS_spvol(double temp, double press) double a1,a2,a3; double vv,vv1,vv2,vv3; double qq,qq3,sqq,rr,tt,dd; double afun = a0*pow(TCRIT/temp,NRK); a1 = c0-rgas*temp/press; a2 = -(bb*b0+rgas*temp*b0/press-afun/press); a3 = -afun*bb/press; /* Solve cubic equation for specific volume */ qq = (a1*a1-3.*a2)/9.; rr = (2*a1*a1*a1-9.*a1*a2+27.*a3)/54.; qq3 = qq*qq*qq; dd = qq3-rr*rr; /* If dd = 0, then we have three roots - choose largest root */ if (dd vv2) ? vv1 : vv2; vv = (vv vv3) ? vv : vv3; return vv;/*-*/* FUNCTION: RKEOS_density */* Returns density given T and P */*-*/double RKEOS_density(double temp, double press, double yi) return 1./RKEOS_spvol(temp, press); /* (Kg/m3) */*-*/* FUNCTION: RKEOS_dvdp */* Returns dv/dp given T and rho */*-*/double RKEOS_dvdp(double temp, double density) double a1,a2,a1p,a2p,a3p,v,press; double afun = a0*pow(TCRIT/temp,NRK); press = RKEOS_pressure(temp, density); v = 1./density; a1 = c0-rgas*temp/press; a2 = -(bb*b0+rgas*temp*b0/press-afun/press); a1p = rgas*temp/(press*press); a2p = a1p*b0-afun/(press*press); a3p = afun*bb/(press*press); return -(a3p+v*(a2p+v*a1p)/(a2+v*(2.*a1+3.*v);/*-*/* FUNCTION: RKEOS_dvdt */* Returns dv/dT given T and rho */*-*/double RKEOS_dvdt(double temp, double density) double a1,a2,dadt,a1t,a2t,a3t,v,press; double afun = a0*pow(TCRIT/temp,NRK); press = RKEOS_pressure(temp, density); v = 1./density; dadt = -NRK*afun/temp; a1 = c0-rgas*temp/press; a2 = -(bb*b0+rgas*temp*b0/press-afun/press); a1t = -rgas/press; a2t = a1t*b0+dadt/press; a3t = -dadt*bb/press; return -(a3t+v*(a2t+v*a1t)/(a2+v*(2.*a1+3.*v);/*-*/* FUNCTION: RKEOS_Cp_ideal_gas */* Returns ideal gas specific heat given T */*-*/double RKEOS_Cp_ideal_gas(double temp) return (CC1+temp*(CC2+temp*(CC3+temp*(CC4+temp*CC5);/*-*/* FUNCTION: RKEOS_H_ideal_gas */* Returns ideal gas specific enthalpy given T */*-*/double RKEOS_H_ideal_gas(double temp) return temp*(CC1+temp*(0.5*CC2+temp*(0.333333*CC3+ temp*(0.25*CC4+temp*0.2*CC5);/*-*/* FUNCTION: RKEOS_specific_heat */* Returns specific heat given T and rho */*-*/double RKEOS_specific_heat(double temp, double density, double P, double yi) double delta_Cp,press,v,dvdt,dadt; double afun = a0*pow(TCRIT/temp,NRK); press = RKEOS_pressure(temp, density); v = 1./density; dvdt = RKEOS_dvdt(temp, density); dadt = -NRK*afun/temp; delta_Cp = press*dvdt-rgas-dadt*(1.+NRK)/b0*log(v+b0)/v) + afun*(1.+NRK)*dvdt/(v*(v+b0); return RKEOS_Cp_ideal_gas(temp)+delta_Cp; /* (J/Kg-K) */*-*/* FUNCTION: RKEOS_enthalpy */* Returns specific enthalpy given T and rho */*-*/double RKEOS_enthalpy(double temp, double density, double P, double yi) double delta_h ,press, v; double afun = a0*pow(TCRIT/temp,NRK); press = RKEOS_pressure(temp, density); v = 1./density; delta_h = press*v-rgas*temp-afun*(1+NRK)/b0*log(v+b0)/v); return H_REF+RKEOS_H_ideal_gas(temp)+delta_h; /* (J/Kg) */*-*/* FUNCTION: RKEOS_entropy */* Returns entropy given T and rho */*-*/double RKEOS_entropy(double temp, double density, double P, double yi) double delta_s,v,v0,dadt,cp_integral; double afun = a0*pow(TCRIT/temp,NRK); cp_integral = CC1*log(temp)+temp*(CC2+temp*(0.5*CC3+ temp*(0.333333*CC4+0.25*CC5*temp) - cp_int_ref; v = 1./density; v0 = rgas*temp/P_REF; dadt = -NRK*afun/temp; delta_s = rgas*log(v-bb)/v0)+dadt/b0*log(v+b0)/v); return S_REF+cp_integral+delta_s; /* (J/Kg-K) */*-*/* FUNCTION: RKEOS_mw */* Returns molecular weight */*-*/double RKEOS_mw(double yi) return MWT; /* (Kg/Kmol) */*-*/* FUNCTION: RKEOS_speed_of_sound */* Returns s.o.s given T and rho */*-*/double RKEOS_speed_of_sound(double temp, double density, double P, double yi) double cp = RKEOS_specific_heat(temp, density, P, yi); double dvdt = RKEOS_dvdt(temp, density); double dvdp = RKEOS_dvdp(temp, density); double v = 1./density; double delta_c = -temp*dvdt*dvdt/dvdp; return sqrt(cp/(delta_c-cp)*dvdp)*v; /* m/s */*-*/* FUNCTION: RKEOS_rho_t */*-*/double RKEOS_rho_t(double temp, double density, double P, double yi) return -density*density*RKEOS_dvdt(temp, density);/*-*/* FUNCTION: RKEOS_rho_p */*-*/double RKEOS_rho_p(double temp, double density, double P, double yi) return -density*density*RKEOS_dvdp(temp, density);/*-*/* FUNCTION: RKEOS_enthalpy_t */*-*/double RKEOS_enthalpy_t(double temp, double density, double P, double yi) return RKEOS_specific_heat(temp, density, P, yi);/*-*/* FUNCTION: RKEOS_enthalpy_p */*-*/double RKEOS_enthalpy_p(double temp, double density, double P, double yi) double v = 1./density; double dvdt = RKEOS_dvdt(temp, density); return v-temp*dvdt;/*-*/* FUNCTION: RKEOS_viscosity */*-*/double RKEOS_viscosity(double temp, double density, double P, double yi) double mu,tr,tc,pcatm; tr = temp/TCRIT; tc = TCRIT; pcatm = PCRIT/101325.; mu = 6.3e-7*sqrt(MWT)*pow(pcatm,0.6666)/pow(tc,0.16666)* (pow(tr,1.5)/(tr+0.8); return mu;/*-*/* FUNCTION: RKEOS_thermal_conductivity */*-*/double RKEOS_thermal_conductivity(double temp, double density, double P, double yi) double cp, mu; cp = RKEOS_Cp_ideal_gas(temp); mu = RKEOS_viscosity(temp, density, yi); return (cp+1.25*rgas)*mu;/* Export Real Gas Functions to Solver */UDF_EXPORT RGAS_Functions RealGasFunctionList = RKEOS_Setup, /* initialize */ RKEOS_density, /* density
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产后抑郁的药物不良反应监测
- 创新团队建设方案
- 交叉设计在生物等效性试验的假设检验流程
- 血液透析血管通路陈湛华
- 初二年级上册期末模拟物理质量检测试题答案
- 五块石商业中心项目策划书建议案
- 浅析《欲望号街车》中的象征主义
- 科技文献检索实践报告
- 2025年中国农业与食品行业创新科技发展报告
- 中国石化石家庄炼化分公司2025年校园招聘简章【模板】
- 转让成熟民宿合同范本
- 2025年11月23日辽宁省税务局遴选笔试真题及答案解析(业务卷)
- 中泰证券2025届秋季校园招聘笔试历年常考点试题专练附带答案详解试卷3套
- 智慧树知到《中国马克思主义与当代(北京工业大学)》2025章节测试附答案
- 《水化学》池塘养殖水体水质调控1共50张课件
- (郑州)解放军信息工程大学自考招生简章
- (新教材)广东粤教粤科版五年级上册科学 1.7 植物能够利用阳光 教案(教学设计)
- 住院医师规范化培训结业临床实践能力考核标准方案(2022版)(全科)
- 重庆美的-Lc系列电控使用说明书
- PJG760系列矿用隔爆兼本质安全型永磁式高压真空配电装置说明书-PJG760-10(6)高压真空配电装置Y
- 窗帘布艺投标方案
评论
0/150
提交评论