| 5 | 1/1 | 返回列表 |
| 查看: 1661 | 回復(fù): 4 | ||
ltpreason新蟲 (初入文壇)
|
[求助]
udf程序改為并行
|
|
程序的目的是根據(jù)監(jiān)測點(diǎn)的壓力調(diào)節(jié)入口的質(zhì)量流量,維持監(jiān)測點(diǎn)的壓力近似恒定,單核計(jì)算時(shí)程序可以用,一旦并行就出錯(cuò),自己試著按幫助里的方法改一直沒通(比如加#if !HOST #endif之類),懇請各位指點(diǎn),先謝過了!把自己的金幣全部懸賞! DEFINE_ADJUST(get_p_monitor,d) { Thread *t; cell_t c; real xc[ND_ND];/*網(wǎng)格質(zhì)心坐標(biāo)*/ thread_loop_c(t,d) { begin_c_loop(c,t) { C_CENTROID(xc,c,t); if (sqrt(ND_SUM(pow(xc[0] + 2.,2.), pow(xc[1] -1.3,2.), pow(xc[2]-0.,2.)))<0.01 pressure=C_P(c,t);/*點(diǎn)(-2,1.3,0)為監(jiān)測點(diǎn),當(dāng)網(wǎng)格質(zhì)心與監(jiān)測點(diǎn)的距離小于0.01時(shí),認(rèn)為該網(wǎng)格的壓力就是監(jiān)測點(diǎn)的壓力*/ } end_c_loop(c,t) } printf("\n pressure=%g\n",pressure); } DEFINE_PROFILE(mass_inlet_as_p,t,i) { face_t f; real mass=0.5; if(pressure<=480000.) mass=mass+0.01; else if(pressure>480000.&&.pressure<520000.)/*根據(jù)監(jiān)測點(diǎn)的壓力調(diào)節(jié)入口質(zhì)量流量*/ mass=mass; else mass=mass-0.01; begin_f_loop(f,t) { F_PROFILE(f,t,i)=mass; } end_f_loop(f,t) printf("\n pressure=%g\n",pressure); } 如果一并行,每計(jì)算一步會出現(xiàn)四個(gè)壓力值(我用四核并行),其中一個(gè)為真實(shí)值,另三個(gè)是0,然后到下面用壓力判斷質(zhì)量流量時(shí)用的一直是那個(gè)0的壓力,所以就流量一直升高。 |
新蟲 (初入文壇)
新蟲 (初入文壇)
新蟲 (初入文壇)
|
DEFINE_ADJUST(get_p_monitor,d) { Thread *t; cell_t c; real xc[ND_ND]; thread_loop_c(t,d) { begin_c_loop(c,t) { C_CENTROID(xc,c,t); if (sqrt(ND_SUM(pow(xc[0] + 2.,2.), pow(xc[1] -1.3,2.), pow(xc[2]-0.,2.)))<0.01 pressure=C_P(c,t); /*你這里前面網(wǎng)格的壓力會不斷的被后面網(wǎng)格所覆蓋,F(xiàn)luent會循環(huán)所有網(wǎng)格,所以最后輸出的pressure變量只是最后一個(gè)網(wǎng)格的壓力。可把C_P(c,t)放在一個(gè)UDM里面(自己查查,不難)*/ } end_c_loop(c,t) } printf("\n pressure=%g\n",pressure); /*由于并行時(shí)流場會被分為幾份,輸出時(shí)有的區(qū)域的壓力就會輸出為零。pressure初始化為零?省略了?*/ } DEFINE_PROFILE(mass_inlet_as_p,t,i) { face_t f; real mass=0.5; if(pressure<=480000.) mass=mass+0.01; else if(pressure>480000.&&.pressure<520000.)/*根據(jù)監(jiān)測點(diǎn)的壓力調(diào)節(jié)入口質(zhì)量流量*/ mass=mass; else mass=mass-0.01; begin_f_loop(f,t) { F_PROFILE(f,t,i)=mass; } end_f_loop(f,t) printf("\n pressure=%g\n",pressure); /*這種寫法輸出不會崩潰?這里不是每個(gè)網(wǎng)格都輸出?我記得DEFINE_PROFILE會循環(huán)每個(gè)網(wǎng)格,也就是每個(gè)網(wǎng)格應(yīng)該都會執(zhí)行printf。*/ } |
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 招08考數(shù)學(xué) +3 | laoshidan 2026-03-20 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 303求調(diào)劑 +5 | 安憶靈 2026-03-22 | 6/300 |
|
|
[考研] 能源材料化學(xué)課題組招收碩士研究生8-10名 +5 | 脫穎而出 2026-03-16 | 16/800 |
|
|
[考研] 一志愿華中科技大學(xué)071000,求調(diào)劑 +4 | 沿岸有貝殼6 2026-03-21 | 4/200 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +5 | 生物工程調(diào)劑 2026-03-17 | 9/450 |
|
|
[考研] 材料求調(diào)劑 +5 | @taotao 2026-03-21 | 5/250 |
|
|
[考研] 0703化學(xué)297求調(diào)劑 +3 | Daisy☆ 2026-03-20 | 3/150 |
|
|
[考研] 0805材料320求調(diào)劑 +3 | 深海物語 2026-03-20 | 3/150 |
|
|
[考研] 265求調(diào)劑 +12 | 梁梁校校 2026-03-19 | 14/700 |
|
|
[考研] 085601調(diào)劑 358分 +3 | zzzzggh 2026-03-20 | 4/200 |
|
|
[考研] 299求調(diào)劑 +6 | △小透明* 2026-03-17 | 6/300 |
|
|
[考研] 332求調(diào)劑 +4 | ydfyh 2026-03-17 | 4/200 |
|
|
[考研] 一志愿重慶大學(xué)085700資源與環(huán)境專碩,總分308求調(diào)劑 +3 | 墨墨漠 2026-03-18 | 3/150 |
|
|
[考研] 274求調(diào)劑 +10 | S.H1 2026-03-18 | 10/500 |
|
|
[考研] 一志愿 西北大學(xué) ,070300化學(xué)學(xué)碩,總分287,雙非一本,求調(diào)劑。 +4 | 晨昏線與星海 2026-03-19 | 4/200 |
|
|
[考研] 廣西大學(xué)家禽遺傳育種課題組2026年碩士招生(接收計(jì)算機(jī)專業(yè)調(diào)劑) +3 | 123阿標(biāo) 2026-03-17 | 3/150 |
|
|
[考研] 298-一志愿中國農(nóng)業(yè)大學(xué)-求調(diào)劑 +9 | 手機(jī)用戶 2026-03-17 | 9/450 |
|
|
[考研] 085600材料與化工調(diào)劑 324分 +10 | llllkkkhh 2026-03-18 | 12/600 |
|
|
[考研] 一志愿福大288有機(jī)化學(xué),求調(diào)劑 +3 | 小木蟲200408204 2026-03-18 | 3/150 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +4 | 生物工程調(diào)劑 2026-03-16 | 12/600 |
|