| 查看: 4436 | 回复: 3 | ||
[求助]
关于fluent,UDF中的begin...end_c_loop单元循环遍历的疑惑 已有2人参与
|
|
在UDF中关于begin...end_c_loop宏的解释是: Looping over Cells in a Cell Thread,在一个单元中遍历单元 我不明白的是,cell在体网格中指的是一个网格单元,是最基本的网格单元,它内部还有什么cell可以供遍历的吗? UDF中还有一个宏是:thread_loop_c,是遍历区域中的网格,感觉这两个宏命令是不是重叠了呢 经常看到的用法是,先采用thread_loop_c遍历区域中的单位,再在thread_loop_c作用域内部,采用begin...end_c_loop宏遍历 既然已经用thread_loop_c遍历了为什么还要用begin...end_c_loop呢, 求大神赐教 |
» 猜你喜欢
参与限项
已经有3人回复
假如你的研究生提出不合理要求
已经有7人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
不自信的我
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复
2楼2018-12-03 11:44:13
emuch: 屏蔽内容, 违规存档, 违规发布联系方式 2018-12-04 10:15:40
|
本帖内容被屏蔽 |
3楼2018-12-03 17:11:25
【答案】应助回帖
★ ★ ★
张跃simple: 金币+3, 谢谢 2018-12-27 12:15:02
张跃simple: 金币+3, 谢谢 2018-12-27 12:15:02
|
这种宏的用法有很多 一般是在单核下的_loop系列 还有在并行下的_loop_int 和_loop_ext 系列 以及用于overset的_loop_active和_loop_solve系列 总的来说 这些东西都是按照C语言的语句结果 你所说的cell 是指的cell_t 实际上只是一个循环索引的int 他并不存放任何数据 真正的数据存放在thread中 其他的也很好理解 当你在划分网格的时候 可以给不同的区域分区命名 那么这些cell zone 每一个都被存放在一个thread中 而这个thread的列表被存放在一个domain中 所以真正有数据的只有thread 和 domain 这也是为什么前面要加星(严格来说这些只是指针,内部数据由mem统一处理,每一个存放数据有一个固定的编号值,当你的模型需要哪个数据的时候,那个对应的VAR_ID就会被激活) 所以domain中间挂着thread的楼栋号 你需要先从domain中 找到thread的楼栋 比如Lookup这类 然后你再从thread中间按照房间号 比如cell_t这种索引来找到房间号 这就是为什么要用两个循环 其实非常好理解 比如你的宿舍是5舍408室 5舍就是thread_id 408就是cell_idx 你先要在学校所有宿舍(假设你们学校一个校区,显然多相流有几个校区)中找到5舍 然后进入5舍然后再找到408 (仅针对非平行世界) |

4楼2018-12-05 04:01:14












回复此楼