<jupyter_start><jupyter_text><NAME>. <NAME>. 2019 г. Режимы течения в концетрическом затрубеИсточник: <NAME>. Modeling downhole natural separation : дис. – The University of Tulsa, 2004.Механистическая модель Caetano (1992) определения режимов течения в затрубном пространстве вертикальной скважиныВ данной модели выделяются следующие режимы течения:* Пузырьковый* Пробковый или эмульсионный* Дисперсно-пузырьковый* Кольцевой<jupyter_code>import sys
sys.path.append('../')
import uniflocpy.uMultiphaseFlow.friction_Bratland as FB
import uniflocpy.uMultiphaseFlow.flow_pattern_annulus_Caetano as FPA
import uniflocpy.uMultiphaseFlow.natural_separation as NS
import uniflocpy.uPVT.PVT_fluids as PVT
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
from plotly import tools
import uniflocpy.uTools.data_workflow as tool
init_notebook_mode(connected=True)
import math
annular = FPA.flow_pattern_annulus_Caetano()
fluid_flow = PVT.FluidFlow()
flow_data = tool.Data()
pattern_data = tool.Data()
p_bar = 40
t_c = 60 
fluid_flow.calc(p_bar, t_c)
annular.surface_tension_gl_Nm = fluid_flow.sigma_liq_Nm
annular.rho_liq_kgm3 = fluid_flow.rho_liq_kgm3
annular.rho_gas_kgm3 = fluid_flow.fl.rho_gas_kgm3
annular.rho_mix_kgm3 = fluid_flow.rhon_kgm3
annular.mu_mix_pasec = fluid_flow.mun_cP / 10 ** 3
annular.d_cas_in_m = 0.140
annular.d_tube_out_m = 0.100
vs_gas_msec = fluid_flow.vsg_msec
vs_liq_msec = fluid_flow.vsl_msec
annular.calc_pattern(vs_liq_msec, vs_gas_msec)
vsl_big = []
vsg_big = []
pattern_big = []
for k in range(1,1000,10):
    vs_liq_msec=k/100
    data_pattern = []
    vs_gas_msec_list = []
    vs_liq_msec_list = []
    for i in range(1,500):
        vs_gas_msec = i/100
        data_pattern.append(annular.calc_pattern(vs_liq_msec, vs_gas_msec))
        if len(vsl_big)==0:
            vs_gas_msec_list.append(vs_gas_msec)
    vsl_big.append(vs_liq_msec)
    vsg_big.append(vs_gas_msec_list)
    pattern_big.append(data_pattern)
    
trace2 = go.Heatmap(z=pattern_big, x = vsg_big[0], y = vsl_big, colorbar = dict(
            title = 'Режим',
            tick0 =  0,
            dtick = 1,
            titleside = 'top',
            tickmode = 'array',
            tickvals = [0, 1, 2, 3],
            ticktext = ['Пузырьковый','Дисперсно-пузырьковый','Пробковый', 'Кольцевой'],
            ticks = 'outside'
        ))

data2=[trace2]


layout = dict(title =  'Карта течения флюидов в концентрическом затрубе',
              yaxis=dict(title='Приведенная скорость жидкости, м/с', type='log',autorange=True),
              xaxis=dict(title='Приведенная скорость газа, м/с',type='log')
             )
fig = dict(data=data2, layout=layout)

iplot(fig, filename='basic-scatter')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10021629416005767, 'fraction_numerical': 0.022710886806056235, 'mean_word_length': 4.235849056603773, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '226369', 'license': 'MIT', 'n_tokens_mistral': 1163, 'n_tokens_neox': 1170, 'n_words': 196, 'path': 'notebooks/uMultiphaseFlow. Annular flow pattern.ipynb', 'repo_name': 'khabibullinra/unifloc', 'size': '2790'}