




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算流体力学软件Fluent培训UDF基础,概要,FLUENTUDF简介FLUENT数据结构和宏两个例子UDF支持,简介,什么是UDF?UDF是用户自己用C语言写的一个函数,可以和FLUENT动态链接标准C函数三角函数,指数,控制块,Do循环,文件读入/输出等预定义宏允许获得流场变量,材料属性,单元几何信息及其他为什么使用UDFs?标准的界面不能编程模拟所有需求:定制边界条件,源项,反应速率,材料属性等定制物理模型用户提供的模型方程调整函数执行和需求函数初始化,可以使用UDF的位置,UDF数据结构(1),在UDF中,体域和面域通过Thread数据类型获得Thread是FLUENT定义的数据类型为了在thread(zone)中获得数据,我们需要提供正确的指针,并使用循环宏获得thread中的每个成员(cellorface),Fluid(cellthreadorzone),Boundary(facethreadorzone),Domain,Cell,UDF数据结构(2),cell_t声明了识别单元的整型数据类型face_t声明了识别面的整型数据类型,TypeVariableMeaningofthedeclarationDomain*d;disapointertodomainthreadThread*t;tisapointertothreadcell_tc;ciscellthreadvariableface_tf;fisafacethreadvariableNode*node;nodeisapointertoanode.,UDF中的循环宏,几个经常用到的循环宏为:对域d中所有单元thread循环:thread_loop_c(ct,d)对域d中所有面thread循环:thread_loop_f(ft,d)对threadt中所有单元循环:begin_c_loop(c,t)end_c_loop(c,t)对面thread中所有面循环begin_f_loop(f,f_thread)end_f_loop(f,f_thread),d:adomainpointerct,t:acellthreadpointerft,f_thread:afacethreadpointerc:acellthreadvariablef:afacethreadvariable,例子抛物线分布的速度入口,在二维弯管入口施加抛物线分布的速度x方向的速度定义为需要通过宏获得入口的中心点,通过另外一个宏赋予速度条件,第1步准备源代码,DEFINE_PROFILE宏允许定义x_velocity函数所有的UDFs以DEFINE_宏开始x_velocity将在GUI中出现thread和nvDEFINE_PROFILE宏的参数,分别用来识别域和变量begin_f_loop宏通过thread指针,对所有的面f循环F_CENTROID宏赋单元位置向量给xF_PROFILE宏在面f上施加速度分量代码以文本文件保存inlet_bc.c,#includeudf.hDEFINE_PROFILE(x_velocity,thread,nv)floatx3;/*anarrayforthecoordinates*/floaty;face_tf;/*fisafacethreadindex*/begin_f_loop(f,thread)F_CENTROID(x,f,thread);y=x1;F_PROFILE(f,thread,nv)=20.*(1.-y*y/(.0745*.0745);end_f_loop(f,thread),Headerfile“udf.h”mustbeincludedatthetopoftheprogrambythe#includecommand,第2步解释或编译UDF,编译UDF把UDF源码加入到源文件列表中点击Build进行编译和链接如果没有错误,点击Load读入库文件如需要,也可以卸载库文件/define/user-defined/functions/manage,解释UDF把UDF源码加入到源文件列表中点击InterpretFLUENT窗口会出现语言如果没有错误,点击Close,Define,User-Defined,Functions,Compiled,Define,User-Defined,Functions,Interpreted,解释vs.编译,用户函数可以在运行时读入并解释,也可以编译形成共享库文件并和FLUENT链接解释vs.编译解释解释器是占用内存的一个大型程序通过逐行即时执行代码优势不需要第三方编译器劣势解释过程慢,且占用内存编译UDF代码一次转换为机器语言运行效率高.创建共享库,和其他求解器链接克服解释器的缺陷只有在没安装C编译器时使用解释方式,第3步在FLUENTGUI中hookUDF,打开边界条件面板,选择你要施加UDF的边界把Constant改为udfx_velocity宏的名字为DEFINE_PROFILE中第一个参数,第4步运行,可以在运行窗口中改变速度分布的更新间隔(默认为1)这个设置控制了流场多久(迭代或时间步)更新一次运行calculation,结果,左图为速度矢量图右图为入口的速度矢量图,注意速度分布是抛物线型的,其他UDFHooks,除了边界条件、源项、材料属性外,UDF还可用于初始化每次初始化执行一次求解调整每次迭代执行一次壁面热流量以传热系数方式定义流体侧的扩散和辐射热流量应用于所有壁面用户定义表面反应或体积反应Case/data文件的读写读入顺序必须和写出顺序一致Execute-on-Demand功能不参与求解迭代,Define,User-Defined,FunctionHooks,例2定制初始化,在球内设定初始温度600K球中心点位于(0.5,0.5,0.5),半径为0.25,其余区域为300K域指针通过变量传递到UDFthread_loop_c宏用来获得所有单元threads(zones),begin_c_loop宏获得每个单元thread中的单元,#includeudf.h“DEFINE_INIT(my_init_function,domain)cell_tc;Thread*ct;realxcND_ND;thread_loop_c(ct,domain)begin_c_loop(c,ct)C_CENTROID(xc,c,ct);if(sqrt(ND_SUM(pow(xc0-0.5,2.),pow(xc1-0.5,2.),pow(xc2-0.5,2.)0.25)C_T(c,ct)=600.;elseC_T(c,ct)=300.;end_c_loop(c,ct),DEFINE宏,DEFINE宏的例子,DEFINE_ADJUST(name,domain);generalpurposeUDFcalledeveryiterationDEFINE_INIT(name,domain);UDFusedtoinitializefieldvariablesDEFINE_ON_DEMAND(name);anexecute-on-demandfunctionDEFINE_RW_FILE(name,fp);customizereads/writestocase/datafilesDEFINE_PROFILE(name,thread,index);boundaryprofilesDEFINE_SOURCE(name,cell,thread,dS,index);equationsourcetermsDEFINE_HEAT_FLUX(name,face,thread,c0,t0,cid,cir);heatfluxDEFINE_PROPERTY(name,cell,thread);materialpropertiesDEFINE_DIFFUSIVITY(name,cell,thread,index);UDSandspeciesdiffusivitiesDEFINE_UDS_FLUX(name,face,thread,index);definesUDSfluxtermsDEFINE_UDS_UNSTEADY(name,cell,thread,index,apu,su);UDStransienttermsDEFINE_SR_RATE(name,face,thread,r,mw,yi,rr);surfacereactionratesDEFINE_VR_RATE(name,cell,thread,r,mw,yi,rr,rr_t);volumetricreactionratesDEFINE_SCAT_PHASE_FUNC(name,cell,face);scatteringphasefunctionforDOMDEFINE_DELTAT(name,domain);variabletimestepsizeforunsteadyproblemsDEFINE_TURBULENT_VISCOSITY(name,cell,thread);calculatesturbulentviscosityDEFINE_TURB_PREMIX_SOURCE(name,cell,thread,turbflamespeed,source);turbulentflamespeedDEFINE_NOX_RATE(name,cell,thread,nox);NOxproductionanddestructionrates,几何和时间宏,C_NNODES(c,t);Returnsnodes/cellC_NFACES(c,t);Returnsfaces/cellF_NNODES(f,t);Returnsnodes/faceC_CENTROID(x,c,t);ReturnscoordinatesofcellcentroidinarrayxF_CENTROID(x,f,t);ReturnscoordinatesoffacecentroidinarrayxF_AREA(A,f,t);ReturnsareavectorinarrayAC_VOLUME(c,t);ReturnscellvolumeC_VOLUME_2D(c,t);Returnscellvolume(axisymmetricdomain)realflow_time();Returnsactualtimeinttime_step;ReturnstimestepnumberRP_Get_Real(“physical-time-step”);Returnstimestepsize,流场变量宏,C_R(c,t);DensityC_P(c,t);PressureC_U(c,t);U-velocityC_V(c,t);V-velocityC_W(c,t);W-velocityC_T(c,t);TemperatureC_H(c,t);EnthalpyC_K(c,t);Turbulentkineticenergy(k)C_D(c,t);Turbulentdissipationrate()C_O(c,t);Specificdissipationofk()C_YI(c,t,i);SpeciesmassfractionC_UDSI(c,t,i);UDSscalarsC_UDMI(c,t,i);UDMscalarsC_DUDX(c,t);VelocityderivativeC_DUDY(c,t);VelocityderivativeC_DUDZ(c,t);Velocityderivative,C_DVDX(c,t);VelocityderivativeC_DVDY(c,t);VelocityderivativeC_DVDZ(c,t);VelocityderivativeC_DWDX(c,t);VelocityderivativeC_DWDY(c,t);VelocityderivativeC_DWDZ(c,t);VelocityderivativeC_MU_L(c,t);LaminarviscosityC_MU_T(c,t);TurbulentviscosityC_MU_EFF(c,t);EffectiveviscosityC_K_L(c,t);LaminarthermalconductivityC_K_T(c,t);TurbulentthermalconductivityC_K_EFF(c,t);EffectivethermalconductivityC_CP(c,t);SpecificheatC_RGAS(c,t);Gasconstant,流场变量宏,C_R(c,t);DensityC_P(c,t);PressureC_U(c,t);U-velocityC_V(c,t);V-velocityC_W(c,t);W-velocityC_T(c,t);TemperatureC_H(c,t);EnthalpyC_K(c,t);Turbulentkineticenergy(k)C_D(c,t);Turbulentdissipationrate()C_O(c,t);Specificdissipationofk()C_YI(c,t,i);SpeciesmassfractionC_UDSI(c,t,i);UDSscalarsC_UDMI(c,t,i);UDMscalarsC_DUDX(c,t);VelocityderivativeC_DUDY(c,t);VelocityderivativeC_DUDZ(c,t);Velocityderivative,C_DVDX(c,t);VelocityderivativeC_DVDY(c,t);VelocityderivativeC_DVDZ(c,t);VelocityderivativeC_DWDX(c,t);VelocityderivativeC_DWDY(c,t);VelocityderivativeC_DWDZ(c,t);VelocityderivativeC_MU_L(c,t);LaminarviscosityC_MU_T(c,t);TurbulentviscosityC_MU_EFF(c,t);EffectiveviscosityC_K_L(c,t);LaminarthermalconductivityC_K_T(c,t);TurbulentthermalconductivityC_K_EFF(c,t);EffectivethermalconductivityC_CP(c,t);SpecificheatC_RGAS(c,t);GasconstantC_DIFF_L(c,t);LaminarspeciesdiffusivityC_DIFF_EFF(c,t,i);Effectivespeciesdiffusivity,UDM,对每个单元由用户分配内存定义多达500个变量可以通过UDFs获得:C_UDMI(cell,thread,index);F_UDMI(face,thread,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇科中医特色治疗项目讲课件
- 肺结节病诊断治疗讲课件
- 2025-2030年商用咖啡机行业市场发展分析及前景趋势与投资战略研究报告
- 2025-2030年化学添加剂行业市场深度调研及前景趋势与投资研究报告
- 2025-2030年再生钢行业市场深度分析及前景趋势与投资研究报告
- 广义相对论讲课件
- 2025-2030年中国饲料粉碎机行业市场深度调研及发展趋势与投资研究报告
- 2025-2030年中国食品包装纸行业市场发展分析及竞争格局与投资价值研究报告
- 2025-2030年中国锅炉行业市场深度调研及竞争格局与投资前景研究报告
- 2025-2030年中国道路安全系统行业市场现状供需分析及投资评估规划分析研究报告
- 2024年银行考试-银行间本币市场交易员资格考试近5年真题集锦(频考类试题)带答案
- 审计应知应会知识题库及答案(共341题)
- PC工法桩专项施工方案-
- 艺术与科学理论基础智慧树知到答案2024年北京交通大学
- 2024年金华市中考数学试卷
- DB13(J) 8457-2022 海绵城市雨水控制与利用工程设计规范
- 人教版五年级上册小数乘除法竖式计算题200道及答案
- 部编版(2024)一年级语文上册识字3《口耳目手足》精美课件
- 班级管理案例与应用智慧树知到期末考试答案章节答案2024年哈尔滨师范大学
- CJ/T 43-2005 水处理用滤料
- 尼曼-半导体物理与器件第十章
评论
0/150
提交评论