| 3 | 1/1 | 返回列表 |
| 查看: 1366 | 回復(fù): 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ā)表 | |
|---|---|---|---|---|
|
[考研] 290求調(diào)劑 +5 | Bananaiy 2026-03-04 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 0817化學(xué)工程與技術(shù)312分求調(diào)劑 +3 | T123 tt 2026-03-04 | 3/150 |
|
|
[考研] 0703 東華大學(xué) 理學(xué)化學(xué)均過 a 線,總分 281 求調(diào)劑 +4 | 香香 Lu 2026-03-03 | 7/350 |
|
|
[考研] 材料328求調(diào)劑 +10 | 一個蘿卜02 2026-03-03 | 10/500 |
|
|
[考研] 材料復(fù)試調(diào)劑 +7 | 學(xué)材料的點 2026-03-01 | 8/400 |
|
|
[考研] 274求調(diào)劑 +8 | 一個學(xué)習(xí)者 2026-03-04 | 8/400 |
|
|
[考研] 267化工調(diào)劑求助 +5 | 聰少OZ 2026-03-04 | 5/250 |
|
|
[考研] 能動297求調(diào)劑,本科川大 +4 | 邵11 2026-03-04 | 4/200 |
|
|
[考研] 347分電子信息專碩求調(diào)劑 +3 | 咕嘟咕嘟1 2026-03-03 | 3/150 |
|
|
[考研] 環(huán)境調(diào)劑 +8 | chenhanheng 2026-03-02 | 8/400 |
|
|
[考研] 化學(xué)0703求調(diào)劑 學(xué)碩 理/工科均可 總分279 +3 | 1一11 2026-03-03 | 5/250 |
|
|
[考研] 324求調(diào)劑 +4 | wxz2 2026-03-03 | 5/250 |
|
|
[考研] 清華大學(xué) 材料與化工 353分求調(diào)劑 +5 | awaystay 2026-03-02 | 6/300 |
|
|
[考研] 【2026 碩士調(diào)劑】課題組 招收調(diào)劑生 +3 | 考研版棒棒 2026-03-02 | 5/250 |
|
|
[考研] 0856求調(diào)劑285 +11 | 呂仔龍 2026-02-28 | 11/550 |
|
|
[考研] 一志愿山東大學(xué)材料與化工325求調(diào)劑 +5 | 半截的詩0927 2026-03-02 | 5/250 |
|
|
[考研] 264求調(diào)劑 +4 | 巴拉巴拉根556 2026-02-28 | 4/200 |
|
|
[考研] 275求調(diào)劑 +3 | L-xin? 2026-03-01 | 6/300 |
|
|
[考研] 279求調(diào)劑 +3 | dua1 2026-03-01 | 4/200 |
|
|
[考研] 313求調(diào)劑 +3 | 水流年lc 2026-02-28 | 3/150 |
|