Fluent UDF【13】:循環(huán)操作宏
2017-06-11 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
UDF使用過程中,經(jīng)常要通過循環(huán)遍歷的方式對數(shù)據(jù)進(jìn)行操作,如設(shè)置邊界條件時(shí),需要給每一個(gè)邊界網(wǎng)格面賦值,此時(shí)需要通過逐層循環(huán)的方式訪問每一個(gè)邊界網(wǎng)格面。Fluent UDF中提供了眾多循環(huán)來實(shí)現(xiàn)此功能。這些宏包括:
-
區(qū)域中單元循環(huán)thread_loop_c
-
區(qū)域中網(wǎng)格面循環(huán)thread_loop_f
-
單元中單元循環(huán)begin...end_c_loop
-
面中面循環(huán)begin...end_f_loop
-
單元中面循環(huán)c_face_loop
-
單元中的節(jié)點(diǎn)循環(huán)c_node_loop
-
單元面中的節(jié)點(diǎn)循環(huán)f_node_loop
利用thread_loop_c在指定domain中遍歷所有的網(wǎng)格單元(cell)。使用方式非常簡單,如下:
Domain *domain; Thread *c_thread; thread_loop_c(c_thread,domain) { /*對單元進(jìn)行操作*/ ... }利用宏thread_loop_f來遍歷domain中的所有網(wǎng)格面(face)。與遍歷網(wǎng)格單元類似的使用。如:
Thread *f_thread; Domain *domain; thread_loop_f(f_thread,domain) { /*對網(wǎng)格面進(jìn)行操作*/ }使用宏begin_c_loop及end_c_loop對所給定的網(wǎng)格單元集合中的所有單元進(jìn)行遍歷。
使用方式:
cell_t c; Thread *c_thread; begin_c_loop(c, c_thread) { } end_c_loop(c, c_thread)例如下面程序計(jì)算c_thread中的所有單元的溫度和:
begin_c_loop(c, c_thread) { temp += C_T(c, c_thread); } end_c_loop(c, c_thread)利用宏begin_f_loop與end_f_loop來遍歷給定face集合中的所有網(wǎng)格面。
使用方式:
face_t f; Thread *f_thread; begin_f_loop(f, f_thread) { } end_f_loop(f, f_thread)以下例程計(jì)算給定網(wǎng)格幾何f_thread上的所有網(wǎng)格面上溫度總和。
begin_f_loop(f, f_thread) { temp += F_T(f, f_thread); } end_f_loop(f, f_thread)利用宏c_face_loop來實(shí)現(xiàn)遍歷網(wǎng)格單元上的所有網(wǎng)格面。如:
cell_t c; Thread *t; face_t f; Thread *tf;int n; c_face_loop(c, t, n) { f = C_FACE(c,t,n); tf = C_FACE_THREAD(c,t,n); }利用宏c_node_loop來實(shí)現(xiàn)遍歷網(wǎng)格單元中的所有網(wǎng)格節(jié)點(diǎn)。
cell_t c; Thread *t; int n; Node *node; c_node_loop(c,t,n) { node = C_NODE(c,t,n); }利用宏f_node_loop來實(shí)現(xiàn)此目的。
face_t f; Thread *t; int n; Node *node; f_node_loop(f,t,n) { node = F_NODE(f,t,n); }
相關(guān)標(biāo)簽搜索:Fluent UDF【13】:循環(huán)操作宏 Fluent培訓(xùn) Fluent流體培訓(xùn) Fluent軟件培訓(xùn) fluent技術(shù)教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學(xué)反應(yīng) fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 HFSS電磁分析