Ansys Assistant will be unavailable on the Learning Forum starting January 30. An upgraded version is coming soon. We apologize for any inconvenience and appreciate your patience. Stay tuned for updates.
流体全般

流体全般

非定常計算の熱バランスのチェック

    • FAQFAQ
      Participant

      このFAQでは非定常熱バランスについて説明します。 定常計算では熱バランスのチェックはReport->Fluxes->Heat transfer rateの値が解析領域内の熱ソースに等しいかどうかで判断します。 熱ソースの例としてはDPM粒子の蒸発潜熱などがあげられます。(化学種モデルの反応熱は熱ソースに加算する必要はありません) ∑Heat transfer rate(境界) -∫熱ソースdv = 0.0 [W] 非定常計算の場合は、”’解析領域内のエネルギー変化量 = 境界での熱流束 – 解析領域内の熱ソース”’となる必要があります。 Δ∫ρEdv/dt = ∑Heat transfer rate(境界) – ∫熱ソースdv [W] E= h – P/ρ + u^2/2 [J/kg] ただし非圧縮の場合、圧力仕事項と運動エネルギー項は考慮しないので、E=hとなります。 ==UDFサンプル== 以下のUDFは単相、単一化学種、熱ソースなしの簡単なサンプルです。 #include DEFINE_EXECUTE_AT_END(execute_at_end) { Domain *d = Get_Domain(1); Thread *t; real dt=CURRENT_TIMESTEP; /* 各時間ステップサイズ  [s] */ real total_heat_f= 0.0; /* ∑Heat transfer rate(境界) [W] */ real sum0 = 0.0;   /* 解析領域内の総エネルギー [J] */  real sum1 = 0.0; /* sum1:前タイムステップの解析領域内の総エネルギー[J] */ real dt_heat=0.0; /* dt_heat:解析領域内の熱ソースによるエネルギーの変化量[W] */ thread_loop_f(t,d) { if (BOUNDARY_FACE_THREAD_P(t)) { begin_f_loop(f,t){ total_heat_f += BOUNDARY_HEAT_FLUX(f,t);/*[W]*/ }end_f_loop(f,t) } } thread_loop_c(t,d) { begin_c_loop(c,t){ sum0 +=C_R(c,t)* C_VOLUME(c,t)* (C_H(c,t) – ABS_P(C_P(c,t), op_pres)/C_R(c,t)); }end_c_loop(c,t) } if (CURRENT_TIME == 0.0) { dt_heat=0.0; }else{ dt_heat = sum0 – sum1; } sum1 = sum0; Message(“converge: %lf n”,((total_heat_f)*dt) -dt_heat)); } 注: *C_Hは(Cp(T-298.15)+u^2/2)の値です。 *最終的には各時間ステップ後、total_heat_f * CURRENT_TIMESTEP – dt_heatの値がゼロに近い値になれば収束したと判断できます。