計(jì)算流體力學(xué)軟件Fluent培訓(xùn)-UDF基礎(chǔ)_第1頁
計(jì)算流體力學(xué)軟件Fluent培訓(xùn)-UDF基礎(chǔ)_第2頁
計(jì)算流體力學(xué)軟件Fluent培訓(xùn)-UDF基礎(chǔ)_第3頁
計(jì)算流體力學(xué)軟件Fluent培訓(xùn)-UDF基礎(chǔ)_第4頁
計(jì)算流體力學(xué)軟件Fluent培訓(xùn)-UDF基礎(chǔ)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、計(jì)算流體力學(xué)軟件計(jì)算流體力學(xué)軟件Fluent培訓(xùn)培訓(xùn)UDF基礎(chǔ)基礎(chǔ)A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解概要nFLUENT UDF簡介nFLUENT 數(shù)據(jù)結(jié)構(gòu)和宏n兩個例子nUDF 支持A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解簡介n什么是UDF? UDF 是用戶自己用C語言寫的一個函數(shù),可以和FLUENT動態(tài)鏈接 標(biāo)準(zhǔn)C 函數(shù) 三角函數(shù),指數(shù),控制塊,Do循環(huán),文件讀入/輸出等 預(yù)定義宏 允許獲得流場變量,材料屬性,單元幾何信息及其他n為什么使用 UDF

2、s? 標(biāo)準(zhǔn)的界面不能編程模擬所有需求: 定制邊界條件,源項(xiàng),反應(yīng)速率,材料屬性等 定制物理模型 用戶提供的模型方程 調(diào)整函數(shù) 執(zhí)行和需求函數(shù) 初始化A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解可以使用UDF的位置User-Defined PropertiesUser-Defined BCsUser Defined INITIALIZESegregatedPBCSExit LoopRepeatCheck Convergence Update Properties Solve Turbulence Equation(s)Solve

3、SpeciesSolve EnergyInitializeBegin LoopDBCSSolve Other Transport Equations as requiredSolver?Solve Mass Continuity;Update VelocitySolve U-MomentumSolve V-MomentumSolve W-MomentumSolve Mass& MomentumSolve Mass,Momentum,Energy,SpeciesUser-defined ADJUSTSource termsSource termsSource termsSourcetermsA

4、Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解UDF 數(shù)據(jù)結(jié)構(gòu) (1)在UDF中,體域和面域通過Thread數(shù)據(jù)類型獲得Thread 是 FLUENT 定義的數(shù)據(jù)類型為了在thread (zone)中獲得數(shù)據(jù),我們需要提供正確的指針,并使用循環(huán)宏獲得thread中的每個成員(cell or face)Fluid (cell thread or zone)Boundary (face thread or zone)DomainCellDomainCellsCell Threadface ThreadFacesA Pera Global

5、Company PERA China最新5-1 FLUENT流體模擬-UDF-講解UDF 數(shù)據(jù)結(jié)構(gòu)(2)ncell_t 聲明了識別單元的整型數(shù)據(jù)類型nface_t聲明了識別面的整型數(shù)據(jù)類型Domain*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.Boundary face-threa

6、d(boundary-face ensemble)Fluid cell-thread(control-volume ensemble)Internal face-thread(internal-face ensemble)associated with cell-threadsNodesA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解UDF中的循環(huán)宏n幾個經(jīng)常用到的循環(huán)宏為: 對域d中所有單元thread循環(huán):thread_loop_c(ct,d) 對域d中所有面thread循環(huán):thread_loop_f(ft,d) 對threa

7、d t中所有單元循環(huán):begin_c_loop(c, t) end_c_loop (c,t) 對面thread中所有面循環(huán)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 variableA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解例子

8、拋物線分布的速度入口n在二維彎管入口施加拋物線分布的速度nx 方向的速度定義為n需要通過宏獲得入口的中心點(diǎn), 通過另外一個宏賦予速度條件A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解 第1步 準(zhǔn)備源代碼nDEFINE_PROFILE 宏允許定義x_velocity函數(shù) 所有的UDFs 以 DEFINE_ 宏開始 x_velocity 將在 GUI中出現(xiàn) thread 和 nv DEFINE_PROFILE 宏的參數(shù),分別用來識別域和變量 begin_f_loop宏通過thread指針,對所有的面f循環(huán)n F_CENTROID宏賦單

9、元位置向量給 xn F_PROFILE 宏在面 f上施加速度分量n代碼以文本文件保存inlet_bc.c#include udf.hDEFINE_PRO) 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, th

