begin_f_loop(f, thread)//按照上个例子的规则,这个宏是一个循环,表示对thread中的所有f进行遍历。实际上就是循环遍历ID编号为1的thread中的所有face。 F_CENTROID(FC,f,thread);//以F_开头的宏,face宏,可以获取face的物理量,比如速度、压力等。F_CENTROID表示获取face的中心坐标,将其赋值给FC数组。 如果要...
利用宏begin,end_f_loop可以遍历计算节点上的内部面以及边界面。此宏包含begin以及end语句,宏形式为: begin_c_loop(f,tf){ ...}end_f_loop(f,tf) 注:UDF中还存在begin_f_loop_int和begin_f_loop_ext循环宏,它们分别遍历一个计算节点的内部面和外部面。_int形式等同于begin_c_loop_int。尽管这些宏存在...
begin_f_loop在一个网格面thread中对网格面进行循环。当begin_f_loop嵌套在mp_thread_loop_f中时,可以在一个mixture物中的所有相网格面thread中的所有网格面上循环。
利用宏begin,end_f_loop可以遍历计算节点上的内部面以及边界面。此宏包含begin以及end语句,宏形式为: begin_c_loop(f,tf) { ... } end_f_loop(f,tf) 注:UDF中还存在begin_f_loop_int和begin_f_loop_ext循环宏,它们分别遍历一个计算节点的内部面和外部面。_int形式等同于begin_c_loop_int。尽管这些宏...
begin_f_loop(f,t) { F_AREA(A,f,t); force += F_P(f,t) * NV_MAG(A); } end_f_loop(f,t) /* compute change in velocity, that is, dv = F * dt / mass velocity update using explicit Euler formula */ dv = dtime * force / 50.0; ...
begin_f_loop(f,t) { F_CENTROID(x,f,t); y = x[1]; F_PROFILE(f,t,i) =1.1e5- y*y; } end_f_loop(f,t) } 5 获取影子面的Thread 当一个面存在影子面时,可以利用宏THREAD_SHADOW获取该面的影子的Thread。 宏描述:THREAD_SHADOW(t) ...
第8行的begin_f_loop(f, t),可以理解为一个循环语句,中间的f表示对面进行循环,UDF中类似的语句有很多。后面的两个参数f,t,实际上就是在t这个thread上对所以的f进行循环。15行的end_f_loop(f, t)表示结束面循环 第10行的F_CENTROID(xd, f, t)表示获取t线程上的f面的质心,并赋值给数组xd。实际上就...
begin_f_loop(f, t)//遍历线程t上的面 { //代码// } end_f_loop(f, t) thread_loop_c(t, d)///遍历混合域d上的线程 { //代码// } 值得注意的是,DEFINE宏里面会包含结构宏,这样说来,DEFINE宏可以类比为C语言中的自定义函数,而结构宏则可以类比成循环语句for或while,只不过这里的循环的是网格...
begin_f_loop(f, t) { F_CENTROID(x, f, t); y = x[1]; F_PROFILE(f, t, i) = 20.0 * y; } end_f_loop(f, t) } 解释: 该UDF通过DEFINE_PROFILE宏定义了一个速度边界条件,速度随y轴坐标变化。 6.2 例子2: ...