def get_f_brm_is_is_n_pls( a_s_js, c_a: float, v_rm_is, c_sh_frt_is, delta_t, f_wsr_js_is, g_sh_frt_is, h_s_c_js, p_is_js, p_js_is, rho_a, v_vent_int_is_is_n, v_vent_out_is_n ): """ Args: a_s_js: 境界 j の面積, m2, [j, 1] c_a: 空気の比熱, J/(kg K) v_rm_is: 室 i の容積, m3, [i, 1] c_sh_frt_is: 室 i の備品等の熱容量, J/K, [i, 1] delta_t: 1ステップの時間間隔, s f_wsr_js_is: 係数 f_WSR, - [j, i] g_sh_frt_is: 室 i の備品等と空気間の熱コンダクタンス, W/K, [i, 1] h_s_c_js: 境界 j の室内側対流熱伝達率, W/(m2 K), [j, 1] p_is_js: 室 i と境界 j の接続に関する係数(境界 j が室 i に接している場合は 1 とし、それ以外の場合は 0 とする。), -, [i, j] p_js_is: 室 i と境界 j の接続に関する係数(境界 j が室 i に接している場合は 1 とし、それ以外の場合は 0 とする。), -, [j, i] rho_a: 空気の密度, kg/m3 v_vent_int_is_is_n: ステップ n から ステップ n+1 における室 i* から室 i への室間の空気移動量(流出換気量を含む), m3/s v_vent_out_is_n: ステップ n からステップ n+1 における室 i の換気・すきま風・自然風の利用による外気の流入量, m3/s Returns: ステップ n+1 における係数 f_BRM, W/K, [i, i] Notes: 式(2.23) """ return v_diag(v_rm_is * rho_a * c_a / delta_t) \ + np.dot(p_is_js, (p_js_is - f_wsr_js_is) * a_s_js * h_s_c_js) \ + v_diag(c_sh_frt_is * g_sh_frt_is / (c_sh_frt_is + g_sh_frt_is * delta_t)) \ + c_a * rho_a * (v_diag(v_vent_out_is_n) - v_vent_int_is_is_n)
def _get_f_flr_js_is(self, es): f_flr_eqp_js_ks = self._get_f_flr_eqp_js_ks(es=es) f_beta_eqp_ks_is = self._get_f_beta_eqp_ks_is(es=es, n_rm=self._n_rm) r_max_ks_is = self._get_r_max_ks_is(es=es, n_rm=self._n_rm) beta_is = self._get_beta_is(es=es) p_ks_is = self._get_p_ks_is(es=es) return np.dot( np.dot(f_flr_eqp_js_ks, (p_ks_is - f_beta_eqp_ks_is) * r_max_ks_is), v_diag(1 / (1 - beta_is)))
def get_f_xot_is_is_n_pls(f_mrt_hum_is_js, f_wsr_js_is, k_c_is_n, k_r_is_n): """ Args: f_mrt_hum_is_js: 室 i の人体に対する境界 j の形態係数, -, [i, j] f_wsr_js_is: 係数 f_WSR, - [j, i] k_c_is_n: ステップ n における室 i の人体表面の対流熱伝達率が総合熱伝達率に占める割合, -, [i, 1] k_r_is_n: ステップ n における室 i の人体表面の放射熱伝達率が総合熱伝達率に占める割合, -, [i, 1] Returns: ステップ n+1 における係数 f_XOT, -, [i, i] Notes: 式(2.20) """ return np.linalg.inv(v_diag(k_c_is_n) + k_r_is_n * np.dot(f_mrt_hum_is_js, f_wsr_js_is))
def get_f_brl_is_is_n(a_s_js, beta_is_n, f_wsb_js_is_n_pls, h_s_c_js, p_is_js): """ Args: a_s_js: 境界 j の面積, m2, [j, 1] beta_is_n: ステップ n からステップ n+1 における室 i の放射暖冷房設備の対流成分比率, -, [i, 1] f_wsb_js_is_n_pls: ステップ n+1 における係数 f_WSB, K/W, [j, 1] h_s_c_js: 境界 j の室内側対流熱伝達率, W/(m2 K), [j, 1] p_is_js: 室 i と境界 j の接続に関する係数(境界 j が室 i に接している場合は 1 とし、それ以外の場合は 0 とする。), -, [i, j] Returns: ステップ n における係数 f_BRL, -, [i, i] Notes: 式(2.10) """ return np.dot(p_is_js, f_wsb_js_is_n_pls * h_s_c_js * a_s_js) + v_diag(beta_is_n)
def get_f_ax_js_is(f_mrt_is_js, h_s_c_js, h_s_r_js, k_ei_js_js, p_js_is, phi_a0_js, phi_t0_js): """ Args: f_mrt_is_js: 室 i の微小球に対する境界 j の形態係数, -, [i, j] h_s_c_js: 境界 j の室内側対流熱伝達率, W/(m2 K), [j, 1] h_s_r_js: 境界 j の室内側放射熱伝達率, W/(m2 K), [j, 1] k_ei_js_js: 境界 j の裏面温度に境界 j∗ の等価温度が与える影響, -, [j, j] p_js_is: 室 i と境界 j の接続に関する係数(境界 j が室 i に接している場合は 1 とし、それ以外の場合は 0 とする。), -, [j, i] phi_a0_js: 境界 j の吸熱応答係数の初項, m2 K/W, [j, 1] phi_t0_js: 境界 j の貫流応答係数の初項, -, [j, 1] Returns: 係数 f_AX, -, [j, j] Notes: 式(4.5) """ return v_diag(1.0 + phi_a0_js * (h_s_c_js + h_s_r_js)) \ - np.dot(p_js_is, f_mrt_is_js) * h_s_r_js * phi_a0_js \ - np.dot(k_ei_js_js, np.dot(p_js_is, f_mrt_is_js)) * h_s_r_js * phi_t0_js / (h_s_c_js + h_s_r_js)
def get_f_h_wgt_is_is_n(c_lh_frt_is, delta_t, g_lh_frt_is, rho_a, v_rm_is, v_vent_int_is_is_n, v_vent_out_is_n): """ Args: c_lh_frt_is: 室 i の備品等の湿気容量, kg/(kg/kg(DA)), [i, 1] delta_t: 1ステップの時間間隔, s g_lh_frt_is: 室 i の備品等と空気間の湿気コンダクタンス, kg/(s kg/kg(DA)), [i, 1] rho_a: 空気の密度, kg/m3 v_rm_is: 室 i の容量, m3, [i, 1] v_vent_int_is_is_n: ステップ n から ステップ n+1 における室 i* から室 i への室間の空気移動量(流出換気量を含む), m3/s v_vent_out_is_n: ステップ n から ステップ n+1 における室 i の換気・すきま風・自然風の利用による外気の流入量, m3/s Returns: ステップ n における室 i* の絶対湿度が室 i の潜熱バランスに与える影響を表す係数, kg/(s kg/kg(DA)), [i, i] Notes: 式(1.5) """ return v_diag( rho_a * (v_rm_is / delta_t + v_vent_out_is_n) + c_lh_frt_is * g_lh_frt_is / (c_lh_frt_is + delta_t * g_lh_frt_is) ) - rho_a * v_vent_int_is_is_n