def calc_p_in_annulus_for_scipy(p_bar, h_m, p_wellhead_bar, t_wellhead_c, gamma_gas, t_bottomhole_c, h_bottomhole_m): p_mean_bar = (p_bar + p_wellhead_bar) / 2 t_mean_c = (t_wellhead_c + calc_t_in_annulus( h_m, t_wellhead_c, t_bottomhole_c, h_bottomhole_m)) / 2 t_mean_k = (uconst.c2k(t_wellhead_c) + uconst.c2k( calc_t_in_annulus(h_m, t_wellhead_c, t_bottomhole_c, h_bottomhole_m))) / 2 z_mean = calc_z_in_annulus(gamma_gas, t_mean_c, p_mean_bar) # print(p_mean_bar, t_mean_c, z_mean) p_wellhead_mpa = uconst.bar2MPa(p_wellhead_bar) # print(z_mean) power = (0.03415 * gamma_gas * h_m) / (z_mean * t_mean_k) # print(power) p_new_mpa = p_wellhead_mpa * np.exp(power) p_new_bar = p_new_mpa * 10 return (p_new_bar - p_bar)**2
def calc_z_in_annulus(gamma_gas, t_c, p_bar): gamma_gas = float(gamma_gas) t_c = float(t_c) p_bar = float(p_bar) t_k = uconst.c2k(t_c) p_mpa = uconst.bar2MPa(p_bar) tpc_k = PVT.unf_pseudocritical_temperature_Standing_K(gamma_gas) ppc_mpa = PVT.unf_pseudocritical_pressure_Standing_MPa(gamma_gas) #z = PVT.unf_z_factor_Kareem(t_k/tpc_k, p_mpa/ppc_mpa) z = PVT.unf_zfactor_DAK_ppr(p_mpa / ppc_mpa, t_k / tpc_k) return z
def calc(self, p_bar, t_c): """ Расчет свойств нефти на основе набора корреляций McCain расчитанные значения хранятся в соответствующих атрибутах класса :param p_bar: давление, бар :param t_c: температура, С :return: 1 - если все свойства успешно были посчитаны """ super().calc(p_bar, t_c) # подготовим внутренние переменные для расчетов p_MPaa = uc.bar2MPa(self.p_bar) pbcal_MPaa = uc.bar2MPa(self.pbcal_bar) t_K = uc.c2k(self.t_c) # найдем значение давления насыщения по Valko McCain pb_MPaa = PVT.unf_pb_Valko_MPaa(self.rsb_m3m3, self.gamma_oil, self.gamma_gas, t_K) self._pb_bar = uc.MPa2bar(pb_MPaa) # TODO необходимо будет сделать калибровку при любом P,T любого свойства if pbcal_MPaa > 0: p_fact = pb_MPaa / pbcal_MPaa # сдвигаем шкалу по давлению для расчета, если задана калибровка p_MPaa = p_fact * p_MPaa self._pb_bar = self._pb_bar/p_fact # внутри rs есть проверка на давление насыщения self._rs_m3m3 = PVT.unf_rs_Velarde_m3m3(p_MPaa, pb_MPaa, self.rsb_m3m3, self.gamma_oil, self.gamma_gas, t_K) co_1MPa = PVT.unf_compressibility_oil_VB_1Mpa(self._rs_m3m3, t_K, self.gamma_oil, p_MPaa, self.gamma_gas) self._compr_oil_1bar = uc.compr_1mpa_2_1bar(co_1MPa) # внутри rho есть проверка на давление насыщения self._rho_oil_kgm3 = PVT.unf_density_oil_Mccain(p_MPaa, pb_MPaa, co_1MPa, self._rs_m3m3, self.gamma_gas, t_K, self.gamma_oil, self.gamma_gassp) # оценим значение объемного коэффициента # оценим значение объемного коэффициента при давлении насыщения self._bob_m3m3 = PVT.unf_fvf_Mccain_m3m3_below(self.rho_oil_stkgm3, self.rsb_m3m3, self._rho_oil_kgm3, self.gamma_gas) if p_MPaa > pb_MPaa: self._bo_m3m3 = PVT.unf_fvf_VB_m3m3_above(self._bob_m3m3, co_1MPa, pb_MPaa, p_MPaa) else: self._bo_m3m3 = PVT.unf_fvf_Mccain_m3m3_below(self.rho_oil_stkgm3, self._rs_m3m3, self._rho_oil_kgm3, self.gamma_gas) # проверим необходимость калибровки значения объемного коэффициента if self.bobcal_m3m3 > 0: b_fact = (self.bobcal_m3m3 - 1) / (self._bob_m3m3 - 1) self._bo_m3m3 = b_fact * self._bo_m3m3 # оценим значение вязкости self._mu_deadoil_cP = PVT.unf_deadoilviscosity_Beggs_cP(self.gamma_oil, t_K) self._muob_cP = PVT.unf_saturatedoilviscosity_Beggs_cP(self._mu_deadoil_cP, self.rsb_m3m3) self._mu_oil_cP = PVT.unf_oil_viscosity_Beggs_VB_cP(self._mu_deadoil_cP, self._rs_m3m3, p_MPaa, pb_MPaa) if self.muobcal_cP > 0: mu_fact = self.muobcal_cP / self._muob_cP self._mu_oil_cP = mu_fact * self._mu_oil_cP # gas tpc_K = PVT.unf_pseudocritical_temperature_K(self.gamma_gas, self.y_h2s, self.y_co2, self.y_n2) ppc_MPa = PVT.unf_pseudocritical_pressure_MPa(self.gamma_gas, self.y_h2s, self.y_co2, self.y_n2) self._z = PVT.unf_zfactor_DAK(p_MPaa, t_K, ppc_MPa, tpc_K) self._mu_gas_cP = PVT.unf_gasviscosity_Lee_cP(t_K, p_MPaa, self._z, self.gamma_gas) self._bg_m3m3 = PVT.unf_gas_fvf_m3m3(t_K, p_MPaa, self._z) self._compr_gas_1bar = uc.compr_1mpa_2_1bar(PVT.unf_compressibility_gas_Mattar_1MPa(p_MPaa, t_K, ppc_MPa, tpc_K)) self._rho_gas_kgm3 = PVT.unf_gas_density_kgm3(t_K, p_MPaa, self.gamma_gas, self._z) # water # TODO НУЖНО ДОБАВИТЬ GWR self._rho_wat_kgm3 = PVT.unf_density_brine_Spivey_kgm3(t_K, p_MPaa, self.s_ppm, self.par_wat) self._compr_wat_1bar = uc.compr_1mpa_2_1bar(PVT.unf_compressibility_brine_Spivey_1MPa(t_K, p_MPaa, self.s_ppm, self._z, self.par_wat)) self._bw_m3m3 = PVT.unf_fvf_brine_Spivey_m3m3(t_K, p_MPaa, self.s_ppm) self._mu_wat_cP = PVT.unf_viscosity_brine_MaoDuan_cP(t_K, p_MPaa, self.s_ppm) return 1
def calc(self, p_bar, t_c): """ Расчет свойств нефти на основе набора корреляций Standing расчитанные значения хранятся в соответствующих атрибутах класса :param p_bar: давление, бар :param t_c: температура, С :return: 1 - если все свойства успешно были посчитаны """ super().calc(p_bar, t_c) # подготовим внутренние переменные для расчетов p_MPaa = uc.bar2MPa(self.p_bar) pbcal_MPaa = uc.bar2MPa(self.pbcal_bar) t_K = uc.c2k(self.t_c) # oil # найдем значение давления насыщения по Standing pb_MPaa = PVT.unf_pb_Standing_MPaa(self.rsb_m3m3, self.gamma_oil, self.gamma_gas, t_K) self._pb_bar = uc.MPa2bar(pb_MPaa) # TODO необходимо будет сделать калибровку при любом P,T любого свойства if pbcal_MPaa > 0: p_fact = pb_MPaa / pbcal_MPaa # сдвигаем шкалу по давлению для расчета, если задана калибровка p_MPaa = p_fact * p_MPaa self._pb_bar = self._pb_bar / p_fact # внутри rs есть проверка на давление насыщения self._rs_m3m3 = PVT.unf_rs_Standing_m3m3(p_MPaa, pb_MPaa, self.rsb_m3m3, self.gamma_oil, self.gamma_gas, t_K) co_1MPa = PVT.unf_compressibility_oil_VB_1Mpa(self._rs_m3m3, t_K, self.gamma_oil, p_MPaa, self.gamma_gas) self._compr_oil_1bar = uc.compr_1mpa_2_1bar(co_1MPa) # оценим значение объемного коэффициента # оценим значение объемного коэффициента при давлении насыщения self._bob_m3m3 = PVT.unf_fvf_Standing_m3m3_saturated(self.rsb_m3m3, self.gamma_gas, self.gamma_oil, t_K) if p_MPaa > pb_MPaa: self._bo_m3m3 = PVT.unf_fvf_VB_m3m3_above(self._bob_m3m3, co_1MPa, pb_MPaa, p_MPaa) else: self._bo_m3m3 = PVT.unf_fvf_Standing_m3m3_saturated(self._rs_m3m3, self.gamma_gas, self.gamma_oil, t_K) # проверим необходимость калибровки значения объемного коэффициента if self.bobcal_m3m3 > 0: b_fact = (self.bobcal_m3m3 - 1) / (self._bob_m3m3 - 1) self._bo_m3m3 = b_fact * self._bo_m3m3 self._rho_oil_kgm3 = PVT.unf_density_oil_Standing(p_MPaa, pb_MPaa, co_1MPa, self._rs_m3m3, self._bo_m3m3, self.gamma_gas, self.gamma_oil) # оценим значение вязкости self._mu_dead_oil_cP = PVT.unf_deadoilviscosity_Beggs_cP(self.gamma_oil, t_K) self._muob_cP = PVT.unf_saturatedoilviscosity_Beggs_cP(self._mu_dead_oil_cP, self.rsb_m3m3) self._mu_oil_cP = PVT.unf_oil_viscosity_Beggs_VB_cP(self._mu_dead_oil_cP, self._rs_m3m3, p_MPaa, pb_MPaa) if self.muobcal_cP > 0: mu_fact = self.muobcal_cP / self._muob_cP self._mu_oil_cP = mu_fact * self._mu_oil_cP # определим термодинамические свойства нефти self._heatcap_oil_jkgc = PVT.unf_heat_capacity_oil_Gambill_JkgC(self.gamma_oil, self.t_c) self._thermal_conduct_oil_wmk = PVT.unf_thermal_conductivity_oil_Cragoe_WmK(self.gamma_oil, self.t_c) # gas tpc_K = PVT.unf_pseudocritical_temperature_K(self.gamma_gas, self.y_h2s, self.y_co2, self.y_n2) ppc_MPa = PVT.unf_pseudocritical_pressure_MPa(self.gamma_gas, self.y_h2s, self.y_co2, self.y_n2) self._z = PVT.unf_zfactor_DAK(p_MPaa, t_K, ppc_MPa, tpc_K) self._mu_gas_cP = PVT.unf_gasviscosity_Lee_cP(t_K, p_MPaa, self._z, self.gamma_gas) self._bg_m3m3 = PVT.unf_gas_fvf_m3m3(t_K, p_MPaa, self._z) self._compr_gas_1bar = uc.compr_1mpa_2_1bar(PVT.unf_compressibility_gas_Mattar_1MPa(p_MPaa, t_K, ppc_MPa, tpc_K)) self._rho_gas_kgm3 = PVT.unf_gas_density_kgm3(t_K, p_MPaa, self.gamma_gas, self._z) # определим термодинамические свойства газа self._heatcap_gas_jkgc = PVT.unf_heat_capacity_gas_Mahmood_Moshfeghian_JkgC(p_MPaa, t_K, self.gamma_gas) self._thermal_conduct_gas_wmk = PVT.unf_thermal_conductivity_gas_methane_WmK(self.t_c) # water # TODO НУЖНО проверить GWR self._rho_wat_kgm3 = PVT.unf_density_brine_Spivey_kgm3(t_K, p_MPaa, self.s_ppm, self.par_wat) self._compr_wat_1bar = uc.compr_1mpa_2_1bar(PVT.unf_compressibility_brine_Spivey_1MPa(t_K, p_MPaa, self.s_ppm, self._z, self.par_wat)) self._bw_m3m3 = PVT.unf_fvf_brine_Spivey_m3m3(t_K, p_MPaa, self.s_ppm) self._mu_wat_cP = PVT.unf_viscosity_brine_MaoDuan_cP(t_K, p_MPaa, self.s_ppm) self._rsw_m3m3 = PVT.unf_gwr_brine_Spivey_m3m3(self.s_ppm, self._z) # определим термодинамические свойства воды self._heatcap_wat_jkgc = PVT.unf_heat_capacity_water_IAPWS_JkgC(self.t_c) self._thermal_conduct_wat_wmk = PVT.unf_thermal_conductivity_water_IAPWS_WmC(self.t_c) self._thermal_expansion_wat_1c = PVT.unf_thermal_expansion_coefficient_water_IAPWS_1C(self.t_c) # определим свойства системы self._sigma_oil_gas_Nm = PVT.unf_surface_tension_go_Baker_Swerdloff_Nm(t_K, self.gamma_oil, p_MPaa) self._sigma_wat_gas_Nm = PVT.unf_surface_tension_gw_Sutton_Nm(self.rho_wat_kgm3, self.rho_gas_kgm3, self.t_c) return 1
def calc(self, p_bar, t_c): self.p_bar = p_bar self.t_c = t_c self.t_k = uc.c2k(self.t_c) self.p_mpa = uc.bar2MPa(self.p_bar) self.t_res_k = uc.c2k(self.t_res_c) if self.activate_rus_cor == 0: # нормальный расчет по UniflocVBA # oil # давление насыщения нефти self.pb_mpa = self._calc_pb_MPaa(self.option.pb_cor_number) self.pb_bar = uc.MPa2bar(self.pb_mpa) pbcal_MPaa = uc.bar2MPa(self.pb_cal_bar) if pbcal_MPaa > 0: p_fact = self.pb_mpa / pbcal_MPaa # сдвигаем шкалу по давлению для расчета, если задана калибровка self.p_mpa = p_fact * self.p_mpa self.pb_bar = self.pb_bar / p_fact # газосодержание self.rs_m3m3 = self._calc_rs_m3m3(self.option.rs_cor_number) # коэффициент изотермической сжимаемости if self.p_mpa >= self.pb_mpa: self.compr_oil_1mpa = self._calc_compr_oil_1mpa( self.option.compr_oil_cor_number) else: #self.compr_oil_1mpa = self._calc_compr_oil_below_pb_1mpa(self.option.compr_oil_below_pb_cor_number) self.compr_oil_1mpa = 0 self.compr_oil_1bar = uc.compr_1mpa_2_1bar(self.compr_oil_1mpa) # объемный коэффициент self.b_oil_b_m3m3 = self._calc_b_oil_in_pb_m3m3( self.option.b_oil_in_pb_cor_number) if self.p_mpa > self.pb_mpa: self.b_oil_m3m3 = self._calc_b_oil_above_pb_m3m3( self.option.b_oil_above_pb_cor_number) else: self.b_oil_m3m3 = self._calc_b_oil_below_pb_m3m3( self.option.b_oil_below_pb_cor_number) if self.b_oil_b_cal_m3m3 > 0: b_fact = (self.b_oil_b_cal_m3m3 - 1) / (self.b_oil_b_m3m3 - 1) self.b_oil_m3m3 = b_fact * self.b_oil_m3m3 # плотность нефти self.rho_oil_kgm3 = self._calc_rho_oil_kgm3( self.option.rho_oil_cor_number) # вязкость self.mu_dead_oil_cp = self._calc_mu_dead_oil_cp( self.option.mu_dead_oil_cor_number) self.mu_oil_b_cP = self._calc_mu_oil_in_pb_cp( self.option.mu_oil_pb_cor_number) self.mu_oil_cp = self._calc_mu_oil_any_p_cp( self.option.mu_oil_any_p_cor_number) if self.mu_oil_b_cal_cp > 0: mu_fact = self.mu_oil_b_cal_cp / self.mu_oil_b_cP self.mu_oil_cp = mu_fact * self.mu_oil_cp else: # расчет по Мищенко if self.true_rsb_m3t: self.rsb_m3t = self.rsb_m3m3 * 10**3 * 273 / 293 / ( self.gamma_oil * 1000) else: self.rsb_m3t = self.rsb_m3m3 / self.gamma_oil #c этой штукой расчет получше self.pb_mpa = pvt_rus.calc_pb(self.pb_bar_for_rus_cor / 10, self.gamma_oil * 1000, self.rsb_m3t, self.t_res_k, self.t_k, self.y_ch4, self.y_n2) self.pb_bar = uc.MPa2bar(self.pb_mpa) self.mt = pvt_rus.coef_mt(self.t_k, self.gamma_oil * 1000, self.gamma_gas) self.rp = pvt_rus.coef_rp(self.p_mpa, self.pb_mpa) self.dt = pvt_rus.coef_dt(self.t_k, self.gamma_oil * 1000, self.gamma_gas) self.gas_liberated_m3t, self.gas_dissolved_m3t = pvt_rus.unf_calc_gas_liberated_and_dissolved( self.t_k, self.gamma_oil * 1000, self.gamma_oil, self.gamma_gas, self.p_mpa, self.pb_mpa, self.rsb_m3t, False) # self.gas_liberated_m3m3, self.rs_m3m3 = pvt_rus.unf_calc_gas_liberated_and_dissolved( self.t_k, self.gamma_oil * 1000, self.gamma_oil, self.gamma_gas, self.p_mpa, self.pb_mpa, self.rsb_m3t, True) if self.p_mpa > self.pb_mpa: if self.gas_dissolved_m3t_fixed != None and self.rs_m3m3_fixed != None: self.gas_liberated_m3t, self.gas_dissolved_m3t = 0, self.gas_dissolved_m3t_fixed #73.23 self.gas_liberated_m3m3, self.rs_m3m3 = 0, self.rs_m3m3_fixed # 63.01 self.rho_gas_liberated_d = pvt_rus.rho_gas_liberated_relative( self.p_mpa, self.pb_mpa, self.gamma_gas, self.gamma_oil, self.t_k, self.rsb_m3t) self.rho_gas_dissolved_relative_d = pvt_rus.unf_rho_gas_dissolved_relative( self.rsb_m3t, self.gamma_oil, self.gamma_gas, self.gas_liberated_m3t, self.gas_dissolved_m3t, self.rho_gas_liberated_d, self.p_mpa, self.pb_mpa, self.t_k) self.b_oil_m3m3 = pvt_rus.unf_b_oil_below_pb_m3m3( self.t_k, self.p_mpa, self.gamma_oil, self.gamma_gas, self.rho_gas_dissolved_relative_d, self.rho_gas_liberated_d, self.gas_dissolved_m3t) self.rho_oil_kgm3 = pvt_rus.unf_rho_oil_kgm3( self.gamma_oil, self.rho_gas_dissolved_relative_d, self.gas_dissolved_m3t, self.t_k, self.gamma_gas, self.b_oil_m3m3) self.mu_dead_oil_293_cp = pvt_rus.unf_mu_dead_oil_293_cp( self.gamma_oil) self.mu_dead_oil_t_cp = pvt_rus.unf_mu_dead_oil_t_cp( self.mu_dead_oil_293_cp, self.t_k, self.gamma_oil) self.mu_oil_below_pb_cp = pvt_rus.unf_mu_oil_below_pb_cp( self.mu_dead_oil_t_cp, self.gas_dissolved_m3t, self.gamma_oil) self.mu_oil_cp = self.mu_oil_below_pb_cp self.sigma_oil_gas_nm = pvt_rus.unf_sigma_oil_gas_nm( self.p_mpa, self.t_k, self.gamma_gas) # теплоемкость self.heatcap_oil_jkgc = self._calc_heatcap_oil_jkgc( self.option.heatcap_oil_cor_number) # теплопроводность self.thermal_conduct_oil_wmk = self._calc_thermal_conduct_oil_wmk( self.option.thermal_conduct_oil_cor_number) # gas self.tpc_k = self._calc_pseudocritical_temperature_k( self.option.pseudocritical_temperature_cor_number) self.ppc_mpa = self._calc_pseudocritical_pressure_mpa( self.option.pseudocritical_pressure_cor_number) self.z = self._calc_zfactor(self.option.z_cor_number) self.mu_gas_cp = self._calc_mu_gas_cp(self.option.mu_gas_cor_number) self.b_gas_m3m3 = self._calc_b_gas_m3m3(self.option.b_gas_cor_number) self.compr_gas_1bar = self._calc_compr_gas_1bar( self.option.compr_gas_cor_number) self.rho_gas_kgm3 = self._calc_rho_gas_kgm3( self.option.rho_gas_cor_number) self.heatcap_gas_jkgc = self._calc_heatcap_gas_jkgc( self.option.heatcap_gas_cor_number) self.thermal_conduct_gas_wmk = self._calc_thermal_conduct_gas_wmk( self.option.thermal_conduct_gas_cor_number) # water self.b_wat_m3m3 = self._calc_b_wat_m3m3(self.option.b_wat_cor_number) self.rho_wat_kgm3 = self._calc_rho_wat_kgm3( self.option.rho_wat_cor_number) self.compr_wat_1bar = self._calc_compr_wat_1bar( self.option.compr_gas_cor_number) self.mu_wat_cp = self._calc_mu_wat_cp(self.option.mu_wat_cor_number) self.rsw_m3m3 = self._calc_rs_wat_m3m3(self.option.rs_wat_cor_number) self.heatcap_wat_jkgc = self._calc_heatcap_wat_jkgc( self.option.heatcap_wat_cor_number) self.thermal_conduct_wat_wmk = self._calc_thermal_conduct_wat_wmk( self.option.thermal_conduct_wat_cor_number) self.thermal_expansion_wat_1c = self._calc_thermal_expansion_wat_1c( self.option.thermal_expansion_wat_cor_number) # some system properties self.sigma_oil_gas_Nm = self._calc_sigma_oil_gas_nm( self.option.sigma_oil_gas_cor_number) self.sigma_wat_gas_Nm = self._calc_sigma_wat_gas_nm( self.option.sigma_wat_gas_cor_number)
def calc(self, p_bar, t_c): self.p_bar = p_bar self.t_c = t_c self.t_k = uc.c2k(self.t_c) self.p_mpa = uc.bar2MPa(self.p_bar) # oil # давление насыщения нефти self.pb_mpa = self._calc_pb_MPaa(self.option.pb_cor_number) self.pb_bar = uc.MPa2bar(self.pb_mpa) pbcal_MPaa = uc.bar2MPa(self.pb_cal_bar) if pbcal_MPaa > 0: p_fact = self.pb_mpa / pbcal_MPaa # сдвигаем шкалу по давлению для расчета, если задана калибровка self.p_mpa = p_fact * self.p_mpa self.pb_bar = self.pb_bar / p_fact # газосодержание self.rs_m3m3 = self._calc_rs_m3m3(self.option.rs_cor_number) # коэффициент изотермической сжимаемости self.compr_oil_1mpa = self._calc_compr_oil_1mpa( self.option.compr_oil_cor_number) self.compr_oil_1bar = uc.compr_1mpa_2_1bar(self.compr_oil_1mpa) # объемный коэффициент self.b_oil_b_m3m3 = self._calc_b_oil_in_pb_m3m3( self.option.b_oil_in_pb_cor_number) if self.p_mpa > self.pb_mpa: self.b_oil_m3m3 = self._calc_b_oil_above_pb_m3m3( self.option.b_oil_above_pb_cor_number) else: self.b_oil_m3m3 = self._calc_b_oil_below_pb_m3m3( self.option.b_oil_below_pb_cor_number) if self.b_oil_b_cal_m3m3 > 0: b_fact = (self.b_oil_b_cal_m3m3 - 1) / (self.b_oil_b_m3m3 - 1) self.b_oil_m3m3 = b_fact * self.b_oil_m3m3 # плотность нефти self.rho_oil_kgm3 = self._calc_rho_oil_kgm3( self.option.rho_oil_cor_number) # вязкость self.mu_dead_oil_cp = self._calc_mu_dead_oil_cp( self.option.mu_dead_oil_cor_number) self.mu_oil_b_cP = self._calc_mu_oil_in_pb_cp( self.option.mu_oil_pb_cor_number) self.mu_oil_cp = self._calc_mu_oil_any_p_cp( self.option.mu_oil_any_p_cor_number) if self.mu_oil_b_cal_cp > 0: mu_fact = self.mu_oil_b_cal_cp / self.mu_oil_b_cP self.mu_oil_cp = mu_fact * self.mu_oil_cp # теплоемкость self.heatcap_oil_jkgc = self._calc_heatcap_oil_jkgc( self.option.heatcap_oil_cor_number) # теплопроводность self.thermal_conduct_oil_wmk = self._calc_thermal_conduct_oil_wmk( self.option.thermal_conduct_oil_cor_number) # gas self.tpc_k = self._calc_pseudocritical_temperature_k( self.option.pseudocritical_temperature_cor_number) self.ppc_mpa = self._calc_pseudocritical_pressure_mpa( self.option.pseudocritical_pressure_cor_number) self.z = self._calc_zfactor(self.option.z_cor_number) self.mu_gas_cp = self._calc_mu_gas_cp(self.option.mu_gas_cor_number) self.b_gas_m3m3 = self._calc_b_gas_m3m3(self.option.b_gas_cor_number) self.compr_gas_1bar = self._calc_compr_gas_1bar( self.option.compr_gas_cor_number) self.rho_gas_kgm3 = self._calc_rho_gas_kgm3( self.option.rho_gas_cor_number) self.heatcap_gas_jkgc = self._calc_heatcap_gas_jkgc( self.option.heatcap_gas_cor_number) self.thermal_conduct_gas_wmk = self._calc_thermal_conduct_gas_wmk( self.option.thermal_conduct_gas_cor_number) # water self.rho_wat_kgm3 = self._calc_rho_wat_kgm3( self.option.rho_wat_cor_number) self.compr_wat_1bar = self._calc_compr_wat_1bar( self.option.compr_gas_cor_number) self.b_wat_m3m3 = self._calc_b_wat_m3m3(self.option.b_wat_cor_number) self.mu_wat_cp = self._calc_mu_wat_cp(self.option.mu_wat_cor_number) self.rsw_m3m3 = self._calc_rs_wat_m3m3(self.option.rs_wat_cor_number) self.heatcap_wat_jkgc = self._calc_heatcap_wat_jkgc( self.option.heatcap_wat_cor_number) self.thermal_conduct_wat_wmk = self._calc_thermal_conduct_wat_wmk( self.option.thermal_conduct_wat_cor_number) self.thermal_expansion_wat_1c = self._calc_thermal_expansion_wat_1c( self.option.thermal_expansion_wat_cor_number) # some system properties self.sigma_oil_gas_Nm = self._calc_sigma_oil_gas_Nm( self.option.sigma_oil_gas_cor_number) self.sigma_wat_gas_Nm = self._calc_sigma_wat_gas_Nm( self.option.sigma_wat_gas_cor_number)