| 24小時(shí)熱門版塊排行榜 |
| 5 | 1/1 | 返回列表 |
| 查看: 1660 | 回復(fù): 4 | ||
ltpreason新蟲(chóng) (初入文壇)
|
[求助]
udf程序改為并行
|
|
程序的目的是根據(jù)監(jiān)測(cè)點(diǎn)的壓力調(diào)節(jié)入口的質(zhì)量流量,維持監(jiān)測(cè)點(diǎn)的壓力近似恒定,單核計(jì)算時(shí)程序可以用,一旦并行就出錯(cuò),自己試著按幫助里的方法改一直沒(méi)通(比如加#if !HOST #endif之類),懇請(qǐng)各位指點(diǎn),先謝過(guò)了!把自己的金幣全部懸賞! 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)測(cè)點(diǎn),當(dāng)網(wǎng)格質(zhì)心與監(jiān)測(cè)點(diǎn)的距離小于0.01時(shí),認(rèn)為該網(wǎng)格的壓力就是監(jiān)測(cè)點(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)測(cè)點(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ì)算一步會(huì)出現(xiàn)四個(gè)壓力值(我用四核并行),其中一個(gè)為真實(shí)值,另三個(gè)是0,然后到下面用壓力判斷質(zhì)量流量時(shí)用的一直是那個(gè)0的壓力,所以就流量一直升高。 |
新蟲(chóng) (初入文壇)
新蟲(chóng) (初入文壇)
新蟲(chóng) (初入文壇)
|
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)格的壓力會(huì)不斷的被后面網(wǎng)格所覆蓋,F(xiàn)luent會(huì)循環(huán)所有網(wǎng)格,所以最后輸出的pressure變量只是最后一個(gè)網(wǎng)格的壓力?砂袰_P(c,t)放在一個(gè)UDM里面(自己查查,不難)*/ } end_c_loop(c,t) } printf("\n pressure=%g\n",pressure); /*由于并行時(shí)流場(chǎng)會(huì)被分為幾份,輸出時(shí)有的區(qū)域的壓力就會(huì)輸出為零。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)測(cè)點(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); /*這種寫(xiě)法輸出不會(huì)崩潰?這里不是每個(gè)網(wǎng)格都輸出?我記得DEFINE_PROFILE會(huì)循環(huán)每個(gè)網(wǎng)格,也就是每個(gè)網(wǎng)格應(yīng)該都會(huì)執(zhí)行printf。*/ } |
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料學(xué)碩301分求調(diào)劑 +7 | Liyouyumairs 2026-03-21 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 311求調(diào)劑 +13 | 冬十三 2026-03-15 | 14/700 |
|
|
[考研] 326求調(diào)劑 +5 | 諾貝爾化學(xué)獎(jiǎng)覬?/a> 2026-03-15 | 8/400 |
|
|
[考研] 333求調(diào)劑 +5 | 87639 2026-03-21 | 7/350 |
|
|
[考研] 0805 316求調(diào)劑 +3 | 大雪深藏 2026-03-18 | 3/150 |
|
|
[考研] 工科0856求調(diào)劑 +3 | 沐析汀汀 2026-03-21 | 3/150 |
|
|
[考研] 一志愿深大,0703化學(xué),總分302,求調(diào)劑 +4 | 七月-七七 2026-03-21 | 4/200 |
|
|
[考研] 材料學(xué)碩333求調(diào)劑 +3 | 北道巷 2026-03-18 | 3/150 |
|
|
[考研] 306求0703調(diào)劑一志愿華中師范 +5 | 紙魚(yú)ly 2026-03-21 | 5/250 |
|
|
[考研] 一志愿山大07化學(xué) 332分 四六級(jí)已過(guò) 本科山東雙非 求調(diào)劑! +3 | 不想理你 2026-03-16 | 3/150 |
|
|
[考研] 301求調(diào)劑 +10 | yy要上岸呀 2026-03-17 | 10/500 |
|
|
[考研] 265求調(diào)劑 +9 | 梁梁校校 2026-03-17 | 9/450 |
|
|
[考研] 085700資源與環(huán)境308求調(diào)劑 +12 | 墨墨漠 2026-03-18 | 13/650 |
|
|
[考研] 一志愿武理材料305分求調(diào)劑 +6 | 想上岸的鯉魚(yú) 2026-03-18 | 7/350 |
|
|
[考研] 085410人工智能專碩317求調(diào)劑(0854都可以) +4 | xbxudjdn 2026-03-18 | 4/200 |
|
|
[考博] 申博26年 +3 | 八6八68 2026-03-19 | 3/150 |
|
|
[考研] 0703化學(xué)調(diào)劑 +5 | pupcoco 2026-03-17 | 8/400 |
|
|
[考研] 328求調(diào)劑,英語(yǔ)六級(jí)551,有科研經(jīng)歷 +4 | 生物工程調(diào)劑 2026-03-16 | 12/600 |
|
|
[考研] 334求調(diào)劑 +3 | 志存高遠(yuǎn)意在機(jī)?/a> 2026-03-16 | 3/150 |
|
|
[考研] 一志愿211 0703方向310分求調(diào)劑 +3 | 努力奮斗112 2026-03-15 | 3/150 |
|