496 lines
28 KiB
VB.net
496 lines
28 KiB
VB.net
Public Class CCoolingOD
|
|
Public Overridable Sub Calc_CoolingSystem(ByVal i_count_month As Integer, ByVal theta_e As Decimal)
|
|
|
|
Dim T As String = "냉방기기"
|
|
Dim c_p1 As Decimal, c_p2 As Decimal, c_cl As Decimal
|
|
Dim b As Decimal, L As Decimal, n_G As Decimal, h_G As Decimal, L_max As Decimal, R As Decimal, z As Decimal
|
|
Dim rho_cl As Decimal
|
|
Dim eta_c_star_d As Decimal, eta_c_star_ce_sens As Decimal, eta_c_star_ce As Decimal, eta_c_d As Decimal, eta_c_ce As Decimal, eta_c_ce_sens As Decimal
|
|
Dim Q_c_star_s As Decimal, Q_c_s As Decimal, Q_c_b As Decimal, Q_vc_b As Decimal, Q_vm_b As Decimal, Q_c_b_i As Decimal, Q_c_star_b_i As Decimal
|
|
Dim Q_c_star_b As Decimal, Q_m_star_b As Decimal, Q_c_star_d As Decimal, Q_c_star_ce As Decimal, Q_c_d As Decimal, Q_c_ce As Decimal
|
|
Dim Q_c_star_outg As Decimal, Q_z_outg_l As Decimal, Q_m_star_outg As Decimal, Q_dot_c_outg As Decimal, Q_c_outg As Decimal, Q_c_outg_total As Decimal, Q_dot_z As Decimal
|
|
Dim Q_c_ce_aux As Decimal, Q_z_aux_d_l As Decimal, Q_z_star_outg_l As Decimal
|
|
Dim f_c_ce_aux As Decimal, f_Abgl As Decimal, f_e As Decimal
|
|
Dim V_dot_z As Decimal
|
|
Dim EER As Decimal, PLV_av As Decimal
|
|
Dim P_d_hydr As Decimal, P_Pump As Decimal
|
|
Dim beta_d_l As Decimal, e_d_l As Decimal
|
|
Dim W_d_hydr_l As Decimal
|
|
Dim Q_c_f_elektr As Decimal, Q_c_f_R_elektr As Decimal, Q_dot_R_outg As Decimal, Q_c_outg_therm As Decimal, Q_c_f As Decimal, Q_c_aux As Decimal
|
|
Dim t_h_max As Integer
|
|
Dim Q_c_g As Decimal, Q_c_g_v_i As Decimal, Q_dot_N As Decimal, Q_dot_d_in As Decimal
|
|
Dim theta_VA As Decimal, theta_RA As Decimal, theta_HK_m_beta_h_d As Decimal, beta_h As Decimal, n_beta As Decimal
|
|
Dim eta_k_100 As Decimal, eta_k_pl As Decimal, f As Decimal, e As Decimal, q_B_70 As Decimal, q_B_theta As Decimal, f_Hs_Hi As Decimal
|
|
Dim Q_V_g_100 As Decimal, Q_dot_B_h As Decimal, Q_V_g_pl As Decimal, q_R_elektr As Decimal
|
|
Dim beta_k_pl As Decimal, Delta_theta_z_cl As Decimal
|
|
Dim Delta_P_WUE As Decimal, Delta_P_WUV As Decimal, Delta_P_RV As Decimal, Delta_p_z As Decimal
|
|
Dim k_n As Decimal, f_1_av As Decimal, f_2_av As Decimal, f_R_av As Decimal, T_W_1_i As Decimal, l_min_i As Decimal
|
|
Dim use_Oil As Decimal, use_LNG As Decimal, use_LPG As Decimal, use_Elec As Decimal, use_DH As Decimal
|
|
|
|
'20100223 제거 i_count_chiller As Integer, 최적화중 사용안함
|
|
'Dim i_count_zone As Integer, i_count_c_d As Integer
|
|
Dim i_count_beta As Integer, k_n_index As Integer
|
|
' Dim i_count_renewable As Integer
|
|
Dim i_HeatCool As Integer
|
|
Dim theta_i As Decimal, Q_hp_outg As Decimal, Q_c_f_hp As Decimal, Q_c_g_hp_aux As Decimal
|
|
Dim Q_chp_outg As Decimal, Q_c_f_chp As Decimal
|
|
Dim system_type As Integer
|
|
'==================================2010.2.21 수정
|
|
Dim use_DC As Decimal
|
|
Dim d_op_mth As Integer
|
|
Dim d_op_max_mth As Integer
|
|
' Dim i_count_profile As Integer
|
|
use_DC = 0
|
|
d_op_max_mth = 0
|
|
'==================================2010.2.21 수정
|
|
'==================================2010.04.02 수정
|
|
Dim Q_H_sol_out_m As Decimal, Q_W_sol_out_m As Decimal, W_sol_aux_m As Decimal
|
|
Dim Q_h_outg_i As Decimal
|
|
|
|
Q_H_sol_out_m = 0
|
|
Q_h_outg_i = 0
|
|
'==================================2010.04.02 수정
|
|
|
|
|
|
|
|
eta_c_star_d = 0.95 '건물 내 배관 적용
|
|
eta_c_star_ce_sens = 1 '습도요구 편차없음 적용
|
|
eta_c_star_ce = 0.9 '공조기기로 냉열전달에서 현열전달효율로 우선 0.9 적용
|
|
Q_c_star_s = 0
|
|
Q_c_s = 0 '(3.2.8-22)
|
|
eta_c_d = 0.9 ' 우선 적용 추후 검토
|
|
eta_c_ce = 1 ' 우선 적용 추후 검토
|
|
eta_c_ce_sens = 0.9 '우선 적용 추후 검토
|
|
f_c_ce_aux = 0.04 ' 표3.93 우선 적용 추후 검토
|
|
f_Abgl = 1 '수리역학적으로 평형을 이룬 배관망
|
|
Q_c_f = 0
|
|
Q_c_aux = 0
|
|
beta_k_pl = 0.3
|
|
PLV_av = 1
|
|
use_Oil = 0
|
|
use_LNG = 0
|
|
use_LPG = 0
|
|
use_Elec = 0
|
|
use_DH = 0
|
|
i_HeatCool = 2
|
|
system_type = 2
|
|
|
|
|
|
Dim 냉동기용량합 As Decimal = 0
|
|
For Each dr냉방 As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki.Select("code<>'0'", "code")
|
|
If IsNumeric(dr냉방.냉동기용량) Then 냉동기용량합 += (dr냉방.냉동기용량 * TOSG(T, dr냉방.대수))
|
|
Next
|
|
|
|
Dim Mon As String = "M" & Format(i_count_month, "00")
|
|
For Each dr냉방 As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki.Select("code<>'0'", "code")
|
|
|
|
'log.debug(String.format("cool title=%s", drCooling.getCode()));
|
|
' Console.WriteLine(String.Format("cool title={0}", dr냉방.code))
|
|
|
|
'//이 냉방기가가 존에서 사용되었는지확인한다.
|
|
Dim Drow존() As DS.tbl_zoneRow = CType(DSET1.tbl_zone.Select("code <> '0'"), DS.tbl_zoneRow())
|
|
If Drow존.GetUpperBound(0) <> -1 Then ' Worksheets("냉방기기").Range("냉방생산기기1").Offset(2, i_count_chiller - 1) = "0001" Then '2
|
|
Q_c_b = 0
|
|
Q_c_star_b = 0
|
|
t_h_max = 0
|
|
Q_c_f_elektr = 0
|
|
Q_c_outg_therm = 0
|
|
Q_c_g = 0
|
|
Q_c_f_R_elektr = 0
|
|
|
|
|
|
For Each Dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'", "code")
|
|
'Console.WriteLine(String.Format("냉방기기={0},존={1},mon={2}", dr냉방.설명, Dr존.code, i_count_month))
|
|
|
|
Dim Drow분석() As DSR.월별에너지분석Row = CType(DSETR1.월별에너지분석.Select("월='" & Mon & "' and 존='" & Dr존.code & "'"), DSR.월별에너지분석Row())
|
|
' 존데이터를가져올떄 해당 냉방기기에서 사용한 존만 가져왔따.
|
|
' If Dr존.열생산냉방생산기기 <> "" Then ' Worksheets("입력존").Range("입력냉방생산기기1").Offset(0, i_count_zone - 1) <> "" Then
|
|
' If Dr존.열생산냉방생산기기 = dr냉방.code Then ' Worksheets("입력존").Range("입력냉방생산기기1").Offset(0, i_count_zone - 1) = Worksheets("냉방기기").Range("냉방생산기기1").Offset(0, i_count_chiller - 1) Then
|
|
|
|
If (Dr존.냉난방방식 = "냉난방" OrElse Dr존.냉난방방식 = "냉방") Then
|
|
Q_c_b_i = Result1o.E분석(i_count_month).냉방에너지요구량열(Dr존.code) * (TOSG(T, dr냉방.냉동기용량) * TOSG(T, dr냉방.대수)) / 냉동기용량합 ' CSng(Drow분석(0).냉방요구량열) ' Sheets("" & i_count_month & "").Cells(10, 7 + i_count_zone)
|
|
Q_c_b = Q_c_b + Q_c_b_i
|
|
End If
|
|
If Dr존.냉난방공조 = "냉난방" OrElse Dr존.냉난방공조 = "냉방" OrElse ((Dr존.냉난방공조 = "환기" OrElse Dr존.냉난방공조 = "난방") And Dr존.외기부하처리여부 = "예") Then
|
|
'If (Dr존.냉난방공조 = "환기" OrElse Dr존.냉난방공조 = "난방") And Dr존.외기부하처리여부 = "예" Then '// 2010.11.19 추가
|
|
Q_c_star_b_i = TOSG(T, Drow분석(0).냉방요구량공조) * TOSG(T, dr냉방.냉동기용량) * TOSG(T, dr냉방.대수) / 냉동기용량합 '//2010.11.19 추가
|
|
'Else
|
|
'Q_c_star_b_i = Result1o.E분석(i_count_month).공조에너지요구량냉방(Dr존.code) * TOSG(T,dr냉방.냉동기용량) / 냉동기용량합 ' CSng(Drow분석(0).공조요구량냉방) ' Sheets("" & i_count_month & "").Cells(21, 7 + i_count_zone)
|
|
|
|
' End If
|
|
|
|
Q_c_star_b = Q_c_star_b + Q_c_star_b_i
|
|
End If
|
|
|
|
'===================================================================================2010.2.21 수정
|
|
Dim Dr프로필 As DS.tbl_profile_odRow = CType(DSET1.tbl_profile_od.Select("code='0'")(0), DS.tbl_profile_odRow)
|
|
Dim Drow최대() As DSR.최대냉난방부하Row = CType(DSETR1.최대냉난방부하.Select("zone='" & Dr존.code & "'"), DSR.최대냉난방부하Row())
|
|
|
|
If i_count_month = 0 Then
|
|
d_op_mth = 0
|
|
Else
|
|
d_op_mth = CInt(Dr프로필("day" & Format(i_count_month, "00")))
|
|
End If
|
|
|
|
If t_h_max < TOSG(T, Drow최대(0).난방최대가동시간) * d_op_mth Then
|
|
t_h_max = CInt(TOSG(T, Drow최대(0).난방최대가동시간) * d_op_mth)
|
|
End If
|
|
If d_op_max_mth < d_op_mth Then
|
|
d_op_max_mth = d_op_mth
|
|
End If
|
|
'===================================================================================2010.2.21 수정
|
|
' End If
|
|
' End If
|
|
Next
|
|
|
|
'Q_vh_b = Sheets("" & i_count_month & "").Cells(19, 7 + i_count_zone)
|
|
'Q_vc_b = Sheets("" & i_count_month & "").Cells(21, 7 + i_count_zone)
|
|
'Q_vm_b = Sheets("" & i_count_month & "").Cells(23, 7 + i_count_zone)
|
|
|
|
|
|
'==========================================================================================================================================
|
|
' 가열유닛에 대한 사용에너지(3차 에너지)
|
|
' 외부 공조덕트가 없어서 Q_vh_d 는 0으로 적용
|
|
|
|
'Q_dot_V_H_max = V_dot_star_rho_L(c_p_L * (theta_ZUL_wi - theta_AUL_wi) - Delta_h_WRG) '(3.2.5-58)
|
|
'Q_dot_V_H_max = V_dot_star * rho_L(h_ZUL_wi - h_AUL_wi - Delta_h_WRG) '(3.2.5-57)
|
|
'b_VH_a = sigma1_12(b_VH_month) '(3.2.8-7)
|
|
'b_VH_mth = Q_vh_b / Q_dot_V_H_max '(3.2.8-6)
|
|
't_H_r = t_H_r_14_12h + (t_H_r_22_12h - t_H_r_14_12h) * (theta_V_mech - 14) / 8 '(3-B.1) theta_V_mech은 (3-C.1)
|
|
't_H_star_op_mth = t_H_r * b_VH_mth / b_VH_a '(3.2.8-5)
|
|
'Q_vh_d = f_vh_d * A_K_A * t_H_star_opo_mth '(3.2.8-10) f_vh_d=16W/m
|
|
|
|
'Q_vh_ce = (1 - eta_vh_ce) * Q_vh_b '(3.2.8-9) eta_vh_ce 는 1로 Q_vh_ce 는 0이 됨
|
|
'Q_h_star_b = Q_vh_b 'Q_h_star_b = Q_vh_b + Q_vh_ce + Q_vh_d '(3.2.8-2)
|
|
'==========================================================================================================================================
|
|
|
|
|
|
|
|
'==========================================================================================================================================
|
|
' 냉각 유닛에 대한 사용 에너지(3차 에너지)
|
|
' 외부 공조덕트가 없어서 Q_vc_d 는 0으로 적용
|
|
|
|
'Q_dot_V_C_max = V_dot_star * rho_L(h_AUL_so - h_ZUL_so - Delta_h_WRG) '(3.2.5-62)
|
|
'b_VC_a = sigma1_12(b_VC_month) '(3.2.8-13)
|
|
'b_VC_mth = Q_vc_b / Q_dot_V_C_max '(3.2.8-12)
|
|
't_C_r = (t_C_r_14_12h + (t_C_r_22_12h - t_C_r_14_12h) * (theta_V_mech - 14) / 8) * f_h_C '(3-B.2) theta_V_mech은 (3-C.1)
|
|
't_C_star_op_mth = t_C_r * b_VC_mth / b_VC_a '(3.2.8-11)
|
|
'Q_vc_d = f_vc_d * A_K_A * t_C_star_opo_mth '(3.2.8-10) f_vh_d=9W/m
|
|
'Q_vc_ce = (1 - eta_vc_ce) * Q_vc_b '(3.2.8-9) eta_vc_ce 는 1로 Q_vc_ce 는 0이 됨
|
|
|
|
'Q_c_star_b = Q_vc_b 'Q_c_star_b = Q_vc_b + Q_vc_ce + Q_vc_d '(3.2.8-8)
|
|
|
|
'==========================================================================================================================================
|
|
|
|
|
|
'가습
|
|
Q_m_star_b = Q_vm_b '(3.2.8-14)
|
|
|
|
|
|
' 실-냉방 냉열 공급
|
|
|
|
'Q_c_b = Sheets("" & i_count_month & "").Cells(7, 7 + i_count_zone)
|
|
|
|
Q_c_d = (1 - eta_c_d) * Q_c_b '(3.2.8-21) eta_c_d는 (Tab.7-8)
|
|
Q_c_ce = ((1 - eta_c_ce) + (1 - eta_c_ce_sens)) * Q_c_b '(3.2.5-20) eta_c_ce는(Tab.7-8), eta_c_ce_sens는 (Tab.7-7)
|
|
|
|
Q_c_outg = Q_c_b + Q_c_ce + Q_c_d + Q_c_s '(3.2.8-19)
|
|
|
|
|
|
|
|
'==========================================================================================================================================
|
|
' 실-냉방 2차 공기 송풍기의 전기에너지 요구량
|
|
' 추후 세부 변수 검토
|
|
|
|
'beta_c_i = beat_c_we = Q_c_b_we / (Q_c_max_res * t_c_op_we) '(2-D.7)
|
|
'beta_c_i = beta_c_nutz = Q_c_b_nutz / (Q_c_max_res * t_c_op_nutz)
|
|
't_c_i = t_mth_nutz = d_nutz * t_c_op_nutz '(2-D.8) t_c_i=t_mth_we=d_we*t_c_op_we
|
|
't_c_i = t_mth_i * beta_c_i / beta_c_grenz '(2-D.6)
|
|
't_c_op = t_c_NR + t_c_we '(2-D.5)
|
|
'Q_c_outg = Q_c_b + Q_c_ce + Q_c_d + Q_c_s '(3.2.8-19)
|
|
'Q_c_ce_aux = f_c_ce_aux * Q_c_outg * t_c_op / 1000 '(3.2.8-23) f_c_ce_aux 는 (Tab.3.93)
|
|
Q_c_ce_aux = f_c_ce_aux * Q_c_outg * t_h_max / 1000
|
|
|
|
|
|
'==========================================================================================================================================
|
|
|
|
|
|
|
|
|
|
'공조-냉방 냉열 공급
|
|
|
|
Q_c_star_d = (1 - eta_c_star_d) * Q_c_star_b '(3.2.8-18) eta_c_star_d는 (Tab.3.91)
|
|
Q_c_star_ce = ((1 - eta_c_star_ce) + (1 - eta_c_star_ce_sens)) * Q_c_star_b '(3.2.8-16) eta_c_star_ce는 (Tab.3.91), eta_c_star_ce_sens는 (Tab.3.91)
|
|
|
|
Q_c_star_outg = Q_c_star_b + Q_c_star_ce + Q_c_star_d + Q_c_star_s '(3.2.8-15)
|
|
Q_z_star_outg_l = Q_c_star_outg
|
|
|
|
|
|
' 공조기기 가습에 필요한 생산기의 이용열 교부
|
|
|
|
|
|
'Q_m_star_d = 0
|
|
'Q_m_star_ce = 0
|
|
'Q_m_star_b = Q_vm_b '(3.2.8-14)
|
|
Q_m_star_outg = Q_m_star_b 'Q_m_star_outg = Q_m_star_b + Q_m_star_ce + Q_m_star_d '(3.2.8-24)
|
|
|
|
|
|
Q_c_outg_total = Q_c_outg + Q_c_star_outg
|
|
|
|
Q_z_outg_l = Q_c_outg_total
|
|
|
|
|
|
|
|
'==================================================================================================================================
|
|
'==================================================================================================================================
|
|
'지열시스템
|
|
|
|
Dim CRenew As New CRenewableOD
|
|
If dr냉방.연결된시스템.Trim <> "" AndAlso dr냉방.연결된시스템 <> "0" AndAlso dr냉방.연결된시스템 <> "(없음)" Then ' 시스템연결" Then
|
|
Dim Dr신재생 As DS.tbl_newRow = CType(DSET1.tbl_new.Select("code='" & dr냉방.연결된시스템 & "' and code <> '0'")(0), DS.tbl_newRow)
|
|
'//연결되었을시에는
|
|
Select Case Dr신재생.기기종류.Trim
|
|
Case "태양열" '//태양열
|
|
Case "태양광" '//태양광
|
|
Case "지열" '//지열
|
|
Select Case Dr신재생.가동연료.Trim
|
|
Case "전기" '전기"
|
|
CRenew.Calc_HeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
|
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
|
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
|
use_Elec = use_Elec + Q_c_f_hp + Q_c_g_hp_aux
|
|
Case "천연가스" '천연가스"
|
|
CRenew.Calc_HeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
|
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
|
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
|
use_LNG = use_LNG + Q_c_f_hp
|
|
use_Elec = use_Elec + Q_c_g_hp_aux
|
|
Case "액화가스" '액화가스"
|
|
CRenew.Calc_HeatpumpSystem(system_type, i_HeatCool, Dr신재생, Q_c_outg_total, i_count_month, d_op_max_mth, t_h_max, theta_VA, theta_i, Q_hp_outg, Q_c_f_hp, Q_c_g_hp_aux)
|
|
Q_c_outg_total = Q_c_outg_total - Q_hp_outg
|
|
Q_c_f = Q_c_f + Q_c_f_hp + Q_c_g_hp_aux
|
|
use_LPG = use_LPG + Q_c_f_hp
|
|
use_Elec = use_Elec + Q_c_g_hp_aux
|
|
End Select
|
|
Case "열병합" '//열병합
|
|
|
|
End Select
|
|
End If
|
|
|
|
'==================================================================================================================================
|
|
'==================================================================================================================================
|
|
|
|
EER = TOSG(T, dr냉방.열성능비) ' Dr냉방.열성능비
|
|
Q_dot_c_outg = TOSG(T, dr냉방.냉동기용량) * TOSG(T, dr냉방.대수) ' dr냉방.냉동기용량
|
|
|
|
If (Q_dot_c_outg * t_h_max) = 0 Then
|
|
k_n = 0 '//170515
|
|
Else
|
|
k_n = Q_c_outg_total / (Q_dot_c_outg * t_h_max)
|
|
End If
|
|
|
|
|
|
If k_n > 1 Then k_n = 1
|
|
|
|
k_n_index = 100 ' 조건에 없는 압축방식에서 에러 발생 유도함
|
|
|
|
Select Case dr냉방.냉동기방식 'Dr냉방.냉동기방식
|
|
Case "압축식", "압축식(LNG)" '압축식"
|
|
T_W_1_i = 32
|
|
Select Case dr냉방.냉동기종류 ' Dr냉방.냉동기종류
|
|
|
|
Case "수냉식" '수냉식"
|
|
k_n_index = 7
|
|
f_2_av = 1
|
|
|
|
|
|
Case "공냉식" '공냉식"
|
|
k_n_index = 4
|
|
f_2_av = 1
|
|
|
|
Case "히트펌프"
|
|
k_n_index = 4
|
|
f_2_av = 1
|
|
|
|
|
|
End Select
|
|
'//이부분정확히 살펴보아야할듯
|
|
If k_n = 0 Then k_n = 0.001 ' 부분부하율이 0일 경우 부분부하를 0에서 0.1구간으로 설정
|
|
'Dim Drow부분부하() As DS.tbl_buhaRow = DSET1.tbl_buha.Rows(k_n_index) '.Select("code='" & Format(9 - Int((1 - k_n) * 10), "00") & "'")
|
|
|
|
If k_n_index >= 100 Then
|
|
Log.AppendLine("냉방기기(" & dr냉방.설명 & ")의 냉동기방식(" & dr냉방.냉동기방식.Trim & ")에따른 종류를 확인할 수 없습니다")
|
|
Exit For 'Return
|
|
Else
|
|
f_1_av = TOSG(T, DSET1.tbl_buha.Rows(k_n_index)(CInt(9 - Int((1 - k_n) * 10) + 2))) ' Worksheets("부분부하율").Range("냉동기부분부하율1").Offset(k_n_index, 9 - Int((1 - k_n) * 10))
|
|
End If
|
|
|
|
PLV_av = f_1_av * f_2_av
|
|
If dr냉방.냉동기방식 = "압축식" Then
|
|
Q_c_f_elektr = Q_c_outg_total / (EER * PLV_av)
|
|
'======================================================================= 2010.10.5 추가
|
|
ElseIf dr냉방.냉동기방식 = "압축식(LNG)" Then
|
|
Q_c_outg_therm = Q_c_outg_total / (EER * PLV_av)
|
|
use_LNG = use_LNG + Q_c_outg_therm
|
|
'======================================================================= 2010.10.5 추가
|
|
End If
|
|
If (dr냉방.냉동기방식 = "압축식" Or dr냉방.냉동기방식 = "압축식(LNG)") And dr냉방.냉동기종류 = "수냉식" Then 'If Dr냉방.냉동기방식 = "압축식" And Dr냉방.냉동기종류 = "수냉식" Then
|
|
Q_dot_R_outg = Q_dot_c_outg * (1 + 1 / EER)
|
|
l_min_i = TOSG(T, 1.2103 - 0.0162 * (theta_e - 5)) '건구온도에서 -5도로 습구온도 설정 20180901
|
|
'f_R_av = (Log(1 - 0.5 / 0.8) * l_min_i / (Log(1 - 0.5 / 0.8) * 0.87)) ^ 2 ' 냉각탑 가동시간을 부분부하 25%이상이면 가동하는 것으로 계산 추후 수정
|
|
f_R_av = Q_c_outg_total * 4 / (Q_dot_c_outg * t_h_max) ' 냉각탑 가동시간을 부분부하 25%이상이면 가동하는 것으로 계산 추후 수정
|
|
If f_R_av > 1 Then f_R_av = 1 ' 냉각탑 가동시간을 부분부하 25%이상이면 가동하는 것으로 계산하고 최대가동시간 이하로 계산 추후 수정
|
|
|
|
|
|
'//170627 2348
|
|
Select Case dr냉방.증발식건식냉각기.Trim
|
|
Case "증발식(개방형)"
|
|
q_R_elektr = 0.018
|
|
Case "증발식(폐쇄형)"
|
|
q_R_elektr = 0.033
|
|
Case "건식"
|
|
q_R_elektr = 0.045
|
|
End Select
|
|
|
|
|
|
Q_c_f_R_elektr = Q_dot_R_outg * q_R_elektr * f_R_av * t_h_max
|
|
Else
|
|
Q_c_f_R_elektr = 0
|
|
End If
|
|
|
|
|
|
Case "흡수식" '흡수식"
|
|
Q_dot_R_outg = Q_dot_c_outg * (1 + 1 / EER)
|
|
T_W_1_i = 32
|
|
l_min_i = TOSG(T, 1.2103 - 0.0162 * (theta_e - 5)) '건구온도에서 -5도로 습구온도 설정 20180901
|
|
'f_R_av = (Log(1 - 0.5 / 0.8) * l_min_i / (Log(1 - 0.5 / 0.8) * 0.87)) ^ 2 ' 냉각탑 가동시간을 부분부하 25%이상이면 가동하는 것으로 계산 추후 수정
|
|
|
|
If (Q_dot_c_outg * t_h_max) = 0 Then
|
|
f_R_av = 0 '//170515
|
|
Else
|
|
f_R_av = Q_c_outg_total * 4 / (Q_dot_c_outg * t_h_max) ' 냉각탑 가동시간을 부분부하 25%이상이면 가동하는 것으로 계산 추후 수정
|
|
End If
|
|
|
|
If f_R_av > 1 Then f_R_av = 1 ' 냉각탑 가동시간을 부분부하 25%이상이면 가동하는 것으로 계산하고 최대가동시간 이하로 계산 추후 수정
|
|
|
|
'//170627 2348
|
|
Select Case dr냉방.증발식건식냉각기.Trim
|
|
Case "증발식(개방형)"
|
|
q_R_elektr = 0.018
|
|
Case "증발식(폐쇄형)"
|
|
q_R_elektr = 0.033
|
|
Case "건식"
|
|
q_R_elektr = 0.045
|
|
End Select
|
|
'q_R_elektr = 0.018
|
|
|
|
Q_c_f_R_elektr = Q_dot_R_outg * q_R_elektr * f_R_av * t_h_max
|
|
|
|
f_2_av = TOSG(T, 1.7174 - 0.0217 * T_W_1_i)
|
|
|
|
'//13번째줄
|
|
If k_n = 0 Then k_n = 0.01 ' 부분부하율이 0일 경우 부분부하를 0에서 0.1구간으로 설정
|
|
f_1_av = TOSG(T, DSET1.tbl_buha.Rows(13)(CInt(9 - Int((1 - k_n) * 10) + 2))) 'Worksheets("부분부하율").Range("냉동기부분부하율1").Offset(13, 9 - Int((1 - k_n) * 10))
|
|
PLV_av = f_1_av * f_2_av
|
|
|
|
|
|
|
|
Q_c_outg_therm = Q_c_outg_total / (EER * PLV_av)
|
|
|
|
|
|
Select Case dr냉방.사용연료.ToString
|
|
Case "난방유"
|
|
use_Oil = use_Oil + Q_c_outg_therm
|
|
Case "천연가스"
|
|
use_LNG = use_LNG + Q_c_outg_therm
|
|
Case "액화가스"
|
|
use_LPG = use_LPG + Q_c_outg_therm
|
|
Case "지역난방" '지역난방"
|
|
use_DH = use_DH + Q_c_outg_therm
|
|
|
|
Case Else
|
|
MsgBox("냉동기기(" & dr냉방.설명 & ")가 직화식이나 사용연료가 없습니다.확인바랍니다.", vbOKOnly, "총량 에너지 평가 프로그램(ECO_Lite)")
|
|
End Select
|
|
|
|
|
|
|
|
Case "지역냉방" '지역냉방"
|
|
'--------------------------------------------------------------------------------------------------2010.02.22 수정
|
|
use_DC = use_DC + Q_c_outg_total
|
|
'--------------------------------------------------------------------------------------------------2010.02.22 수정
|
|
Q_c_outg_therm = Q_c_outg_total
|
|
|
|
End Select
|
|
|
|
Q_c_f = Q_c_f + Q_c_f_elektr + Q_c_f_R_elektr + Q_c_outg_therm + Q_c_g
|
|
use_Elec = use_Elec + Q_c_f_elektr + Q_c_f_R_elektr
|
|
|
|
'Console.WriteLine(String.Format("=>coolin mon={0}, gcf={1}, elect={2}", i_count_month, Q_c_f, use_Elec))
|
|
'log.debug(String.format("=>coolin mon=%s, gcf=%s, elect=%s", i_count_month, Q_c_f,use_Elec));
|
|
|
|
'// 냉수, 냉각수 분배
|
|
Q_dot_z = Q_dot_c_outg * (1 + 1 / EER) '(3.2.8-30)
|
|
P_d_hydr = 1
|
|
|
|
If dr냉방.냉동기종류 = "히트펌프" Then '//170627 2355
|
|
P_Pump = (TOSG(T, dr냉방.냉수펌프동력)) * 1000 'Worksheets("냉방분배시스템").Range("급수온도1").Offset(9, i_count_c_d - 1)
|
|
Else
|
|
P_Pump = (TOSG(T, dr냉방.냉수펌프동력) + TOSG(T, dr냉방.냉각수펌프동력)) * 1000 'Worksheets("냉방분배시스템").Range("급수온도1").Offset(9, i_count_c_d - 1)
|
|
End If
|
|
|
|
|
|
|
|
f_e = P_Pump / P_d_hydr '원래는 P_hydr '(3.2.8-37)
|
|
c_p1 = 0.75
|
|
c_p2 = 0.25
|
|
If Q_z_outg_l <> 0 Then
|
|
If (Q_dot_z * t_h_max) = 0 Then
|
|
beta_d_l = 0 '//170515
|
|
Else
|
|
beta_d_l = Q_z_outg_l / (Q_dot_z * t_h_max) '(3.2.8-34) t_d_l 을 t_h_max으로 사용
|
|
End If
|
|
|
|
If beta_d_l = 0 Then
|
|
e_d_l = 0
|
|
Else
|
|
e_d_l = f_e * (c_p1 + c_p2 / beta_d_l) '(3.2.8-36)
|
|
End If
|
|
|
|
|
|
W_d_hydr_l = P_d_hydr / 1000 * t_h_max * beta_d_l * f_Abgl '(3.2.8-27) t_d_l 을 t_h_max으로 사용
|
|
|
|
Q_z_aux_d_l = W_d_hydr_l * e_d_l '(3.2.8-26)
|
|
'Q_z_aux_d_a = sigma(Q_z_zux_d_l) '(3.2.8-25)
|
|
|
|
Q_c_aux = Q_c_aux + Q_z_aux_d_l
|
|
End If
|
|
|
|
|
|
|
|
'Console.WriteLine("loop 2")
|
|
|
|
End If '2
|
|
'Console.WriteLine("loop 1")
|
|
Next '1
|
|
|
|
|
|
|
|
'//계산결과 시트의 각 월에해당되는 곳에 데이터를 기록한다.
|
|
|
|
Result1o.E소요량(i_count_month).냉방 = Q_c_f
|
|
Result1o.E소요량(i_count_month).냉방보조 = Q_c_aux
|
|
|
|
use_Elec = use_Elec + Q_c_aux
|
|
|
|
Result1o.일차E소요량(i_count_month).냉방등유 = use_Oil
|
|
Result1o.일차E소요량(i_count_month).냉방LNG = use_LNG
|
|
Result1o.일차E소요량(i_count_month).냉방LPG = use_LPG
|
|
Result1o.일차E소요량(i_count_month).냉방지역난방열 = use_DH
|
|
'--------------------------------------------------------------------------------------------------2010.02.22 수정
|
|
Result1o.일차E소요량(i_count_month).냉방지역냉방열 = use_DC
|
|
'--------------------------------------------------------------------------------------------------2010.02.22 수정
|
|
Result1o.일차E소요량(i_count_month).냉방전력 = use_Elec
|
|
|
|
End Sub
|
|
End Class
|