欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    FLUENT培训教材07UDF.ppt

    • 资源ID:5431170       资源大小:1.06MB        全文页数:25页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    FLUENT培训教材07UDF.ppt

    ANSYS FLUENT 培训教材第七节:UDF,安世亚太科技(北京)有限公司,概要,FLUENT UDF简介FLUENT 数据结构和宏两个例子UDF 支持,简介,什么是UDF?UDF 是用户自己用C语言写的一个函数,可以和FLUENT动态链接 标准C 函数三角函数,指数,控制块,Do循环,文件读入/输出等预定义宏允许获得流场变量,材料属性,单元几何信息及其他为什么使用 UDFs?标准的界面不能编程模拟所有需求:定制边界条件,源项,反应速率,材料属性等定制物理模型用户提供的模型方程调整函数执行和需求函数初始化,可以使用UDF的位置,UDF 数据结构(1),在UDF中,体域和面域通过Thread数据类型获得Thread 是 FLUENT 定义的数据类型为了在thread(zone)中获得数据,我们需要提供正确的指针,并使用循环宏获得thread中的每个成员(cell or face),Fluid(cell thread or zone),Boundary(face thread or zone),Domain,Cell,UDF 数据结构(2),cell_t 声明了识别单元的整型数据类型face_t声明了识别面的整型数据类型,TypeVariableMeaning of the declarationDomain*d;d is a pointer to domain threadThread*t;t is a pointer to thread cell_t c;c is cell thread variableface_t f;f is a face thread variableNode*node;node is a pointer to a node.,UDF中的循环宏,几个经常用到的循环宏为:对域d中所有单元thread循环:thread_loop_c(ct,d)对域d中所有面thread循环:thread_loop_f(ft,d)对thread t中所有单元循环:begin_c_loop(c,t)end_c_loop(c,t)对面thread中所有面循环begin_f_loop(f,f_thread)end_f_loop(f,f_thread),d:a domain pointer ct,t:a cell thread pointerft,f_thread:a face thread pointerc:a cell thread variablef:a face thread variable,例子 抛物线分布的速度入口,在二维弯管入口施加抛物线分布的速度x 方向的速度定义为需要通过宏获得入口的中心点,通过另外一个宏赋予速度条件,第1步 准备源代码,DEFINE_PROFILE 宏允许定义x_velocity函数所有的UDFs 以 DEFINE_ 宏开始x_velocity 将在 GUI中出现thread 和 nv DEFINE_PROFILE 宏的参数,分别用来识别域和变量begin_f_loop宏通过thread指针,对所有的面f循环 F_CENTROID宏赋单元位置向量给 x F_PROFILE 宏在面 f上施加速度分量代码以文本文件保存inlet_bc.c,#include udf.hDEFINE_PROFILE(x_velocity,thread,nv)float x3;/*an array for the coordinates*/float y;face_t f;/*f is a face thread index*/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),Header file“udf.h”must be included at the topof the program by the#include command,第 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 步 在 FLUENT GUI中hook UDF,打开边界条件面板,选择你要施加UDF的边界把 Constant 改为 udf x_velocity宏的名字为 DEFINE_PROFILE 中第一个参数,第4步 运行,可以在运行窗口中改变速度分布的更新间隔(默认为1)这个设置控制了流场多久(迭代或时间步)更新一次运行 calculation,结果,左图为速度矢量图右图为入口的速度矢量图,注意速度分布是抛物线型的,其他 UDF Hooks,除了边界条件、源项、材料属性外,UDF 还可用于初始化每次初始化执行一次求解调整每次迭代执行一次壁面热流量以传热系数方式定义流体侧的扩散和辐射热流量应用于所有壁面用户定义表面反应或体积反应Case/data 文件的读写读入顺序必须和写出顺序一致Execute-on-Demand 功能不参与求解迭代,Define,User-Defined,Function Hooks,例 2 定制初始化,在球内设定初始温度600 K 球中心点位于(0.5,0.5,0.5),半径为 0.25,其余区域为300 K域指针通过变量传递到UDFthread_loop_c 宏用来获得所有单元threads(zones),begin_c_loop 宏获得每个单元thread中的单元,#include udf.h“DEFINE_INIT(my_init_function,domain)cell_t c;Thread*ct;real xcND_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.;else C_T(c,ct)=300.;end_c_loop(c,ct),DEFINE 宏,DEFINE 宏的例子,DEFINE_ADJUST(name,domain);general purpose UDF called every iterationDEFINE_INIT(name,domain);UDF used to initialize field variablesDEFINE_ON_DEMAND(name);an execute-on-demand functionDEFINE_RW_FILE(name,fp);customize reads/writes to case/data filesDEFINE_PROFILE(name,thread,index);boundary profilesDEFINE_SOURCE(name,cell,thread,dS,index);equation source termsDEFINE_HEAT_FLUX(name,face,thread,c0,t0,cid,cir);heat fluxDEFINE_PROPERTY(name,cell,thread);material propertiesDEFINE_DIFFUSIVITY(name,cell,thread,index);UDS and species diffusivitiesDEFINE_UDS_FLUX(name,face,thread,index);defines UDS flux termsDEFINE_UDS_UNSTEADY(name,cell,thread,index,apu,su);UDS transient termsDEFINE_SR_RATE(name,face,thread,r,mw,yi,rr);surface reaction ratesDEFINE_VR_RATE(name,cell,thread,r,mw,yi,rr,rr_t);volumetric reaction ratesDEFINE_SCAT_PHASE_FUNC(name,cell,face);scattering phase function for DOMDEFINE_DELTAT(name,domain);variable time step size for unsteady problemsDEFINE_TURBULENT_VISCOSITY(name,cell,thread);calculates turbulent viscosityDEFINE_TURB_PREMIX_SOURCE(name,cell,thread,turbflamespeed,source);turbulent flame speedDEFINE_NOX_RATE(name,cell,thread,nox);NOx production and destruction rates,几何和时间宏,C_NNODES(c,t);Returns nodes/cellC_NFACES(c,t);Returns faces/cellF_NNODES(f,t);Returns nodes/faceC_CENTROID(x,c,t);Returns coordinates of cell centroidin array xF_CENTROID(x,f,t);Returns coordinates of face centroidin array xF_AREA(A,f,t);Returns area vector in array AC_VOLUME(c,t);Returns cell volume C_VOLUME_2D(c,t);Returns cell volume(axisymmetric domain)real flow_time();Returns actual timeint time_step;Returns time step numberRP_Get_Real(“physical-time-step”);Returns time step size,流场变量宏,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);Turbulent kinetic energy(k)C_D(c,t);Turbulent dissipation rate()C_O(c,t);Specific dissipation of k()C_YI(c,t,i);Species mass fractionC_UDSI(c,t,i);UDS scalarsC_UDMI(c,t,i);UDM scalarsC_DUDX(c,t);Velocity derivativeC_DUDY(c,t);Velocity derivativeC_DUDZ(c,t);Velocity derivative,C_DVDX(c,t);Velocity derivativeC_DVDY(c,t);Velocity derivativeC_DVDZ(c,t);Velocity derivativeC_DWDX(c,t);Velocity derivativeC_DWDY(c,t);Velocity derivativeC_DWDZ(c,t);Velocity derivativeC_MU_L(c,t);Laminar viscosityC_MU_T(c,t);Turbulent viscosityC_MU_EFF(c,t);Effective viscosityC_K_L(c,t);Laminar thermal conductivityC_K_T(c,t);Turbulent thermal conductivityC_K_EFF(c,t);Effective thermal conductivityC_CP(c,t);Specific heatC_RGAS(c,t);Gas constant,流场变量宏,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);Turbulent kinetic energy(k)C_D(c,t);Turbulent dissipation rate()C_O(c,t);Specific dissipation of k()C_YI(c,t,i);Species mass fractionC_UDSI(c,t,i);UDS scalarsC_UDMI(c,t,i);UDM scalarsC_DUDX(c,t);Velocity derivativeC_DUDY(c,t);Velocity derivativeC_DUDZ(c,t);Velocity derivative,C_DVDX(c,t);Velocity derivativeC_DVDY(c,t);Velocity derivativeC_DVDZ(c,t);Velocity derivativeC_DWDX(c,t);Velocity derivativeC_DWDY(c,t);Velocity derivativeC_DWDZ(c,t);Velocity derivativeC_MU_L(c,t);Laminar viscosityC_MU_T(c,t);Turbulent viscosityC_MU_EFF(c,t);Effective viscosityC_K_L(c,t);Laminar thermalconductivityC_K_T(c,t);Turbulent thermalconductivityC_K_EFF(c,t);Effective thermalconductivityC_CP(c,t);Specific heatC_RGAS(c,t);Gas constantC_DIFF_L(c,t);Laminar speciesdiffusivityC_DIFF_EFF(c,t,i);Effective species diffusivity,UDM,对每个单元由用户分配内存定义多达500个变量可以通过 UDFs获得:C_UDMI(cell,thread,index);F_UDMI(face,thread,index);数据信息存在 FLUENT data 文件中,Define,User-Defined,Memory,UDS,FLUENT 可以求解多达50个用户 定义标量的输运方程UDS 变量的数量UDS 在哪个域内求解通量函数 DEFINE_UDS_FLUX(name,face,thread,index)非稳态函数DEFINE_UDS_UNSTEADY(name,cell,thread,index,apu,su)例子能用来求解磁流体方程,Define,User-Defined,Scalars,其他宏,还有许多其他宏:湍流模型多相流模型化学反应流动网格输入/输出,UDF 技术支持,由于 UDFs 可能非常复杂,ANSYS 不对用户的UDFs精度及求解稳定性负责支持限于UDFs 和 FLUENT 求解器间的通讯,谢谢,A Pera Global Company PERA China,

    注意事项

    本文(FLUENT培训教材07UDF.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开