10、read)Header file “udf.h” must be included at the topof the program by the #include commandA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解第 2 步 解釋或編譯 UDFn編譯UDFn把 UDF 源碼加入到源文件列表中n點(diǎn)擊 Build進(jìn)行編譯和鏈接n如果沒有錯誤,點(diǎn)擊Load讀入庫文件n如需要,也可以卸載庫文件/define/user-defined/functions/managen解釋UDFn把 UDF 源碼加入到源文件列表中n點(diǎn)擊 Int

11、erpretnFLUENT 窗口會出現(xiàn)語言n如果沒有錯誤,點(diǎn)擊 CloseDefineUser-DefinedFunctionsCompiledDefineUser-DefinedFunctionsInterpretedA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解解釋 vs. 編譯n用戶函數(shù)可以在運(yùn)行時讀入并解釋,也可以編譯形成共享庫文件并和FLUENT鏈接n解釋 vs. 編譯 解釋 解釋器是占用內(nèi)存的一個大型程序 通過逐行即時執(zhí)行代碼 優(yōu)勢 不需要第三方編譯器 劣勢 解釋過程慢,且占用內(nèi)存 編譯 UDF 代碼一次轉(zhuǎn)換為機(jī)器語言

12、 運(yùn)行效率高. 創(chuàng)建共享庫,和其他求解器鏈接 克服解釋器的缺陷n只有在沒安裝C編譯器時使用解釋方式A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解第3 步 在 FLUENT GUI中hook UDFn打開邊界條件面板,選擇你要施加UDF的邊界n把 Constant 改為 udf x_velocityn宏的名字為 DEFINE_PROFILE 中第一個參數(shù)A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解第4步 運(yùn)行n可以在運(yùn)行窗口中改變速度分布的更新間隔(默認(rèn)為1) 這個設(shè)

13、置控制了流場多久(迭代或時間步)更新一次n運(yùn)行 calculation A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解結(jié)果n左圖為速度矢量圖n右圖為入口的速度矢量圖,注意速度分布是拋物線型的A Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解其他 UDF Hooksn除了邊界條件、源項(xiàng)、材料屬性外,UDF 還可用于 初始化 每次初始化執(zhí)行一次 求解調(diào)整 每次迭代執(zhí)行一次 壁面熱流量 以傳熱系數(shù)方式定義流體側(cè)的擴(kuò)散和輻射熱流量 應(yīng)用于所有壁面 用戶定義表面反應(yīng)或體積反應(yīng) Ca

14、se/ data 文件的讀寫 讀入順序必須和寫出順序一致 Execute-on-Demand 功能 不參與求解迭代DefineUser-DefinedFunction HooksA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解例 2 定制初始化n在球內(nèi)設(shè)定初始溫度600 K 球中心點(diǎn)位于 (0.5, 0.5, 0.5), 半徑為 0.25, 其余區(qū)域?yàn)?00 Kn域指針通過變量傳遞到UDFnthread_loop_c 宏用來獲得所有單元threads (zones), begin_c_loop 宏獲得每個單元thread中的單元 #

15、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) A Pera Glo

16、bal Company PERA China最新5-1 FLUENT流體模擬-UDF-講解 DEFINE 宏nDEFINE 宏的例子 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_); customize reads/writes to case/da

17、ta filesDEFINE_PRO); 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_FL

18、UX(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

19、); 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,t

20、hread,nox); NOx production and destruction ratesA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解幾何和時間宏 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 c

21、oordinates 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

22、step sizeA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解流場變量宏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 d

23、issipation 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 derivativeC_DVDX(c,t); Velocity derivativeC_DVDY(c,t); Velocity derivativeC_DVDZ(c,t); Velocity derivativeC_DWDX(

24、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 c

25、onductivityC_CP(c,t); Specific heatC_RGAS(c,t); Gas constantA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解流場變量宏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)

26、; 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 derivativeC_DVDX(c,t); Velocity derivativeC_DVDY(c,t); Velocit

27、y 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 the

28、rmalconductivityC_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 diffusivityA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解UDMn對每個單元由用戶分配內(nèi)存 定義多達(dá)500個變量 可以通過 UDFs獲得: C_UDMI(

29、cell,thread,index); F_UDMI(face,thread,index); 數(shù)據(jù)信息存在 FLUENT data 文件中DefineUser-DefinedMemoryA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解UDSnFLUENT 可以求解多達(dá)50個用戶 定義標(biāo)量的輸運(yùn)方程 UDS 變量的數(shù)量 UDS 在哪個域內(nèi)求解 通量函數(shù) DEFINE_UDS_FLUX(name,face,thread,index) 非穩(wěn)態(tài)函數(shù)DEFINE_UDS_UNSTEADY(name,cell,thread,index,apu,su)n例子 能用來求解磁流體方程DefineUser-DefinedScalarsA Pera Global Company PERA China最新5-1 FLUENT流體模擬-UDF-講解其

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論