| 5 | 1/1 | 返回列表 |
| 查看: 1663 | 回復(fù): 4 | ||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | ||
ltpreason新蟲 (初入文壇)
|
[求助]
udf程序改為并行
|
|
|
程序的目的是根據(jù)監(jiān)測點(diǎn)的壓力調(diào)節(jié)入口的質(zhì)量流量,維持監(jiān)測點(diǎn)的壓力近似恒定,單核計算時程序可以用,一旦并行就出錯,自己試著按幫助里的方法改一直沒通(比如加#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時,認(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); } 如果一并行,每計算一步會出現(xiàn)四個壓力值(我用四核并行),其中一個為真實(shí)值,另三個是0,然后到下面用壓力判斷質(zhì)量流量時用的一直是那個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變量只是最后一個網(wǎng)格的壓力?砂袰_P(c,t)放在一個UDM里面(自己查查,不難)*/ } end_c_loop(c,t) } printf("\n pressure=%g\n",pressure); /*由于并行時流場會被分為幾份,輸出時有的區(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); /*這種寫法輸出不會崩潰?這里不是每個網(wǎng)格都輸出?我記得DEFINE_PROFILE會循環(huán)每個網(wǎng)格,也就是每個網(wǎng)格應(yīng)該都會執(zhí)行printf。*/ } |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料科學(xué)與工程調(diào)劑 +5 | 深V宿舍吧 2026-03-30 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 一志愿鄭大材料工程290求調(diào)劑 +4 | Youth_ 2026-03-30 | 4/200 |
|
|
[基金申請] 面上5B能上會嗎? +7 | redcom 2026-03-29 | 7/350 |
|
|
[考研] 材料專碩 085600求調(diào)劑 +5 | BBQ233 2026-03-30 | 5/250 |
|
|
[考研] 348求調(diào)劑 +6 | 小懶蟲不懶了 2026-03-28 | 6/300 |
|
|
[考研] 一志愿中南大學(xué)化學(xué)0703總分337求調(diào)劑 +6 | niko- 2026-03-27 | 6/300 |
|
|
[考研] 化學(xué)0703 調(diào)劑 306分 一志愿211 +7 | 26要上岸 2026-03-28 | 7/350 |
|
|
[考研] 085600 材料與化工 329分求調(diào)劑 +14 | Mr. Z 2026-03-25 | 14/700 |
|
|
[考研] 289求調(diào)劑 +5 | BrightLL 2026-03-29 | 5/250 |
|
|
[考研] 一志愿雙一流機(jī)械285分求調(diào)劑 +4 | 幸運(yùn)的三木 2026-03-29 | 5/250 |
|
|
[考研] 求調(diào)劑 +7 | 爭取九點(diǎn)睡 2026-03-28 | 8/400 |
|
|
[考研] 本科新能源科學(xué)與工程,一志愿華理能動285求調(diào)劑 +3 | AZMK 2026-03-27 | 5/250 |
|
|
[考研] 320分,材料與化工專業(yè),求調(diào)劑 +9 | 一定上岸aaa 2026-03-27 | 13/650 |
|
|
[考研] 材料求調(diào)劑一志愿哈工大324 +7 | 閆旭東 2026-03-28 | 9/450 |
|
|
[考研] 308求調(diào)劑 +7 | 墨墨漠 2026-03-27 | 7/350 |
|
|
[考研] 086502化學(xué)工程342求調(diào)劑 +6 | 阿姨復(fù)古不過 2026-03-27 | 6/300 |
|
|
[考研] 305求調(diào)劑 +5 | 哇盧卡庫 2026-03-26 | 5/250 |
|
|
[考研] 314求調(diào)劑 +3 | 溪云珂 2026-03-26 | 3/150 |
|
|
[考研] 085601求調(diào)劑總分293英一數(shù)二 +4 | 鋼鐵大炮 2026-03-24 | 4/200 |
|
|
[考研] 材料專碩331求調(diào)劑 +4 | 鮮當(dāng)牛 2026-03-24 | 4/200 |
|