| 3 | 1/1 | 返回列表 |
| 查看: 1369 | 回復: 2 | ||
| 【懸賞金幣】回答本帖問題,作者QiaoPengyu將贈送您 5 個金幣 | ||
QiaoPengyu新蟲 (初入文壇)
|
[求助]
fluent加載udf后初始化閃退
|
|
|
fluent不加載udf的時候可以計算,一加入udf就會報錯閃退(udf編譯和加載都可以成功)。udf如下 大佬們看看udf是不是存在問題。 #include "udf.h" #include "flow.h" #include"unsteady.h" #include"stdio.h" #define M0 0.032 #define M1 0.028 #define k10 7.87e-9 #define k11 9.86e-9 #define k20 1541.211 #define k21 2010.908 #define k30 6.79e-10 #define k31 1.67e-9 #define k40 1968.24 #define k41 2250 #define K0 62 #define K1 19.7 #define D 0.08 #define d 1.6e-3 #define h0 12000 #define h1 18000 #define L 1035 #define hf 0.2 #define hw 3.84e-3 #define Tw 288 #define e 0.4 #define cp_s 1010 /*specific heat of solid [cp_s]=j/(kg.K)*/ /* Define which user-defined scalars to use.*/ enum { q0,q1,Q0,Q1,OM,TM,TE,T_S }; DEFINE_ADJUST(adjust_fcn, domain) { Thread* t; cell_t c; /*solve the q0.*/ thread_loop_c(t, domain) { if (NULL != THREAD_STORAGE(t, SV_UDS_I(q0)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(q0))) { begin_c_loop(c, t) { real p_0, p_1, x0, x1, b0, b1; p_0 = 7 * C_YI(c, t, 0) * ABS_P(C_P(c, t), op_pres) / (8 - C_YI(c, t, O)); p_1 = 8 * C_YI(c, t, 1) * ABS_P(C_P(c, t), op_pres) / (7 + C_YI(c, t, 1)); x0 = k10 * exp(k20 / C_T(c, t)); b0 = k30 * exp(k40 / C_T(c, t)); b1 = k31 * exp(k41 / C_T(c, t)); C_UDSI(c, t, q0) = x0 * p_0 / (1 + b0 * p_0 + b1 * p_1); } end_c_loop(c, t) } } /* solve the q1.*/ thread_loop_c(t, domain) { if (NULL != THREAD_STORAGE(t, SV_UDS_I(q1)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(q1))) { begin_c_loop(c, t) { real p_0, p_1, x0, x1, b0, b1; x1 = k11 * exp(k21 / C_T(c, t)); b0 = k30 * exp(k40 / C_T(c, t)); b1 = k31 * exp(k41 / C_T(c, t)); C_UDSI(c, t, q1) = x1 * p_1 / (1 + b0 * p_0 + b1 * p_1); } end_c_loop(c, t) } } /* solve the Q0.*/ thread_loop_c(t, domain) { if (NULL != THREAD_STORAGE(t, SV_UDS_I(Q0)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(Q0))) { begin_c_loop(c, t) { real physical_dt; physical_dt = RP_Get_Real("physical-time-step" ;C_UDSI(c, t, Q0) = C_UDSI_M1(c, t, Q0) + K0 * physical_dt * (C_UDSI(c, t, q0) - C_UDSI_M1(c, t, Q0)); } end_c_loop(c, t) } } /* solve the Q1.*/ thread_loop_c(t, domain) { if (NULL != THREAD_STORAGE(t, SV_UDS_I(Q1)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(Q1))) { begin_c_loop(c, t) { real physical_dt; physical_dt = RP_Get_Real("physical-time-step" ;C_UDSI(c, t, Q1) = C_UDSI_M1(c, t, Q1) + K1 * physical_dt * (C_UDSI(c, t, q1) - C_UDSI_M1(c, t, Q1)); } end_c_loop(c, t) } } /* solve the OM.*/ thread_loop_c(t, domain) { if (NULL != THREAD_STORAGE(t, SV_UDS_I(OM)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(OM))) { begin_c_loop(c, t) { C_UDSI(c, t, OM) = -(1.0 - e) * M0 * L * K0 * (C_UDSI(c, t, q0) - C_UDSI_M1(c, t, Q0)); } end_c_loop(c, t) } } /* solve the TM.*/ thread_loop_c(t, domain) { if (NULL != THREAD_STORAGE(t, SV_UDS_I(TM)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(TM))) { begin_c_loop(c, t) { C_UDSI(c, t, TM) = C_UDSI(c, t, OM) - (1.0 - e) * M1 * L * K1 * (C_UDSI(c, t, q1) - C_UDSI_M1(c, t, Q1)); } end_c_loop(c, t) } } /* solve the TE.*/ thread_loop_c(t, domain) { if (NULL != THREAD_STORAGE(t, SV_UDS_I(TE)) && NULL != T_STORAGE_R_NV(t, SV_UDSI_M1(TE))) { begin_c_loop(c, t) { C_UDSI(c, t, TE) = (1.0 - e) * L * (K0 * h0 * (C_UDSI(c, t, q0) - C_UDSI_M1(c, t, Q0)) + K1 * h1 * (C_UDSI(c, t, q1) - C_UDSI_M1(c, t, Q1))); } end_c_loop(c, t) } } } DEFINE_UDS_UNSTEADY(uns_time, c, t, i, apu, su) { real physical_dt, vol, rho, phi_old; physical_dt = RP_Get_Real("physical-time-step" ;vol = C_VOLUME(c, t); rho = L; *apu = -rho * cp_s * vol / physical_dt; /*implicit part*/ phi_old = C_STORAGE_R(c, t, SV_UDSI_M1(T_S)); *su = rho * cp_s * vol * phi_old / physical_dt; /*explicit part*/ } DEFINE_SOURCE(O2mass_source, c, t, dS, eqn) { real source; source = C_UDSI(c, t, OM); dS[eqn] = 0; return source; } DEFINE_SOURCE(total_mass_source, c, t, dS, eqn) { real mass_source; mass_source = C_UDSI(c, t, TM); dS[eqn] = 0; return mass_source; } DEFINE_SOURCE(energy_source_fluid, c, t, dS, eqn) { real e_source; e_source = C_UDSI(c, t, TE); dS[eqn] = 0; return e_source; } DEFINE_SOURCE(energy_source_solid, c, t, dS, eqn) { real e_source; e_source = 1.0 * C_UDSI(c, t, TE) / (1.0 - e) + 6 * hf * (C_T(c, t) - C_UDSI(c, t, T_S)) / d; dS[eqn] = 0; return e_source; } DEFINE_DIFFUSIVITY(m_diff, c, t, i) { real diff; diff = 6.324e-5 * pow(C_T(c, t), 1.83) / ABS_P(C_P(c, t), op_pres); return diff; }@wuming524 |
金蟲 (小有名氣)
新蟲 (初入文壇)
| 3 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料085601一志愿哈工大317 +4 | 壓迫感行 2026-03-04 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 求材料調(diào)劑 +4 | berdmond 2026-03-05 | 4/200 |
|
|
[考研] 材料調(diào)劑 +4 | L9370 2026-03-05 | 4/200 |
|
|
[考研] 紡織、生物、化學、材料等專業(yè) +3 | Eember. 2026-03-05 | 7/350 |
|
|
[考研] 一志愿山東大學105500藥學專碩,總分302求調(diào)劑 +3 | 五維天空 2026-03-04 | 5/250 |
|
|
[考研] 347求調(diào)劑 +6 | 啊歐歐歐 2026-03-03 | 8/400 |
|
|
[考研] 一志愿天津大學085600 319分 材料與化工 金屬方向 求調(diào)劑 +6 | 青科11 2026-03-02 | 6/300 |
|
|
[考研] 376求調(diào)劑 +3 | 王浩然sam 2026-03-04 | 3/150 |
|
|
[考研] 求調(diào)劑院校 +6 | 云朵452 2026-03-02 | 12/600 |
|
|
[考研] 一志愿985材料與化工 326分求調(diào)劑 +3 | Hz795795 2026-03-04 | 3/150 |
|
|
[考研] 武理材料工程302調(diào)劑 +3 | Doleres 2026-03-03 | 6/300 |
|
|
[考博] 26申博 +5 | north, 2026-02-28 | 5/250 |
|
|
[考研] 環(huán)境調(diào)劑 +8 | chenhanheng 2026-03-02 | 8/400 |
|
|
[考研] 085600材料與化工調(diào)劑 280分 +10 | yyqqhh 2026-03-03 | 10/500 |
|
|
[考研]
材料270求調(diào)劑
6+6
|
Eiiiio 2026-03-01 | 11/550 |
|
|
[考研] 一志愿東北大學材料專碩328,求調(diào)劑 +3 | shs1083 2026-03-02 | 3/150 |
|
|
[考研] 0856化工專碩求調(diào)劑 +15 | 董boxing 2026-03-01 | 15/750 |
|
|
[考研] 材料與化工328求調(diào)劑 +3 | 。,。,。,。i 2026-03-02 | 3/150 |
|
|
[考研] 275求調(diào)劑 +3 | L-xin? 2026-03-01 | 6/300 |
|
|
[考研] 290求調(diào)劑 +9 | 材料專碩調(diào)劑; 2026-02-28 | 11/550 |
|