Beispiel #1
0
 def test_BlackOil_model_vba_preset(self):
     pressure_bar = 20
     temp_c = 80
     blackoil_option_vba = BlackOil_model.BlackOil_option()
     blackoil_option_vba.set_vba_preset()
     fluid_model = BlackOil_model.Fluid(option=blackoil_option_vba)
     fluid_model.calc(pressure_bar, temp_c)
     sum = 0
     for i in fluid_model.__dict__.items():
         if type(i[-1]) != type((BlackOil_model.BlackOil_option())):
             sum += i[-1]
     self.assertAlmostEqual(sum, 12781.243876576445,
                            delta=0.0001)
Beispiel #2
0
 def test_BlackOil_option(self):
     option = BlackOil_model.BlackOil_option()
     sum = 0
     for i in option.__dict__.items():
         sum += i[-1]
     self.assertAlmostEqual(sum, 0,
                            delta=0.0001)
Beispiel #3
0
 def test_calc_all_from_up_to_down_vba_fluid_simple_line_for_t(self):
     bo_option = BlackOil_model.BlackOil_option()
     bo_option.set_vba_preset()
     self_flow_well_object = self_flow_well_module.self_flow_well(
         fluid=1, temp_corr=1)
     self_flow_well_object.pipe.fluid_flow.fl.option = bo_option
     self_flow_well_object.calc_all_from_up_to_down()
     p_bottomhole_bar = self_flow_well_object.p_bottomhole_bar
     t_bottomhole_c = self_flow_well_object.t_bottomhole_c
     sum_p_t = p_bottomhole_bar + t_bottomhole_c
     self.assertAlmostEquals(sum_p_t, 180.81140510126218, delta=0.00000001)
Beispiel #4
0
 def test_calc_all_from_down_to_up_vba_fluid_simple_line_for_t(self):
     bo_option = BlackOil_model.BlackOil_option()
     bo_option.set_vba_preset()
     self_flow_well_object = self_flow_well_module.self_flow_well(
         fluid=1, temp_corr=1)
     self_flow_well_object.pipe.fluid_flow.fl.option = bo_option
     self_flow_well_object.calc_all_from_down_to_up()
     t_wellhead_c = self_flow_well_object.t_wellhead_c
     p_wellhead_bar = self_flow_well_object.p_wellhead_bar
     sum_p_t = t_wellhead_c + p_wellhead_bar
     self.assertAlmostEquals(sum_p_t, 127.54691770355993, delta=0.00000001)
Beispiel #5
0
 def test_BlackOil_model(self):
     pressure_bar = 100
     temp_c = 80
     fluid_flow = BlackOil_model.Fluid()
     fluid_flow.calc(pressure_bar, temp_c)
     sum = 0
     for i in fluid_flow.__dict__.items():
         if type(i[-1]) != type((BlackOil_model.BlackOil_option())):
             sum += i[-1]
     self.assertAlmostEqual(sum, 13144.511219057467,
                            delta=0.0001)
Beispiel #6
0
 def test_BlackOil_model(self):
     pressure_bar = 100
     temp_c = 80
     fluid_model = BlackOil_model.Fluid()
     fluid_model.calc(pressure_bar, temp_c)
     sum = 0
     for i in fluid_model.__dict__.items():
         if type(i[-1]) != type((BlackOil_model.BlackOil_option())):
             sum += i[-1]
     self.assertAlmostEqual(sum, 13330.58601414152,
                            delta=0.0001)
Beispiel #7
0
import pandas as pd
import uniflocpy.uWell.Self_flow_well as self_flow_well
import uniflocpy.uPVT.BlackOil_model as bom


blackoil_option = bom.BlackOil_option()
blackoil_option.set_vba_preset()

def calc_well_with_one_parameter(data):

    object_class, all_parameters_dict, defined_range, parameter_name_to_iterate, parameter_name_to_extract,\
        parameter_name_to_fill, parameter_value_to_fill = data
    result_i = []
    result_parameter = []
    for i in defined_range:
        this_dict = all_parameters_dict
        this_dict[parameter_name_to_iterate] = i
        this_object = object_class(**this_dict)
        this_object.pipe.fluid_flow.fl.option = blackoil_option
        this_object.pipe.fluid_flow.calc_with_temp_cor = 0
        this_object.calc_all_from_up_to_down()
        result_i.append(i)
        result_parameter.append(this_object.__dict__[parameter_name_to_extract])
    one_df = pd.DataFrame({f"{parameter_name_to_extract} при {parameter_name_to_fill} = {parameter_value_to_fill}":
                               result_parameter}, index=result_i)
    one_df.index.name = parameter_name_to_iterate
    return one_df
    "gamma_gas": gamma_gas,
    "gamma_wat": gamma_water,
    "rsb_m3m3": rsb_m3m3,
    "t_res_c": t_res_c
}

keywords_vba = {
    "t_C": t_c,
    "gamma_gas": gamma_gas,
    "gamma_oil": gamma_oil,
    "gamma_wat": gamma_water,
    "rsb_m3m3": rsb_m3m3,
    "tres_C": t_res_c
}  #проверено, улетают свойства газа (из-за z), st oil-gas, mu_wate

blackoil_option = BlackOil_model.BlackOil_option()
blackoil_option.b_wat_cor_number = 1
blackoil_option.mu_wat_cor_number = 1
blackoil_option.rho_wat_cor_number = 1
blackoil_option.z_cor_number = 1
blackoil_option.pseudocritical_temperature_cor_number = 1
blackoil_option.pseudocritical_pressure_cor_number = 1
blackoil_option.rho_gas_cor_number = 1
blackoil_option.b_gas_cor_number = 1
blackoil_option.mu_dead_oil_cor_number = 2
blackoil_option.sigma_oil_gas_cor_number = 2
blackoil_option.sigma_wat_gas_cor_number = 1

python_fluid = BlackOil_model.Fluid(**keywords_python, option=blackoil_option)

BlackOil_model_db = data_workflow.Data()