<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Mech. Eng.</journal-id>
<journal-title>Frontiers in Mechanical Engineering</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Mech. Eng.</abbrev-journal-title>
<issn pub-type="epub">2297-3079</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1522120</article-id>
<article-id pub-id-type="doi">10.3389/fmech.2025.1522120</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Mechanical Engineering</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Machine learning technique for the identification of two-phase (oil-water) flow patterns through pipelines</article-title>
<alt-title alt-title-type="left-running-head">Uribe-Tarazona et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fmech.2025.1522120">10.3389/fmech.2025.1522120</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Uribe-Tarazona</surname>
<given-names>Daniel Yesid</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3120638/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Ruiz-Diaz</surname>
<given-names>Carlos Mauricio</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2939749/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Gonz&#xe1;lez-Estrada</surname>
<given-names>Octavio Andr&#xe9;s</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2738777/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Mechanical Engineering</institution>, <institution>Universidad Industrial de Santander</institution>, <addr-line>Bucaramanga</addr-line>, <country>Colombia</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Industrial Multiphase Flow Laboratory (LEMI)</institution>, <institution>Mechanical Engineering Department</institution>, <institution>S&#xe3;o Carlos School of Engineering (ESSC)</institution>, <institution>University of S&#xe3;o Paulo</institution>, <addr-line>S&#xe3;o Carlos</addr-line>, <country>Brazil</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/87700/overview">Eric Josef Ribeiro Parteli</ext-link>, University of Duisburg-Essen, Germany</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/467709/overview">Asc&#xe2;nio Dias Ara&#xfa;jo</ext-link>, Federal University of Ceara, Brazil</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1957388/overview">Anda&#xe7; Batur &#xc7;olak</ext-link>, Ni&#x11f;de &#xd6;mer Halisdemir University, T&#xfc;rkiye</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2003223/overview">Hanyu Xie</ext-link>, Southwest Petroleum University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Octavio Andr&#xe9;s Gonz&#xe1;lez-Estrada, <email>agonzale@uis.edu.co</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>09</day>
<month>07</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>11</volume>
<elocation-id>1522120</elocation-id>
<history>
<date date-type="received">
<day>03</day>
<month>11</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>06</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Uribe-Tarazona, Ruiz-Diaz and Gonz&#xe1;lez-Estrada.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Uribe-Tarazona, Ruiz-Diaz and Gonz&#xe1;lez-Estrada</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>This study develops a robust machine learning model based on artificial neural networks to classify six flow patterns in oil-water two-phase flow within horizontal pipelines, a key aspect for ensuring operational efficiency, integrity, and cost-effective design in the oil and gas industry. A database comprising 1,846 experimental data points was assembled from the literature, encompassing various operating conditions, including fluid properties, superficial velocities, and pipe diameters. After evaluating 104 network configurations, the optimal model was selected, achieving an overall accuracy of 95.4%, with training, validation, and testing accuracies of 97.1%, 92.8%, and 90.3%, respectively, and a cross-entropy error of 0.024. The model demonstrated rapid convergence with a training time of only 2 s, making it a reliable and computationally efficient tool for flow pattern recognition. The outcomes of this study provide significant value for improving pipeline design, optimizing flow assurance strategies, enhancing corrosion control, and supporting real-time operational decision-making in multiphase transport systems in the oil and gas industry.</p>
</abstract>
<kwd-group>
<kwd>artificial neural network</kwd>
<kwd>flow pattern recognition</kwd>
<kwd>machine learning</kwd>
<kwd>two-phase flow</kwd>
<kwd>fluid transport</kwd>
</kwd-group>
<contract-num rid="cn001">VIE-3714 VIE-3716 VIE-3913</contract-num>
<contract-sponsor id="cn001">Universidad Industrial de Santander<named-content content-type="fundref-id">10.13039/501100009087</named-content>
</contract-sponsor>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Fluid Mechanics</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The oil and gas industry has increasingly prioritized the development of advanced technologies for the accurate monitoring and characterization of multiphase flows, which involve the simultaneous movement of two or more phases, such as liquid, gas, or solid. These flows may involve immiscible substances (e.g., oil and water) or different phases of the same component (e.g., steam and liquid water) transported through a pipeline (<xref ref-type="bibr" rid="B16">D&#xed;az et al., 2021</xref>; <xref ref-type="bibr" rid="B6">Al-Naser et al., 2016</xref>). Accurate identification of flow patterns in horizontal pipes is essential across petrochemical and fluid transport operations, as it enables better system design, enhances operational efficiency, and reduces costs (<xref ref-type="bibr" rid="B5">Alhashem, 2020</xref>; <xref ref-type="bibr" rid="B49">Soot, 1970</xref>). Proper flow pattern recognition also aids in mitigating corrosion and erosion by optimizing chemical dosing strategies, ultimately extending the lifespan of pipeline infrastructure and minimizing maintenance (<xref ref-type="bibr" rid="B7">Al-Sarkhi et al., 2017</xref>). Furthermore, flow patterns strongly influence heat transfer, pressure drop, and phase distribution parameters critical for the safe and efficient operation of industrial processes (<xref ref-type="bibr" rid="B34">Osundare et al., 2020</xref>).</p>
<p>Flow patterns describe the spatial arrangement of immiscible phases within a conduit and are determined by variables such as superficial velocities, fluid properties, pipe geometry, and operating conditions (<xref ref-type="bibr" rid="B18">El and -Sebakhy, 2010</xref>). While traditional identification techniques such as high-speed imaging, wire-mesh sensors (WMS), and gamma-ray densitometry have provided valuable insights under controlled laboratory conditions (<xref ref-type="bibr" rid="B24">Hern&#xe1;ndez-Cely and Ruiz-Diaz, 2020</xref>; <xref ref-type="bibr" rid="B31">Lum et al., 2006</xref>; <xref ref-type="bibr" rid="B52">Wang et al., 2024</xref>; <xref ref-type="bibr" rid="B4">Abduvayt et al., 2004</xref>; <xref ref-type="bibr" rid="B10">Cai et al., 2012</xref>; <xref ref-type="bibr" rid="B15">Dasari et al., 2013</xref>), their practical application in real-time industrial environments remains limited. High instrumentation costs, complex calibration procedures, and the need for expert interpretation hinder scalability and automation (<xref ref-type="bibr" rid="B19">Figueiredo et al., 2016</xref>; <xref ref-type="bibr" rid="B35">Perera et al., 2017</xref>; <xref ref-type="bibr" rid="B50">Su et al., 2024</xref>).</p>
<p>In recent years, Artificial Neural Networks (ANNs) have emerged as a promising approach for multiphase flow analysis. Unlike empirical correlations and mechanistic models that require predefined physical assumptions, ANNs can learn complex, nonlinear relationships directly from data. This makes them particularly suitable for classifying flow patterns in highly dynamic and heterogeneous systems, such as oil-water mixtures in horizontal pipelines. ANNs offer multiple advantages: they are inherently scalable, require no predefined assumptions about flow regime transitions, and can be integrated into autonomous monitoring systems for continuous operation (<xref ref-type="bibr" rid="B12">Chimeno-Trinchet et al., 2020</xref>; <xref ref-type="bibr" rid="B9">Bahrami et al., 2019</xref>; <xref ref-type="bibr" rid="B40">Roshani et al., 2014</xref>). Their adaptability to new data enables rapid recalibration under changing conditions, a key asset in the context of real-world operations (<xref ref-type="bibr" rid="B37">Qin et al., 2021</xref>; <xref ref-type="bibr" rid="B17">Du et al., 2019</xref>).</p>
<p>Multiple studies have demonstrated the effectiveness of data-driven models in improving predictive accuracy in multiphase flow systems. For example, <xref ref-type="bibr" rid="B27">Huang et al. (2024)</xref> applied Support Vector Machine (SVM), Random Forest (RF), and an enhanced K-Nearest Neighbor model (KNN) for regime classification in small modular reactors, while <xref ref-type="bibr" rid="B51">Sun et al. (2025)</xref> employed a particle swarm-optimized ANN to predict core-annular oil-water flow, outperforming conventional models in terms of accuracy and generalization. <xref ref-type="bibr" rid="B14">&#xc7;olak (2025)</xref> reported a high-fidelity neural model for predicting waxy crude oil viscosity with a correlation coefficient of 0.9985. These works confirm the capacity of neural architectures to capture underlying physical dynamics even in complex, nonlinear environments. Despite these advances, limitations remain&#x2014;especially the limited availability of large, well-labeled datasets and the interpretability of ANN models, which are often viewed as black-box systems (<xref ref-type="bibr" rid="B47">Shirley et al., 2012</xref>; <xref ref-type="bibr" rid="B54">Xu et al., 2021</xref>).</p>
<p>To address these issues, recent studies have explored hybrid techniques that combine ANNs with radiation-based sensing or advanced signal processing (<xref ref-type="bibr" rid="B41">Roshani et al., 2021</xref>; <xref ref-type="bibr" rid="B44">Salgado et al., 2010</xref>). Deep learning architectures, such as Transformer Neural Networks and Long Short-Term Memory (LSTM) models, have also been applied to multiphase systems, achieving improved performance in flow pattern recognition and volume fraction estimation (<xref ref-type="bibr" rid="B42">Ruiz-D&#xed;az et al., 2024a</xref>; <xref ref-type="bibr" rid="B26">Hern&#xe1;ndez-Salazar et al., 2024</xref>). However, most of these approaches either target gas&#x2013;liquid systems or rely on small or highly specific datasets, limiting their generalizability to oil-water flow conditions.</p>
<p>This study addresses a critical gap in the current literature related to the accurate predictive modeling of oil-water flow patterns in horizontal pipelines using machine learning. While previous studies have often relied on limited datasets or focused on specific flow regimes, this work integrates the most comprehensive and diverse experimental database reported to date for oil-water systems. A machine learning model based on ANNs was developed to classify six distinct flow patterns, providing a robust, scalable, and generalizable tool for flow pattern recognition. This approach aims to support more reliable flow assurance, pipeline design, and operational decision-making in the oil and gas industry, by addressing limitations associated with traditional empirical correlations and mechanistic models.</p>
</sec>
<sec sec-type="materials|methods" id="s2">
<title>2 Materials and methods</title>
<sec id="s2-1">
<title>2.1 Database structuring</title>
<p>The database used for training, validation, and testing of the ANN was compiled from experimental studies on oil&#x2013;water two-phase flow in horizontal pipes, incorporating data from 11 published works and totaling 1,846 experimental points (<xref ref-type="fig" rid="F1">Figure 1</xref>).</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Distribution of data points by author.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g001.tif">
<alt-text content-type="machine-generated">Bar graph displaying the number of citations or instances for various authors over different years. Grassi (2013) has the highest count at five hundred thirty-six, while Rodriguez (2006) has the lowest at forty-three. Other authors include Al-Sarkhi (2017), Dasari (2013), and Shi (2017), with varying counts.</alt-text>
</graphic>
</fig>
<p>
<xref ref-type="table" rid="T1">Table 1</xref> summarizes the main characteristics of the studies included in the database. Flow pattern data were extracted from flow regime maps reported in the selected studies. The extracted variables include superficial water velocities (<inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) between 0.01097 and 3.7193&#xa0;m/s, superficial oil velocities <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> between 0.01044 and 3.0392&#xa0;m/s, mixture velocity <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> between 0.02631 and 5.4714&#xa0;m/s and fluid volume fractions of oil <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and water (<inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. Other important characteristics included in the data collection to characterize the fluid are oil viscosity <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#xb5;</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> between 0.00188 and 5.6&#xa0;Pa <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mo>&#xb7;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> s, oil density (<inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>O</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> from 800 to 910&#xa0;kg/m<sup>3</sup>, and pipe internal diameter (<italic>D</italic>) between 1.9 and 10.64&#xa0;cm.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Characteristics of the experimental database on horizontal pipelines by authors.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Authors</th>
<th align="center">Internal pipe diameter <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Pipe material</th>
<th align="center">Oil viscosity (<inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Water viscosity (<inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Oil density <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Water density <inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Presented flow pattern nomenclature</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<xref ref-type="bibr" rid="B4">Abduvayt et al. (2004)</xref>
</td>
<td align="center">0.1064</td>
<td align="center">Acrylic</td>
<td align="center">0.00188</td>
<td align="center">0.00072</td>
<td align="center">800</td>
<td align="center">1,000</td>
<td align="left">ST-S, O/TP &#x26; W, ST-WD/O &#x26; OD/W, ST-WD/O &#x26; W, SR-WD/O &#x26; W, ThO/TP &#x26; FDO/W, DW/O &#x26; W, FD W/O &#x26; FDO/W</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B7">Al-Sarkhi et al. (2017)</xref>
</td>
<td align="center">0.0508<break/>0.0508</td>
<td align="center">Plexiglass</td>
<td align="center">0.013<break/>0.0288</td>
<td align="center">0.00097<break/>0.00097</td>
<td align="center">858.5<break/>884</td>
<td align="center">994<break/>1,037</td>
<td align="left">ST, ST-MI, SW<break/>ST, ST-MI</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B1">A et al. (2014)</xref>
</td>
<td align="center">0.019<break/>0.0254</td>
<td align="center">Acrylic</td>
<td align="center">0.012<break/>0.012</td>
<td align="center">0.001<break/>0.001</td>
<td align="center">875<break/>875</td>
<td align="center">998<break/>998</td>
<td align="left">AN, Bb, Dw/o, DC, Do/w, ST.</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B10">Cai et al. (2012)</xref>
</td>
<td align="center">0.1</td>
<td align="center">Stainless steel</td>
<td align="center">0.002</td>
<td align="center">0.000898</td>
<td align="center">825</td>
<td align="center">997</td>
<td align="left">Dispersed W/O, semi-dispersed W/O, Smooth stratified, stratified with globules, Stratified with mixing layer</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B15">Dasari et al. (2013)</xref>
</td>
<td align="center">0.025</td>
<td align="center">Perspex</td>
<td align="center">0.107</td>
<td align="center">0.001</td>
<td align="center">889</td>
<td align="center">1,000</td>
<td align="left">Do/w, Dw/o, P, S, SM, SW</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B22">Grassi et al. (2008)</xref>
</td>
<td align="center">0.021</td>
<td align="center">Polycarbonate</td>
<td align="center">0.799</td>
<td align="center">0.0013</td>
<td align="center">886</td>
<td align="center">1,000</td>
<td align="left">AN, AN-o/w, Do/w, PL/SL, ST</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B28">Ibarra et al. (2015)</xref>
</td>
<td align="center">0.032</td>
<td align="center">Acrylic</td>
<td align="center">0.0054</td>
<td align="center">0.0009</td>
<td align="center">825</td>
<td align="center">998</td>
<td align="left">D, D owandw, DC, ST, SWD</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B32">Montoya et al. (2009)</xref>
</td>
<td align="center">0.0445</td>
<td align="center">Plexiglass</td>
<td align="center">0.0884</td>
<td align="center">0.000898</td>
<td align="center">884</td>
<td align="center">1,000</td>
<td align="left">Do/w and w, o/w, ST, ST &#x26; MI</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B33">N&#xe4;dler and Mewes (1997)</xref>
</td>
<td align="center">0.059</td>
<td align="center">Perspex</td>
<td align="center">0.027</td>
<td align="center">0.001053</td>
<td align="center">850</td>
<td align="center">998</td>
<td align="left">w/o &#x26; W, O/W, SM, ST, W &#x26; o/w, W/O, w/o-o/w &#x26; W</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B39">Rodriguez and Oliemans (2006)</xref>
</td>
<td align="center">0.0828</td>
<td align="center">Stainless steel</td>
<td align="center">0.00717</td>
<td align="center">0.00076</td>
<td align="center">831.4</td>
<td align="center">1,070</td>
<td align="left">Do/w and w, Dw/o &#x26; Do/w, o/w, ST, ST &#x26; MI, w/o</td>
</tr>
<tr>
<td align="center">
<xref ref-type="bibr" rid="B46">Shi and Yeung (2017)</xref>
<break/> <xref ref-type="bibr" rid="B45">Shi et al. (2017)</xref>
</td>
<td align="center">0.026<break/>0.026</td>
<td align="center">Perspex<break/>Perspex</td>
<td align="center">5.6<break/>5</td>
<td align="center">0.001235<break/>0.001002</td>
<td align="center">910<break/>910</td>
<td align="center">999<break/>997</td>
<td align="left">Core flow, Dispersed oil lumps, Oil plugs<break/>Core annular flow, Oil lumps, Oil plugs</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2-2">
<title>2.2 Liquid-liquid two-phase flow patterns in horizontal pipes</title>
<p>In the experimental studies reviewed, various flow patterns typically associated with oil-water two-phase flow in horizontal pipelines were identified. These include stratified flow (ST), stratified with mixture (ST &#x26; MI), slug flow (S), annular flow (AN), oil-in-water dispersion (Do/w), and water-in-oil dispersion (Dw/o). However, a notable inconsistency was observed in the terminology used across different studies to describe similar or equivalent flow regimes, which may lead to confusion in data interpretation and modeling. To address this, flow patterns exhibiting analogous physical characteristics were grouped under unified nomenclature, as shown in <xref ref-type="fig" rid="F2">Figures 2</xref>, <xref ref-type="fig" rid="F3">3</xref>. The groupings are as follows:<list list-type="simple">
<list-item>
<p>&#x2022; Annular Flow (AN): This category includes flow regimes such as Annular Flow (AN) and Annular Core Flow and Oil-in-Water Dispersion (AN-o/w).</p>
</list-item>
<list-item>
<p>&#x2022; Oil-in-Water Dispersion (Do/w): This group comprises Dispersion of Oil in Water (Do/w), Thin Oil Layer at the Top of the Pipe and Fine Oil Dispersion in Water (ThO/TP &#x26; FDO/W), Dispersion of Oil in Water and Water (Do/w &#x26; w), Layers of Water-in-Oil and Oil-in-Water with Water (w/o&#x2013;o/w, w), and Oil-in-Water Emulsion (O/W).</p>
</list-item>
<list-item>
<p>&#x2022; Slug Flow (S): This includes Plug (P), Slug (S), Bubble (Bb), and Dispersed Oil Lumps (Oil Lumps).</p>
</list-item>
<list-item>
<p>&#x2022; Dispersion of Water in Oil (Dw/o): This grouping includes Dispersion of Water in Oil (Dw/o), Fine Water in Oil and Fine Oil in Water Dispersions (FD W/O &#x26; FDO/W), Dispersion of Water in Oil and Water (W/O &#x26; W), and Unstable Water-in-Oil Emulsion (W/O).</p>
</list-item>
<list-item>
<p>&#x2022; Stratified Flow (ST): This category encompasses Stratified (ST), Oil at the Top of the Pipe and Water (O/TP &#x26; W), and Wavy Stratified Flow (SW).</p>
</list-item>
<list-item>
<p>&#x2022; Stratified Flow with Mixture (ST &#x26; MI): This includes Stratified with Mixing Layer (ST &#x26; MI), Stratified with Water Droplets in Oil and Water (SR-WD/O &#x26; W), Stratified with Water Droplets in Oil and Oil Droplets in Water (ST-WD/O &#x26; OD/W), and Dual Continuous (DC) flow patterns.</p>
</list-item>
</list>
</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Grouping of flow pattern nomenclatures: annular flow, dispersion of oil in water flow, and slug flow.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g002.tif">
<alt-text content-type="machine-generated">Diagram illustrating various flow patterns in pipeline fluids. The first section, &#x22;Annular Flow,&#x22; shows an annular core flow with oil in water dispersion. The second section, &#x22;Dispersion of Oil in Water Flow,&#x22; depicts different dispersions and emulsions, including thin oil layers and layered flows. The third section, &#x22;Slug Flow,&#x22; displays plug, slug, and bubble formations, along with dispersed oil lumps. Each diagram is labeled with its specific flow type.</alt-text>
</graphic>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Grouping of flow pattern nomenclatures: dispersion of water in oil flow, stratified flow, stratified flow with mixture.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g003.tif">
<alt-text content-type="machine-generated">Illustration showing different types of water and oil flow patterns. Top section: water dispersed in oil, including fine dispersions and unstable emulsions. Middle section: stratified flow types, showing oil on top, and wavy patterns. Bottom section: stratified flow with mixtures, featuring mixing layers, water droplets in oil, oil droplets in water, and dual continuous flow.</alt-text>
</graphic>
</fig>
<p>Flow pattern transitions are influenced by superficial velocities and fluid properties. For low superficial velocities of both phases, the flow pattern is stratified (ST) with complete separation of the two fluids. As the oil velocity <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:mfenced open="(" close="" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>) increases, it begins to sweep the water, causing ripples at the interface and leading to a wavy stratified flow pattern.</p>
<p>Further increases in <inline-formula id="inf15">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, intensify the interfacial instability, causing wave break-up and dispersion of water droplets within the oil phase, resulting in the Dw/o pattern. Conversely, increasing the superficial water velocity <inline-formula id="inf16">
<mml:math id="m16">
<mml:mrow>
<mml:mfenced open="(" close="" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>) from the wavy stratified state gives rise to stratified with mixture (ST &#x26; MI), characterized by an interfacial emulsion of oil and water droplets. With continued increases in <inline-formula id="inf17">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the flow evolves into Do/w &#x26; w and eventually a uniform oil-in-water dispersion (Do/w).</p>
<p>At lower oil velocities, the wavy interface occasionally touches the upper wall, forming a plug or slug flow pattern with irregular, deformed plug shapes. Sometimes, this appears as larger, elongated droplets or clusters of irregular droplets.</p>
<p>Analysis of the compiled experimental database reveals correlations between flow pattern occurrence, pipe diameter, and fluid viscosity. In pipes with diameters equal to or greater than 0.032&#xa0;m up to 0.1064&#xa0;m, the flow pattern categories observed are Do/w, Dw/o, ST, and ST &#x26; MI. In contrast, smaller diameter pipes (0.019&#x2013;0.032&#xa0;m) also exhibit annular (AN) and slug (S) flow patterns.</p>
<p>Fluids with high viscosity (5 and 5.6&#xa0;Pa&#xb7;s) in pipes with the smallest diameters (0.026&#xa0;m) only exhibited AN and S patterns. Similarly, in fluids with the next highest viscosity (0.799&#xa0;Pa&#xb7;s) and a pipe diameter of 0.021&#xa0;m, the same flow regimes were observed. These findings suggest that high-viscosity fluids in narrower pipes are more likely to produce annular and slug flow patterns.</p>
<p>After the flow pattern nomenclatures were consolidated into six categories based on the nature of the observed flow, <xref ref-type="table" rid="T2">Table 2</xref> presents the distribution of the 1,846 experimental data points compiled from the literature.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Distribution of data points obtained according to the flow pattern.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Flow pattern</th>
<th align="center">A</th>
<th align="center">D w/o</th>
<th align="center">D o/w</th>
<th align="center">S</th>
<th align="center">ST</th>
<th align="center">ST &#x26; MI</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Number of data points</td>
<td align="center">169</td>
<td align="center">285</td>
<td align="center">379</td>
<td align="center">185</td>
<td align="center">430</td>
<td align="center">398</td>
</tr>
<tr>
<td align="left">% of Data points</td>
<td align="center">9.15%</td>
<td align="center">15.44%</td>
<td align="center">20.53%</td>
<td align="center">10.02%</td>
<td align="center">23.29%</td>
<td align="center">21.56%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The variables obtained from the literature to structure the database are: superficial water velocity (<inline-formula id="inf18">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), superficial oil velocity (<inline-formula id="inf19">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), mixture velocity (<inline-formula id="inf20">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), pipe diameter (<italic>D</italic>), oil viscosity <inline-formula id="inf21">
<mml:math id="m21">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#xb5;</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>, water volumetric fraction (<inline-formula id="inf22">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), oil volumetric fraction (<inline-formula id="inf23">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) and oil density (<inline-formula id="inf24">
<mml:math id="m24">
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>O</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Superficial velocity is an important parameter when injecting fluids into a pipe, and it plays a fundamental role in forming flow patterns. The superficial velocity of a phase is the volumetric flow rate of the phase, which represents the volumetric flow rate per unit area. In other words, the superficial velocity of a phase is the velocity that would occur if that phase of the respective substance flowed through the pipe alone (<xref ref-type="bibr" rid="B48">Shoham, 2005</xref>). Thus, the superficial velocities of the liquid phases of water (<inline-formula id="inf25">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) and oil (<inline-formula id="inf26">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) are respectively calculated with <xref ref-type="disp-formula" rid="e1">Equations 1</xref>, <xref ref-type="disp-formula" rid="e2">2</xref>:<disp-formula id="e1">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
<disp-formula id="e2">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf27">
<mml:math id="m29">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the cross-sectional area of the pipe, <inline-formula id="inf28">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the volume flow rate of the water, and <inline-formula id="inf29">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the volume flow rate of the oil. The velocity of the mixture is the total volumetric flow rate of both phases per unit area, which is called the center-of-volume velocity and is given by <xref ref-type="disp-formula" rid="e3">Equation 3</xref>
<disp-formula id="e3">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>o</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>The water volume fraction (<inline-formula id="inf30">
<mml:math id="m33">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) is the fraction of a volume element in a two-phase flow field occupied by the liquid phase of water, and the oil volume fraction (<inline-formula id="inf31">
<mml:math id="m34">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) corresponding to the fraction of a volume element in a two-phase flow field occupied by the liquid phase of oil, are calculated with <xref ref-type="disp-formula" rid="e4">Equations 4</xref>, <xref ref-type="disp-formula" rid="e5">5</xref>:<disp-formula id="e4">
<mml:math id="m35">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m36">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>It should be remembered that the sum of the volume fraction of water and the volume fraction of oil results in 1. Adding <xref ref-type="disp-formula" rid="e4">Equations 4</xref>, <xref ref-type="disp-formula" rid="e5">5</xref> gives <xref ref-type="disp-formula" rid="e6">Equation 6</xref>:<disp-formula id="e6">
<mml:math id="m37">
<mml:mrow>
<mml:mfrac>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>An alternative way to calculate the volume fraction of the oil is defined in <xref ref-type="disp-formula" rid="e7">Equation 7</xref>:<disp-formula id="e7">
<mml:math id="m38">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-3">
<title>2.3 Data pre-processing</title>
<p>In machine learning, complex nonlinear processes present a great diversity in the dimensionality of inputs and outputs and the size of the dataset. The complexity of neural network models and the computational load increase significantly with data dimensionality (<xref ref-type="bibr" rid="B55">Zhao et al., 2023</xref>). To address this problem, the dimensionality of the data should be reduced without compromising the modeling accuracy. Order reduction techniques are divided into supervised or unsupervised selection. In labeled data sets, supervised selection reveals the importance of features through correlation with the target variable and between subsets of variables (<xref ref-type="bibr" rid="B53">Xie et al., 2023</xref>). Supervised selection includes feature extraction and feature selection methods. Traditional extraction methods, such as partial least squares and principal component analysis (PCA), create new features in a low-dimensional space, keeping most of the relevant information, but may lack physical interpretability. Initially, we considered using this method to reduce the dimension of the database, but due to the lack of physical interpretability obtained, we chose to look for another method. On the other hand, feature selection methods choose a subset of the original features highly correlated with the system output and more interpretable, so this method was preferred. Feature selection techniques are classified into envelope, filter, and intrinsic methods. The filter method is selected, which is generally used as data preprocessing (<xref ref-type="bibr" rid="B23">Guyon and De, 2003</xref>), which selects variables based on statistical features, such as Pearson&#x2019;s correlation, to evaluate the relationship between input variables and choose the most relevant ones (<xref ref-type="bibr" rid="B30">Liu et al., 2022</xref>).</p>
<sec id="s2-3-1">
<title>2.3.1 Normalization</title>
<p>To train the network, it is essential to homogenize the information that will be used as input for the machine learning model. This provides the network with precise data that allows for the prediction of the relationship between the supplied variables and the pattern.</p>
<p>For this reason, a normalization of the input variables was performed within defined limits of 0&#x2013;1. Normalization is defined as a rescaling of the original data such that it falls within a specific range (<xref ref-type="bibr" rid="B43">Ruiz-D&#xed;az et al., 2024b</xref>). The input vector of the network, which contains the variables <inline-formula id="inf32">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf33">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf34">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf35">
<mml:math id="m42">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf36">
<mml:math id="m43">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <italic>D,</italic> <inline-formula id="inf37">
<mml:math id="m44">
<mml:mrow>
<mml:mi>&#xb5;</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf38">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>O</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, is normalized using <xref ref-type="disp-formula" rid="e8">Equation 8</xref>:<disp-formula id="e8">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>z</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf39">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>z</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> corresponds to the normalized value that takes a value between 0 and 1, <inline-formula id="inf40">
<mml:math id="m48">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the specific value of the sample for the variable to be normalized, and <inline-formula id="inf41">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf42">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> correspond to the minimum and maximum values within the dataset for the variable being normalized.</p>
</sec>
<sec id="s2-3-2">
<title>2.3.2 Statistical metrics for evaluating correlation between variables</title>
<p>Once the values have been normalized, the most widely used statistical evaluation method for correlation is Pearson&#x2019;s correlation coefficient, which captures the linear relationship between two matrices (<xref ref-type="bibr" rid="B53">Xie et al., 2023</xref>). Two highly correlated variables may provide redundant information. In these cases, one of the correlated variables can be removed to simplify the process.</p>
<p>
<xref ref-type="disp-formula" rid="e9">Equation 9</xref> calculates Pearson&#x2019;s correlation coefficient between a feature <italic>(x)</italic> and a label <italic>(y)</italic> with n training examples.<disp-formula id="e9">
<mml:math id="m51">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf43">
<mml:math id="m52">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> y <inline-formula id="inf44">
<mml:math id="m53">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> are the means of the two vectors, respectively, the coefficient range is between &#x2212;1 and 1, where a value of zero implies no linear correlation. Values close to 1 and &#x2212;1 indicate positive and negative correlations, respectively.</p>
<p>
<xref ref-type="table" rid="T3">Table 3</xref> presents a correlation matrix between the input variables, showing the level of correlation between them to reduce redundancy by eliminating those with high dependence on each other.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Correlation matrix of input variables.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Input variables</th>
<th align="center">Vso [m/s]</th>
<th align="center">Vsw [m/s]</th>
<th align="center">Vm [m/s]</th>
<th align="center">Cw [-]</th>
<th align="center">Co [-]</th>
<th align="center">D [m]</th>
<th align="center">
<inline-formula id="inf45">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>O</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> [kg/m<sup>3</sup>]</th>
<th align="center">&#xb5;o [Pa.s]</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Vso [m/s]</td>
<td align="center">1,000</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="center">Vsw [m/s]</td>
<td align="center">0.053</td>
<td align="center">1.000</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="center">Vm [m/s]</td>
<td align="center">0.590</td>
<td align="center">0.837</td>
<td align="center">1.000</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="center">Cw [-]</td>
<td align="center">&#x2212;0.590</td>
<td align="center">0.542</td>
<td align="center">0.115</td>
<td align="center">1.000</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="center">Co [-]</td>
<td align="center">0.590</td>
<td align="center">&#x2212;0.542</td>
<td align="center">&#x2212;0.115</td>
<td align="center">&#x2212;1.000</td>
<td align="center">1.000</td>
<td align="left"/>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="center">D [m]</td>
<td align="center">0.196</td>
<td align="center">&#x2212;0.242</td>
<td align="center">&#x2212;0.088</td>
<td align="center">&#x2212;0.279</td>
<td align="center">0.279</td>
<td align="center">1.000</td>
<td align="left"/>
<td align="left"/>
</tr>
<tr>
<td align="center">&#x3c1;o [kg/m<sup>3</sup>]</td>
<td align="center">&#x2212;0.270</td>
<td align="center">0.111</td>
<td align="center">&#x2212;0.058</td>
<td align="center">0.296</td>
<td align="center">&#x2212;0.296</td>
<td align="center">&#x2212;0.799</td>
<td align="center">1.000</td>
<td align="left"/>
</tr>
<tr>
<td align="center">&#xb5;o [Pa.s]</td>
<td align="center">&#x2212;0.175</td>
<td align="center">0.022</td>
<td align="center">&#x2212;0.078</td>
<td align="center">0.195</td>
<td align="center">&#x2212;0.195</td>
<td align="center">&#x2212;0.167</td>
<td align="center">0.448</td>
<td align="center">1.000</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The qualitative interpretation of this property follows the suggestions of (<xref ref-type="bibr" rid="B13">Cohen, , 1988</xref>), which are widely accepted in the scientific community. <xref ref-type="table" rid="T4">Table 4</xref> shows the classification and interpretation of the magnitude of Pearson&#x2019;s correlation coefficient, applicable to any pair of variables. It considers the absolute value of the coefficient so that the magnitude is independent of the sign.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Interpretation of the magnitude of Pearson&#x2019;s correlation coefficient.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Range of values for <inline-formula id="inf46">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">Interpretation</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">
<inline-formula id="inf47">
<mml:math id="m56">
<mml:mrow>
<mml:mn>0.00</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf48">
<mml:math id="m57">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.10</td>
<td align="center">Null correlation</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf49">
<mml:math id="m58">
<mml:mrow>
<mml:mn>0.10</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf50">
<mml:math id="m59">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.30</td>
<td align="center">Weak correlation</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf51">
<mml:math id="m60">
<mml:mrow>
<mml:mn>0.30</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf52">
<mml:math id="m61">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.50</td>
<td align="center">Moderate correlation</td>
</tr>
<tr>
<td align="center">
<inline-formula id="inf53">
<mml:math id="m62">
<mml:mrow>
<mml:mn>0.50</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf54">
<mml:math id="m63">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 1.00</td>
<td align="center">Strong correlation</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For this work, one variable from each pair of evaluated variables showing a strong Pearson correlation (with a coefficient value greater than 0.8) was removed.</p>
<p>The water volumetric fraction (<inline-formula id="inf55">
<mml:math id="m64">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) and oil volumetric fraction (<inline-formula id="inf56">
<mml:math id="m65">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) showed a strong correlation with a value of &#x2212;1, so the oil volumetric fraction (<inline-formula id="inf57">
<mml:math id="m66">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) was discarded from the database. Additionally, the variables superficial water velocity (<inline-formula id="inf58">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) and mixture velocity (<inline-formula id="inf59">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) had a correlation coefficient of 0.837, indicating a strong correlation, and thus the mixture velocity (<inline-formula id="inf60">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) was excluded from the database.</p>
<p>As a result, the input variables to be used are reduced to superficial water velocity (<inline-formula id="inf61">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), superficial oil velocity (<inline-formula id="inf62">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), water volumetric fraction (<inline-formula id="inf63">
<mml:math id="m72">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>), pipe diameter (<italic>D</italic>), oil viscosity <inline-formula id="inf64">
<mml:math id="m73">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#xb5;</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> y and oil density (<inline-formula id="inf65">
<mml:math id="m74">
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>O</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s2-3-3">
<title>2.3.3 Codification</title>
<p>The database defines the flow pattern as a categorical variable, so the label for the different categories must be coded. A number from 0 to 5 is assigned to each of the six defined flow patterns. A data preprocessing method known as one-hot encoding was used to convert the categorical variables as integers into new categorical columns with a binary value of 1 or 0. This way, each new column represents a variable category, as shown in <xref ref-type="table" rid="T5">Table 5</xref>. If this column represents a category, it is assigned a 1; otherwise, it is 0 (<xref ref-type="bibr" rid="B30">Liu et al., 2022</xref>).</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>One-Hot coding for the categorical variable.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="center">ID</th>
<th rowspan="2" align="center">Flow pattern</th>
<th colspan="6" align="center">One-hot encoder representation</th>
</tr>
<tr>
<th align="center">ST</th>
<th align="center">ST &#x26; MI</th>
<th align="center">D o/w</th>
<th align="center">D w/o</th>
<th align="center">AN</th>
<th align="center">S</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">0</td>
<td align="center">ST</td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">1</td>
<td align="center">ST &#x26; MI</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">D o/w</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">D w/o</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">AN</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">5</td>
<td align="center">S</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s2-4">
<title>2.4 Structuring of the artificial neural network model</title>
<p>This study uses an ANN to generate a model capable of predicting flow patterns. ANNs are machine learning-based tools designed for information processing and are intended to emulate how the human brain handles information (<xref ref-type="bibr" rid="B2">Abba et al., 2020</xref>). They are composed of different neurons as processing units connected with adjustable weights and biases. <xref ref-type="fig" rid="F4">Figure 4</xref> presents the standard structure of an artificial neuron. ANNs can be successfully applied in learning, association, classification, generalization, characterization, and optimization functions. Since ANNs can work with incomplete data and tolerate errors, they can easily create models for complex problems (<xref ref-type="bibr" rid="B29">Jorjani et al., 2008</xref>).</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>The standard model of an Artificial Neuron.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g004.tif">
<alt-text content-type="machine-generated">Diagram of a neural network unit showing inputs \(x_1, x_2, \ldots, x_n\), combined with weights \(w_1, w_2, \ldots, w_n\), and a bias \(b_j\) to form a weighted sum \(\sum x_i w_{ij} + b_j\). This sum is processed through an activation function \(f(\cdot)\) to produce an output \(y\). Arrows illustrate the flow from inputs and bias through weights to the output.</alt-text>
</graphic>
</fig>
<p>The ANN used in this study is a feedforward backpropagation neural network, one of the fundamental architectures in machine learning and artificial intelligence. In general, a feedforward ANN consists of multiple neural units (connected to each other by weighted connections) with activation functions, each of which takes the neuron&#x2019;s net input, activates it, and produces a result that is used as input for other units (<xref ref-type="bibr" rid="B8">Argatov, 2019</xref>). This structure allows information to propagate from the inputs to the outputs in a single direction and uses the backpropagation algorithm to adjust the weights and minimize errors during training. This type of network structure consists of an input layer, hidden layers, an output layer, neurons, a target variable, activation functions, and a training algorithm (<xref ref-type="bibr" rid="B3">Abdel Azim, 2020</xref>). The presence of one or more hidden layers allows the network to model non-linear and complex functions. The mathematical expression that defines the net input <inline-formula id="inf66">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to the neural network is obtained through <xref ref-type="disp-formula" rid="e10">Equation 10</xref> as presented by (<xref ref-type="bibr" rid="B25">Hern&#xe1;ndez-Cely et al., 2022</xref>).<disp-formula id="e10">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf67">
<mml:math id="m77">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the net input to node <inline-formula id="inf68">
<mml:math id="m78">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in the hidden layer, <inline-formula id="inf69">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the inputs to node <inline-formula id="inf70">
<mml:math id="m80">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (or outputs from the immediately preceding layer), <inline-formula id="inf71">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the synaptic weights representing the strength of the connection between nodes <inline-formula id="inf72">
<mml:math id="m82">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf73">
<mml:math id="m83">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf74">
<mml:math id="m84">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of nodes, and <inline-formula id="inf75">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the bias associated with each node <inline-formula id="inf76">
<mml:math id="m86">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<sec id="s2-4-1">
<title>2.4.1 Feedforward backpropagation neural network architecture</title>
<p>Once the information has been processed, the internal structure of the feedforward backpropagation ANN is defined. <xref ref-type="fig" rid="F5">Figure 5</xref> presents a general diagram of this type of neural network architecture. It can be seen that in the first hidden layer, the number of inputs is defined, which is a vector containing the input parameters used to generate predictions. Then, the output layer is described, producing the final prediction of the model. The number of neurons in this layer corresponds to one neuron per class in multi-class classification problems. In this case, there are six neurons, one for each flow pattern developed inside the horizontal pipes. The selection of the specific topology of the ANN is explained in <xref ref-type="sec" rid="s2-5">Section 2.5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>The general structure of a Feedforward Backpropagation ANN.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g005.tif">
<alt-text content-type="machine-generated">Diagram of a neural network structure with labeled layers: input, first hidden, Nth hidden, and output. Arrows indicate feedforward information flow and error backpropagation. Inputs include Vsw, Vso, Cw, D, &#xB5;o, and po.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s2-4-2">
<title>2.4.2 Activation functions</title>
<p>The neurons in the hidden layer use the sum of the inputs with synaptic weights as a propagation rule to apply an activation function, which introduces non-linearity to the ANN, allowing the model to learn and represent complex data relationships (<xref ref-type="bibr" rid="B21">Goodfellow et al., 2016</xref>). Commonly used activation functions for function approximation are the sigmoid, hyperbolic tangent, and linear functions, with the sigmoid being the most widely used for non-linear relationships. The sigmoid activation function was selected for the hidden layers based on its well-documented effectiveness in multi-class classification tasks involving moderate-sized datasets. This function provides smooth, bounded outputs in the [0, 1] range, which complements the Softmax function used in the output layer. To validate this choice, preliminary tests were conducted using activation functions such as ReLU and hyperbolic tangent (tanh). While ReLU is computationally efficient and widely adopted in deep learning, it introduced instability during training in our model, particularly in configurations with multiple hidden layers. The tanh function also yielded lower validation accuracy and slower convergence compared to sigmoid. Therefore, the sigmoid function was retained for its superior consistency and overall model performance in this specific classification task. This study uses the sigmoid activation function in the hidden layers. This function converts any real value into a value between 0 and 1, making it helpful in predicting a binary class label. In the output layer, the Softmax activation function is used. Softmax is typically employed as the final activation function in a neural network to transform outputs into a probability representation, bounding the values in a range from 0 to 1 in a vector, such that the sum of all probabilities in the vector equals 1 for all possible outcomes or classes. Mathematically, the sigmoid activation function, according to (<xref ref-type="bibr" rid="B38">Razavi et al., 2003</xref>), is defined as in <xref ref-type="disp-formula" rid="e11">Equation 11</xref>:<disp-formula id="e11">
<mml:math id="m87">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msup>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>where <inline-formula id="inf77">
<mml:math id="m88">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the output of node <inline-formula id="inf78">
<mml:math id="m89">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and, in turn, serves as the input element to the nodes of the next layer.</p>
<p>The Softmax activation function <inline-formula id="inf79">
<mml:math id="m90">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> defined by <xref ref-type="disp-formula" rid="e12">Equation 12</xref> as:<disp-formula id="e12">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msubsup>
</mml:mstyle>
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf80">
<mml:math id="m92">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is an input vector to a Softmax function, <inline-formula id="inf81">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the i-th element of the input vector, which can take any value between negative and positive infinity, <inline-formula id="inf82">
<mml:math id="m94">
<mml:mrow>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the standard exponential function applied to <inline-formula id="inf83">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The term <inline-formula id="inf84">
<mml:math id="m96">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">y</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> refers to a normalization term. This ensures that the output vector values sum to 1 for the i-th class, and each value is within the range of 0&#x2013;1, thereby forming a valid probability distribution.</p>
</sec>
<sec id="s2-4-3">
<title>2.4.3 Loss function</title>
<p>It is worth mentioning that machine learning models learn through a loss function, which is a method for determining how effectively a specific algorithm models the provided data. The loss function will generate a high value if the predictions are far from the actual results. For the problem at hand, the chosen loss function, an important parameter indicating the performance of the ANN model, is cross-entropy loss, as it is the most common for multi-class classification problems.</p>
<p>This cross-entropy loss increases as the probability obtained from the Softmax function diverges from the true label. Cross-entropy loss is measured as a number between 0 and 1, where 0 represents a perfect model. Mathematically, it is defined as shown in <xref ref-type="disp-formula" rid="e13">Equation 13</xref>:<disp-formula id="e13">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>where <inline-formula id="inf85">
<mml:math id="m98">
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the classes, <inline-formula id="inf86">
<mml:math id="m99">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of samples, <inline-formula id="inf87">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the true label, and <inline-formula id="inf88">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the Softmax probability for the jth class.</p>
<p>A training algorithm must be implemented for the neural network to learn the relationship between the data, and a training algorithm must be implemented. Gradually, during the training of the model, the synaptic weights are adjusted iteratively to minimize prediction error. Adjusting the synaptic weights defines the model&#x2019;s training (<xref ref-type="bibr" rid="B20">G&#xf3;mez et al., 2004</xref>), and as the model continues to train and the loss function error is minimized, the model is said to be learning.</p>
</sec>
</sec>
<sec id="s2-5">
<title>2.5 Model selection and evaluation</title>
<sec id="s2-5-1">
<title>2.5.1 Artificial neural network topology</title>
<p>At this stage of designing the ANN, the network topology is defined, which involves the structural configuration of the model, including the number of layers, the number of neurons per layer, and the training algorithm. This stage is critical because the topology directly influences the model&#x2019;s representation capacity and learning effectiveness. The topology must be tailored to the specific problem being addressed. Due to the lack of standardized techniques for this task, an approach based on experience and trial-and-error is often used, testing various configurations until finding the most suitable one for the flow pattern classification problem (<xref ref-type="bibr" rid="B11">Chauvin and Rumelhart, 1995</xref>).</p>
</sec>
<sec id="s2-5-2">
<title>2.5.2 Optimization parameters</title>
<p>An iterative and systematic experimental process uses MATLAB&#x2019;s Neural Network Pattern Recognition tool to select the ANN topology. Various ANN configurations are created and optimized within the tool. Choosing an appropriate training algorithm is crucial to optimize the adjustment of synaptic weights and minimize the loss function value. Therefore, the five most commonly used and recommended training functions for classification problems in MATLAB are evaluated: TRAINSCG (Scaled Conjugate Gradient), TRAINBFG (BFGS Quasi-Newton), TRAINRP (Resilient Backpropagation), TRAINCGP (Polak-Ribi&#xe9;re Conjugate Gradient), and TRAINCGB (Conjugate Gradient with Powell/Beale Restarts). Additionally, key characteristics are considered in the model selection process to evaluate its performance, such as accuracy, loss function value, and ANN training time. Accuracy is obtained from the data in the confusion matrix, the loss function value is determined according to <xref ref-type="disp-formula" rid="e13">Equation 13</xref>, and training time is measured in seconds, indicating how long the ANN takes to train.</p>
</sec>
<sec id="s2-5-3">
<title>2.5.3 Confusion matrix</title>
<p>The confusion matrix is a fundamental tool in machine learning for evaluating the performance of a classification model. It allows for the visualization of the model&#x2019;s predictions against actual values and facilitates the identification of specific errors (<xref ref-type="bibr" rid="B36">Powers, 2011</xref>). It is necessary to calculate its components, such as True Positives (TP), False Negatives (FN), False Positives (FP), and True Negatives (TN). Several essential metrics can be derived from the confusion matrix to assess the model&#x2019;s performance, including precision, recall, F1 score, and accuracy. Precision is the proportion of true positives over the total predicted positives, recall is the proportion of true positives over the total actual positives, the F1 score is the harmonic mean of recall and precision, and accuracy is the proportion of all correct predictions. These are respectively defined by <xref ref-type="disp-formula" rid="e14">Equations 14</xref>&#x2013;<xref ref-type="disp-formula" rid="e17">17</xref>
<disp-formula id="e14">
<mml:math id="m102">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
<disp-formula id="e15">
<mml:math id="m103">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m104">
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#x2a;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
<disp-formula id="e17">
<mml:math id="m105">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
</sec>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>3 Results</title>
<p>This section presents the numerical values obtained from the iterative and organized process of testing and selecting the ANN structure. These results were derived from all the simulations carried out under different topological configurations, in which all the data from the simulation process were recorded. Subsequently, an analysis and model selection were performed to identify the one that presented the best performance results in predicting flow patterns. Various configurations were structured by adjusting parameters such as the training algorithm, the number of hidden layers, and the number of neurons in each hidden layer.</p>
<p>For each of the structured models, the following parameters were kept constant: the data distribution was set at 70% for the training stage, 15% for the validation stage, and 15% for the testing stage. The activation function for all hidden layers was the sigmoid function, and the Softmax activation function was used for the output layer. The error function to be optimized was cross-entropy, and two retrainings were performed for each configuration. Modifying the script lines generated by MATLAB&#x2019;s Neural Network Pattern Recognition tool made all adjustments to the parameters. All experimental tests were conducted on an MSI Raider GE76 computer with a 12th Gen Intel(R) Core (TM) i7-12700H 2.70&#xa0;GHz processor, 16&#xa0;GB of installed RAM, and a 64-bit operating system, X64 processor.</p>
<p>
<xref ref-type="table" rid="T6">Table 6</xref> presents the configurations generated with different combinations of parameters to be applied to the ANN models. They were evaluated according to the training functions shown in <xref ref-type="table" rid="T7">Table 7</xref>. In this manner, 200 ANN tests were initially performed based on 100 different parameter configurations, from which the models that yielded the best performance values were identified, focusing on cross-entropy and those achieving over 90% accuracy in flow pattern predictions. Once these configurations were identified, the ANN model tests were repeated to obtain a second verification of the results and to filter the evaluated topologies to those that demonstrated the highest prediction accuracy across both retraining for flow patterns.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Parameter configurations for different structured ANNs.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Number of hidden layers</th>
<th align="center">Number of neurons in hidden layers</th>
<th align="center">Retraining</th>
<th align="center">Activation function in hidden layers</th>
<th align="center">Activation function in the output layer</th>
<th align="center">Loss function</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="4" align="center">3</td>
<td align="center">15</td>
<td rowspan="4" align="center">2</td>
<td rowspan="4" align="center">Sigmoid</td>
<td rowspan="4" align="center">Softmax</td>
<td rowspan="4" align="center">Cross-Entropy</td>
</tr>
<tr>
<td align="center">20</td>
</tr>
<tr>
<td align="center">25</td>
</tr>
<tr>
<td align="center">30</td>
</tr>
<tr>
<td rowspan="4" align="center">5</td>
<td align="center">15</td>
<td rowspan="4" align="center">2</td>
<td rowspan="4" align="center">Sigmoid</td>
<td rowspan="4" align="center">Softmax</td>
<td rowspan="4" align="center">Cross-Entropy</td>
</tr>
<tr>
<td align="center">20</td>
</tr>
<tr>
<td align="center">25</td>
</tr>
<tr>
<td align="center">30</td>
</tr>
<tr>
<td rowspan="4" align="center">7</td>
<td align="center">15</td>
<td rowspan="4" align="center">2</td>
<td rowspan="4" align="center">Sigmoid</td>
<td rowspan="4" align="center">Softmax</td>
<td rowspan="4" align="center">Cross-Entropy</td>
</tr>
<tr>
<td align="center">20</td>
</tr>
<tr>
<td align="center">25</td>
</tr>
<tr>
<td align="center">30</td>
</tr>
<tr>
<td rowspan="4" align="center">10</td>
<td align="center">15</td>
<td rowspan="4" align="center">2</td>
<td rowspan="4" align="center">Sigmoid</td>
<td rowspan="4" align="center">Softmax</td>
<td rowspan="4" align="center">Cross-Entropy</td>
</tr>
<tr>
<td align="center">20</td>
</tr>
<tr>
<td align="center">25</td>
</tr>
<tr>
<td align="center">30</td>
</tr>
<tr>
<td rowspan="4" align="center">15</td>
<td align="center">15</td>
<td rowspan="4" align="center">2</td>
<td rowspan="4" align="center">Sigmoid</td>
<td rowspan="4" align="center">Softmax</td>
<td rowspan="4" align="center">Cross-Entropy</td>
</tr>
<tr>
<td align="center">20</td>
</tr>
<tr>
<td align="center">25</td>
</tr>
<tr>
<td align="center">30</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Training algorithms to be evaluated.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Training functions</th>
<th align="center">Training algorithms</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">TRAINSCG</td>
<td align="left">Scaled conjugate gradient backpropagation</td>
</tr>
<tr>
<td align="center">TRAINBFG</td>
<td align="left">BFGS quasi-Newton backpropagation</td>
</tr>
<tr>
<td align="center">TRAINRP</td>
<td align="left">Resilient Backpropagation</td>
</tr>
<tr>
<td align="center">TRAINCGP</td>
<td align="left">Conjugate gradient backpropagation with Polak-Ribiere updates</td>
</tr>
<tr>
<td align="center">TRAINCGB</td>
<td align="left">Conjugate gradient backpropagation with Powell-Beale restarts</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="table" rid="T8">Table 8</xref> presents the best results obtained from testing the different configurations in the topology for each training function. Additionally, it.</p>
<table-wrap id="T8" position="float">
<label>TABLE 8</label>
<caption>
<p>Accuracy and performance results in models obtained under different parameter configurations.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Parameters</th>
<th align="center">Model 1</th>
<th align="center">Model 2</th>
<th align="center">Model 3</th>
<th align="center">Model 4</th>
<th align="center">Model 5</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Training function</td>
<td align="center">TRAINRP</td>
<td align="center">TRAINSCG</td>
<td align="center">TRAINBFG</td>
<td align="center">TRAINCGP</td>
<td align="center">TRAINCGB</td>
</tr>
<tr>
<td align="center">Activation function in hidden layers</td>
<td align="center">Sigmoid</td>
<td align="center">Sigmoid</td>
<td align="center">Sigmoid</td>
<td align="center">Sigmoid</td>
<td align="center">Sigmoid</td>
</tr>
<tr>
<td align="center">Activation function in the output layer</td>
<td align="center">Softmax</td>
<td align="center">Softmax</td>
<td align="center">Softmax</td>
<td align="center">Softmax</td>
<td align="center">Softmax</td>
</tr>
<tr>
<td align="center">Loss function</td>
<td align="center">Categorical cross-entropy</td>
<td align="center">Categorical cross-entropy</td>
<td align="center">Categorical cross-entropy</td>
<td align="center">Categorical cross-entropy</td>
<td align="center">Categorical cross-entropy</td>
</tr>
<tr>
<td align="center">Number of hidden layers</td>
<td align="center">3</td>
<td align="center">3</td>
<td align="center">5</td>
<td align="center">5</td>
<td align="center">3</td>
</tr>
<tr>
<td align="center">Neurons in hidden layer</td>
<td align="center">30</td>
<td align="center">30</td>
<td align="center">25</td>
<td align="center">30</td>
<td align="center">20</td>
</tr>
<tr>
<td align="center">Training accuracy (%)</td>
<td align="center">95.7</td>
<td align="center">92.7</td>
<td align="center">91.6</td>
<td align="center">92</td>
<td align="center">91.8</td>
</tr>
<tr>
<td align="center">Validation accuracy (%)</td>
<td align="center">91.7</td>
<td align="center">91</td>
<td align="center">89.9</td>
<td align="center">90.3</td>
<td align="center">89.5</td>
</tr>
<tr>
<td align="center">Test accuracy (%)</td>
<td align="center">92.1</td>
<td align="center">91.3</td>
<td align="center">90.3</td>
<td align="center">90.6</td>
<td align="center">87.7</td>
</tr>
<tr>
<td align="center">Total accuracy (%)</td>
<td align="center">94.6</td>
<td align="center">92.3</td>
<td align="center">91.2</td>
<td align="center">91.5</td>
<td align="center">90.8</td>
</tr>
<tr>
<td align="center">Performance (Cross-Entropy)</td>
<td align="center">0.0272</td>
<td align="center">0.0366</td>
<td align="center">0.0432</td>
<td align="center">0.0406</td>
<td align="center">0.043</td>
</tr>
<tr>
<td align="center">Training time (S)</td>
<td align="center">3</td>
<td align="center">1</td>
<td align="center">133</td>
<td align="center">3</td>
<td align="center">1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="table" rid="T8">Table 8</xref> presents a comparative summary of five ANN models trained with different algorithms, showing the accuracy values from the confusion matrices for the training, validation, and testing stages, as well as from the overall confusion matrix. All models use the same activation and loss functions but vary in topology and training method. Model 1 (TRAINRP) achieved the best overall performance, with the highest total accuracy (94.6%), strong validation and test accuracy, and a short training time (3&#xa0;s), making it the most balanced and efficient configuration. Model 2 (TRAINSCG) also performed well, offering good accuracy (92.3%) with the shortest training time (1&#xa0;s), indicating its suitability for fast iterative training. Model 3 (TRAINBFG) achieved competitive accuracy (91.2%) and low cross-entropy loss, but required 133&#xa0;s to train. This extended time is due to the computational complexity of the BFGS algorithm and the use of a deeper network (5 hidden layers). Models 4 and 5 (TRAINCGP and TRAINCGB) yielded acceptable but slightly lower accuracies and higher loss values, despite fast training times. Overall, the results highlight TRAINRP as the most effective training function in terms of performance and computational efficiency. Once the learning algorithm was defined, a final experiment was conducted, maintaining the established parameters from Model 1, except for the number of neurons per hidden layer. This was further evaluated with 40, 50, 60, and 70 neurons to observe the performance and accuracy of the ANN model.</p>
<p>
<xref ref-type="table" rid="T9">Table 9</xref> presents the results of training the ANN model with 40, 50, 60, and 70 neurons in the hidden layers. The minimum cross-entropy error values were identified from the information collected, being 0.0342 and 0.024 for 40 and 50 neurons in the hidden layers, respectively, and total accuracy values of 92.7% and 95.4%. By analyzing the information presented in <xref ref-type="table" rid="T9">Table 9</xref>, it was determined that the optimal ANN for developing the predictive flow pattern model for two-phase (oil-water) flow in a horizontal pipe is the one that integrates the Resilient Backpropagation learning algorithm with three hidden layers, each with 50 neurons. The configuration of the selected model&#x2019;s parameters is presented in <xref ref-type="table" rid="T10">Table 10</xref>.</p>
<table-wrap id="T9" position="float">
<label>TABLE 9</label>
<caption>
<p>Results of varying the number of neurons per hidden layer using the Resilient Backpropagation learning algorithm in ANN model 1.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Number of neurons per hidden layer</th>
<th align="center">Retraining</th>
<th align="center">Cross-entropy error</th>
<th align="center">Training accuracy (%)</th>
<th align="center">Validation accuracy (%)</th>
<th align="center">Test accuracy (%)</th>
<th align="center">Total accuracy (%)</th>
<th align="center">Training time (S)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">40</td>
<td align="center">1</td>
<td align="center">0.0375</td>
<td align="center">94.1</td>
<td align="center">87.4</td>
<td align="center">90.6</td>
<td align="center">92.6</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">40</td>
<td align="center">2</td>
<td align="center">0.0342</td>
<td align="center">94.9</td>
<td align="center">89.2</td>
<td align="center">85.9</td>
<td align="center">92.7</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">50</td>
<td align="center">1</td>
<td align="center">0.024</td>
<td align="center">97.1</td>
<td align="center">92.8</td>
<td align="center">90.3</td>
<td align="center">95.4</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">50</td>
<td align="center">2</td>
<td align="center">0.0251</td>
<td align="center">96.3</td>
<td align="center">90.3</td>
<td align="center">90.6</td>
<td align="center">94.5</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center">60</td>
<td align="center">1</td>
<td align="center">0.4476</td>
<td align="center">22.7</td>
<td align="center">18.4</td>
<td align="center">21.7</td>
<td align="center">21.9</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">60</td>
<td align="center">2</td>
<td align="center">0.5061</td>
<td align="center">12.4</td>
<td align="center">10.8</td>
<td align="center">12.3</td>
<td align="center">12.1</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">70</td>
<td align="center">1</td>
<td align="center">0.6011</td>
<td align="center">21.1</td>
<td align="center">30.7</td>
<td align="center">20.2</td>
<td align="center">22.4</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center">70</td>
<td align="center">2</td>
<td align="center">0.5576</td>
<td align="center">19.7</td>
<td align="center">19.1</td>
<td align="center">16.6</td>
<td align="center">19.1</td>
<td align="center">0</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T10" position="float">
<label>TABLE 10</label>
<caption>
<p>Configuration of parameters and results of the selected ANN Model.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Hyperparameter</th>
<th align="center">Selection</th>
<th align="center">Others</th>
<th align="center">Selection</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Training algorithm</td>
<td align="center">Resilient Backpropagation</td>
<td align="center">Training accuracy (%)</td>
<td align="center">97.1</td>
</tr>
<tr>
<td align="center">Activation function in hidden layers</td>
<td align="center">Sigmoid</td>
<td align="center">Validation accuracy (%)</td>
<td align="center">92.8</td>
</tr>
<tr>
<td align="center">Activation function in the output layer</td>
<td align="center">Softmax</td>
<td align="center">Test accuracy (%)</td>
<td align="center">90.3</td>
</tr>
<tr>
<td align="center">Loss function</td>
<td align="center">Categorical cross-entropy</td>
<td align="center">Total accuracy (%)</td>
<td align="center">95.4</td>
</tr>
<tr>
<td align="center">Number of hidden layers</td>
<td align="center">3</td>
<td align="center">Training time (S)</td>
<td align="center">2</td>
</tr>
<tr>
<td align="center">Neurons in hidden layer</td>
<td align="center">50</td>
<td align="center">Cross-Entropy error</td>
<td align="center">0.0240</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>With the selected ANN configuration, the model achieved a cross-entropy loss of 0.024, with a training accuracy of 97.1%, validation accuracy of 92.8%, and test accuracy of 90.3%. The overall classification accuracy, calculated from the complete confusion matrix across all data partitions, reached 95.4%, making this configuration the most effective among the 104 models evaluated. <xref ref-type="fig" rid="F6">Figure 6</xref> illustrates the evolution of cross-entropy loss throughout the training process for the training, validation, and testing stages. The best validation performance was observed at epoch 103, with a cross-entropy value of 0.03213. The training process was terminated at epoch 109 using early stopping criteria, which halts training when the validation error does not improve over six consecutive epochs (patience &#x3d; 6). The final model thus corresponds to the point of minimum validation error, ensuring both high accuracy and generalization.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Variation of cross-entropy due to iteration change in the ANN with the selected configuration.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g006.tif">
<alt-text content-type="machine-generated">Line graph showing cross-entropy over 109 epochs for training (blue), validation (green), and test (red) sets. The cross-entropy decreases rapidly initially and then stabilizes. A dotted line indicates best performance.</alt-text>
</graphic>
</fig>
<p>The model&#x2019;s performance and accuracy data are complemented by an error histogram, presented in <xref ref-type="fig" rid="F7">Figure 7</xref>, showing the error values obtained in each stage of the ANN&#x2019;s development. The histogram exhibits a centered normal distribution, with a clear central and narrow tendency towards error values close to zero, indicating that the model is well-trained and highly accurate. The high frequency observed in the central column, where most data comes from the training, validation, and testing stages, suggests that the model generalizes well and does not overfit the training data.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Error histogram in the training, validation, and testing stages for the ANN model.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g007.tif">
<alt-text content-type="machine-generated">Bar chart displaying error distribution across training, validation, and test datasets. Errors range from approximately -0.95 to 0.95, with most instances concentrated around -0.0484. Legend indicates blue for training, green for validation, and red for test, with a yellow line for zero error. Instances count on the y-axis peaks at over 9000.</alt-text>
</graphic>
</fig>
<p>
<xref ref-type="fig" rid="F8">Figure 8</xref> illustrates the ROC (Receiver Operating Characteristic) curves corresponding to the (a) training, (b) validation, (c) testing, and (d) overall stages of the ANN model. These plots provide a visual assessment of the classifier&#x2019;s ability to distinguish between the six flow pattern classes across different stages of model development.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>ROC curve in <bold>(a)</bold> training stage, <bold>(b)</bold> validation stage, <bold>(c)</bold> testing stage, <bold>(d)</bold> overall confusion matrix.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g008.tif">
<alt-text content-type="machine-generated">Four ROC curve charts labeled (a) Training ROC, (b) Validation ROC, (c) Test ROC, and (d) All ROC, each displaying true positive rate vs. false positive rate for six classes. The curves appear close to the top-left corner, indicating high performance across different datasets. Each class is represented by a different color as per the legend.</alt-text>
</graphic>
</fig>
<p>In each subplot, the ROC curve compares the model&#x2019;s true positive rate (TPR) against the false positive rate (FPR) across various classification thresholds. The area under each ROC curve (AUC) serves as a scalar metric for the model&#x2019;s discriminative power, with values closer to 1 indicating near-perfect classification. The diagonal line in each plot represents the performance of a random classifier (AUC &#x3d; 0.5), which serves as a baseline for comparison.</p>
<p>In the training stage (<xref ref-type="fig" rid="F8">Figure 8a</xref>), the ROC curves demonstrate excellent separation between classes, with all curves approaching the top-left corner, reflecting high sensitivity and low false positive rates. This indicates that the model has learned the patterns in the training data effectively. A similar trend is observed during the validation stage (<xref ref-type="fig" rid="F8">Figure 8b</xref>), suggesting that the model maintains generalization capability and avoids overfitting. The testing stage (<xref ref-type="fig" rid="F8">Figure 8c</xref>) also shows strong ROC curves, further validating the model&#x2019;s robustness and confirming that the classification performance remains stable on previously unseen data.</p>
<p>The overall ROC plot (<xref ref-type="fig" rid="F8">Figure 8d</xref>), which aggregates performance across all stages, shows that the classifier consistently performs well across the six flow pattern categories. The concentration of the curves toward the upper-left corner signifies high true positive rates with minimal false classifications. These results reinforce the ANN model&#x2019;s capacity to reliably differentiate among complex flow regimes under varying operating conditions.</p>
<p>Together, these ROC analyses underscore the high sensitivity and specificity of the selected ANN configuration. The network&#x2019;s performance across all evaluation stages aligns with the confusion matrix results and statistical metrics, providing strong evidence of the model&#x2019;s effectiveness for real-time multiphase flow pattern recognition in horizontal oil-water pipeline systems.</p>
<p>
<xref ref-type="fig" rid="F9">Figure 9</xref> presents the confusion matrices obtained during the (a) training, (b) validation, (c) testing, and (d) overall evaluation phases for the selected ANN model. These matrices provide a detailed breakdown of the model&#x2019;s prediction performance for each of the six flow pattern categories: stratified, stratified with mixture, oil-in-water dispersion, water-in-oil dispersion, annular, and slug.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Confusion matrix in <bold>(a)</bold> Training stage, <bold>(b)</bold> Validation stage, <bold>(c)</bold> Testing stage, <bold>(d)</bold> Overall confusion matrix. The reported accuracy values represent overall classification accuracy, not class-averaged metrics.</p>
</caption>
<graphic xlink:href="fmech-11-1522120-g009.tif">
<alt-text content-type="machine-generated">Four confusion matrices labeled (a) Training, (b) Validation, (c) Test, and (d) All, display classifications for flow patterns. Each matrix shows predicted versus actual patterns: ST, ST &#x26; MI, D o/w, D w/o, AN, and S, along with percentages and counts reflecting classification accuracy and errors. Each matrix compares predictions with target flow patterns.</alt-text>
</graphic>
</fig>
<p>In each matrix, the diagonal elements represent the TP&#x2014;that is, the number of instances correctly classified as a specific flow pattern. Off-diagonal entries reflect misclassifications, further categorized as FP and FN. A false positive occurs when the model incorrectly predicts a sample as belonging to a given class, while a false negative arises when the model fails to recognize an instance of that class. The TN, although not explicitly visible in the matrix, can be inferred as all other correctly classified instances not associated with the current class under evaluation.</p>
<p>The confusion matrices show a high concentration of values along the diagonal, indicating that the majority of predictions across all evaluation stages were correct. In the training stage (<xref ref-type="fig" rid="F9">Figure 9a</xref>), the model achieved an accuracy of 97.1%, confirming its strong capacity to learn from the dataset. During the validation phase (<xref ref-type="fig" rid="F9">Figure 9b</xref>), accuracy slightly decreased to 92.8%, suggesting that the model generalizes well to unseen data while maintaining high predictive consistency. The testing stage (<xref ref-type="fig" rid="F9">Figure 9c</xref>) resulted in an accuracy of 90.3%, demonstrating reliable performance even on completely new data. Finally, the overall confusion matrix (<xref ref-type="fig" rid="F9">Figure 9d</xref>), which aggregates predictions from all stages, reports a high total classification accuracy of 95.4%, underscoring the robustness and generalization capability of the selected ANN configuration.</p>
<p>Beyond overall accuracy, the confusion matrices also reveal class-specific performance trends. Certain patterns such as Do/w and Dw/o exhibit nearly perfect classification with minimal off-diagonal values, suggesting that the model captures their distinguishing features with high fidelity. Meanwhile, flow patterns such as S and ST &#x26; MI, which are often characterized by overlapping or transitional behaviors, show slightly higher misclassification rates, pointing to the physical complexity and subtlety involved in accurately separating these regimes.</p>
<p>In <xref ref-type="table" rid="T11">Table 11</xref>, the respective precision, recall, and F1 values for each flow pattern are presented, along with the accuracy values for both the confusion matrix in the testing stage and the overall confusion matrix, calculated according to <xref ref-type="disp-formula" rid="e14">Equations 14</xref>&#x2013;<xref ref-type="disp-formula" rid="e17">17</xref>. Accuracy refers to the proportion of all correctly classified samples across all classes, calculated as (sum of diagonal entries)/(total number of samples). Precision, recall, and F1-score are computed per class, and their values reflect the model&#x2019;s behavior in distinguishing each individual flow pattern. The averages refer to the mean of these class-specific values. For example, for the testing stage, referencing the ST pattern, the true positives value is TP &#x3d; 55, from the diagonal entry corresponding to the ST class in the test stage confusion matrix, see <xref ref-type="fig" rid="F9">Figure 9c</xref>. By summing the other values on the main diagonal, the TN total is 195. Summing the other values in the ST row gives the FP as 6, and summing the other values in the ST column gives the FN as 8. Notice that for a multiclass confusion matrix, accuracy is computed as the sum of all correct predictions (250) over the total number of predictions (277). The values shown for precision, recall, and F1 are class-specific, but accuracy is aggregate.</p>
<table-wrap id="T11" position="float">
<label>TABLE 11</label>
<caption>
<p>Metrics to evaluate model performance across different flow patterns based on the confusion matrix.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="left">Flow pattern</th>
<th colspan="4" align="center">Testing stage</th>
<th colspan="4" align="center">Overall confusion matrix</th>
</tr>
<tr>
<th align="center">Precision [%]</th>
<th align="center">Recall [%]</th>
<th align="center">F1 [%]</th>
<th align="center">Accuracy [%]</th>
<th align="center">Precision [%]</th>
<th align="center">Recall [%]</th>
<th align="center">F1 [%]</th>
<th align="center">Accuracy [%]</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">ST</td>
<td align="center">90.2</td>
<td align="center">87.3</td>
<td align="center">88.7</td>
<td rowspan="7" align="center">90.3</td>
<td align="center">95.7</td>
<td align="center">93</td>
<td align="center">94.3</td>
<td rowspan="7" align="center">95.4</td>
</tr>
<tr>
<td align="left">ST &#x26; MI</td>
<td align="center">85.5</td>
<td align="center">92.5</td>
<td align="center">88.7</td>
<td align="center">92.7</td>
<td align="center">96</td>
<td align="center">94.3</td>
</tr>
<tr>
<td align="left">D o/w</td>
<td align="center">96.1</td>
<td align="center">86</td>
<td align="center">90.7</td>
<td align="center">98.4</td>
<td align="center">94.7</td>
<td align="center">96.5</td>
</tr>
<tr>
<td align="left">D w/o</td>
<td align="center">92.3</td>
<td align="center">98</td>
<td align="center">95</td>
<td align="center">96.6</td>
<td align="center">98.2</td>
<td align="center">97.4</td>
</tr>
<tr>
<td align="left">A</td>
<td align="center">93.8</td>
<td align="center">93.8</td>
<td align="center">93.8</td>
<td align="center">98.2</td>
<td align="center">97.6</td>
<td align="center">97.9</td>
</tr>
<tr>
<td align="left">S</td>
<td align="center">80.8</td>
<td align="center">84</td>
<td align="center">82.4</td>
<td align="center">91.2</td>
<td align="center">95.1</td>
<td align="center">93.1</td>
</tr>
<tr>
<td align="left">Average</td>
<td align="center">89.8</td>
<td align="center">90.3</td>
<td align="center">89.9</td>
<td align="center">95.5</td>
<td align="center">95.8</td>
<td align="center">95.6</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Based on the information shown in <xref ref-type="table" rid="T11">Table 11</xref>, the following average values were determined for the different flow patterns within the testing stage of the model: an average precision of 89.8%, an average recall of 90.3%, an average F1 score of 89.9%, and an accuracy of 90.3%. From the overall confusion matrix, an average precision of 95.5%, an average recall of 95.8%, an average F1 score of 95.6%, and an accuracy of 95.4% were obtained.</p>
<p>To ensure the credibility of the proposed ANN model, the dataset was randomly partitioned into 70% for training, 15% for validation, and 15% for testing. The model&#x2019;s performance was evaluated through multiple statistical metrics, including accuracy, precision, recall, F1-score, and cross-entropy error, across all three data partitions. Confusion matrices and ROC curves were used to provide a comprehensive visualization of the classifier&#x2019;s behavior. Additionally, retraining was conducted for each configuration to verify repeatability and robustness, with consistent outcomes observed between runs.</p>
<p>The credibility of the model is reinforced by the use of a large and diverse dataset compiled from 11 independent experimental studies, representing a wide range of fluid properties, pipe diameters, and flow regimes. This diversity enhances the model&#x2019;s generalization capabilities and supports its applicability across varied operating conditions.</p>
</sec>
<sec sec-type="conclusion" id="s4">
<title>4 Conclusion</title>
<p>A two-phase oil-water flow database in horizontal pipes was structured based on information reported in the literature by various authors, yielding 1,846 experimental data points. The dataset included parameters related to oil-water multiphase flows, such as the superficial velocities of the oil and water fluids, water volumetric fraction, pipe diameter, oil viscosity, and oil density. Six representative flow pattern categories were defined and standardized: stratified, stratified with mixture, slug, annular, oil-in-water dispersion, and water-in-oil dispersion.</p>
<p>An ANN model using feedforward backpropagation was developed in MATLAB<sup>&#xae;</sup> and its Neural Network Pattern Recognition tool. Through an iterative and systematic experimental process, 339 training sessions were performed based on 104 different ANN topological configurations to select the optimal model. The final model consisted of an input layer with six neurons corresponding to each input variable, three hidden layers with 50 neurons each, and an output layer with six neurons. The resilient backpropagation training algorithm was employed, with sigmoid activation functions in the hidden layers and softmax in the output layer, using cross-entropy as the loss function.</p>
<p>The developed ANN model demonstrated outstanding performance, achieving a training accuracy of 97.1%, a validation accuracy of 92.8%, a testing accuracy of 90.3%, and an overall accuracy of 95.4%. These results suggest that the trained model is highly effective at predicting the six flow patterns. Notably, the training process required only 2&#xa0;s, indicating high computational efficiency. The precision of the ANN model in recognizing flow patterns suggests opportunities to optimize pipeline design and maintenance processes by estimating critical process parameters, such as pressure gradients and volumetric fractions in the flow system.</p>
<p>Beyond its strong predictive performance, the proposed model demonstrates substantial potential for practical deployment in industrial settings. Its ability to classify flow patterns with high reliability and low latency makes it suitable for integration into real-time monitoring systems, such as SCADA platforms or embedded diagnostic tools for pipeline infrastructure. This opens opportunities for automated decision-making in flow assurance, chemical dosing optimization, corrosion control, and maintenance scheduling, all of which are critical for operational safety and efficiency in the oil and gas industry.</p>
<p>Additionally, because the model was trained on a diverse and comprehensive experimental database, it offers high scalability and adaptability across a broad range of pipeline geometries, fluid properties, and operating conditions. These features enable its use in varied field applications, including offshore platforms, onshore transport systems, and laboratory-scale experimental setups, without significant retraining or hardware constraints.</p>
<p>Nevertheless, several limitations should be acknowledged. First, the model was trained on laboratory-generated data, which may not fully capture the complexities encountered in field-scale operations, such as temperature fluctuations, scale deposition, or transient behaviors. Second, an imbalance in the number of data points per flow pattern category may lead to classification bias toward the majority classes. Third, as with most neural network architectures, the model functions as a &#x201c;black box&#x201d;, offering limited interpretability regarding the physical mechanisms underlying its predictions.</p>
<p>To address these limitations, future work will focus on external validation using new experimental data from controlled laboratory test rigs and real pipeline operations. The integration of explainable AI techniques and comparisons with alternative machine learning models will also be explored to enhance interpretability and benchmarking. Moreover, the construction of a more balanced and expanded database, particularly in underrepresented flow pattern classes, is recommended to enhance robustness and reduce bias in predictive performance.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s6">
<title>Author contributions</title>
<p>DU-T: Conceptualization, Formal Analysis, Investigation, Writing &#x2013; original draft. CR-D: Conceptualization, Data curation, Methodology, Validation, Writing &#x2013; review and editing. OG-E: Conceptualization, Formal Analysis, Funding acquisition, Investigation, Methodology, Project administration, Supervision, Validation, Writing &#x2013; review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s7">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This work was supported by Universidad Industrial de Santander (grant number VIE-3714, VIE-3716, VIE-3913).</p>
</sec>
<ack>
<p>Carlos Ruiz gratefully acknowledges the support of the Ministerio de Ciencia, Tecnolog&#xed;a e Innovaci&#xf3;n of Colombia. We acknowledge the support of the Industrial Multiphase Flow Laboratory (LEMI) of the Sao Carlos School of Engineering, University of S&#x00E3;o Paulo.</p>
</ack>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s9">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Al-Wahaibi</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Al-Wahaibi</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Al-Ajmi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Al-Hajri</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Yusuf</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Olawale</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2014</year>). <article-title>Experimental investigation on flow patterns and pressure gradient through two pipe diameters in horizontal oil-water flows</article-title>. <source>J. Pet. Sci. Eng.</source> <volume>122</volume>, <fpage>266</fpage>&#x2013;<lpage>273</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2014.07.019</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abba</surname>
<given-names>S. I.</given-names>
</name>
<name>
<surname>Usman</surname>
<given-names>A. G.</given-names>
</name>
<name>
<surname>I&#x15f;ik</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Simulation for response surface in the HPLC optimization method development using artificial intelligence models: a data-driven approach</article-title>. <source>Chemom. Intell. Lab. Syst.</source> <volume>201</volume> (<issue>November 2019</issue>), <fpage>104007</fpage>. <pub-id pub-id-type="doi">10.1016/j.chemolab.2020.104007</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abdel Azim</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Prediction of multiphase flow rate for artificially flowing wells using rigorous artificial neural network technique</article-title>. <source>Flow. Meas. Instrum.</source> <volume>76</volume> (<issue>September</issue>), <fpage>101835</fpage>. <pub-id pub-id-type="doi">10.1016/j.flowmeasinst.2020.101835</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abduvayt</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Manabe</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Watanabe</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Arihara</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>Analisis of oil-water flow tests in horizontal, hilly-terrain, and vertical pipes</article-title>. <source>Proc. - SPE Annu. Tech. Conf. Exhib.</source>, <fpage>1335</fpage>&#x2013;<lpage>1347</lpage>. <pub-id pub-id-type="doi">10.2523/90096-ms</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Alhashem</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Machine learning classification model for multiphase flow regimes in horizontal pipes</article-title>,&#x201d; in <source>Int. Pet. Technol. Conf. 2020, IPTC 2020</source>. <pub-id pub-id-type="doi">10.2523/iptc-20058-abstract</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Al-Naser</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Elshafei</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Al-Sarkhi</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Artificial neural network application for multiphase flow patterns detection: a new approach</article-title>. <source>J. Pet. Sci. Eng.</source> <volume>145</volume>, <fpage>548</fpage>&#x2013;<lpage>564</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2016.06.029</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Al-Sarkhi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Pereyra</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Mantilla</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Avila</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Dimensionless oil-water stratified to non-stratified flow pattern transition</article-title>. <source>J. Pet. Sci. Eng.</source> <volume>151</volume>, <fpage>284</fpage>&#x2013;<lpage>291</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2017.01.016</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Argatov</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Artificial neural networks (ANNs) as a novel modeling technique in tribology</article-title>. <source>Front. Mech. Eng.</source> <volume>5</volume>. <pub-id pub-id-type="doi">10.3389/fmech.2019.00030</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bahrami</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Mohsenpour</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Shamshiri Noghabi</surname>
<given-names>H. R.</given-names>
</name>
<name>
<surname>Hemmati</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Tabzar</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Estimation of flow rates of individual phases in an oil-gas-water multiphase flow system using neural network approach and pressure signal analysis</article-title>. <source>Flow. Meas. Instrum.</source> <volume>66</volume>, <fpage>28</fpage>&#x2013;<lpage>36</lpage>. <pub-id pub-id-type="doi">10.1016/j.flowmeasinst.2019.01.018</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cai</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Ayello</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Richter</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Nesic</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Experimental study of water wetting in oil-water two phase flow-Horizontal flow of model oil</article-title>. <source>Chem. Eng. Sci.</source> <volume>73</volume>, <fpage>334</fpage>&#x2013;<lpage>344</lpage>. <pub-id pub-id-type="doi">10.1016/j.ces.2012.01.014</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chauvin</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Rumelhart</surname>
<given-names>D. E.</given-names>
</name>
</person-group> (<year>1995</year>). <source>Backpropagation: theory, architectures, and applications</source>. <publisher-name>Lawrence Erlbaum Associates, Inc</publisher-name>.</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chimeno-Trinchet</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Murru</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>D&#xed;az-Garc&#xed;a</surname>
<given-names>M. E.</given-names>
</name>
<name>
<surname>Fern&#xe1;ndez-Gonz&#xe1;lez</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Bad&#xed;a-La&#xed;&#xf1;o</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Artificial Intelligence and fourier-transform infrared spectroscopy for evaluating water-mediated degradation of lubricant oils</article-title>. <source>Talanta</source> <volume>219</volume>, <fpage>121312</fpage>. <pub-id pub-id-type="doi">10.1016/j.talanta.2020.121312</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cohen</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1988</year>). <source>Statistical power analysis for the behavioral sciences</source>. <edition>Second Edition, 2nd edn</edition>. <publisher-loc>New York</publisher-loc>: <publisher-name>Lawrence Erlbaum Associates</publisher-name>.</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>&#xc7;olak</surname>
<given-names>A. B.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>Investigating a machine learning algorithm&#x2019;s applicability for simulating the apparent viscosity of waxy crude oil in a pipeline</article-title>. <source>Int. J. Oil, Gas. Coal Technol.</source> <volume>37</volume> (<issue>3</issue>), <fpage>321</fpage>&#x2013;<lpage>337</lpage>. <pub-id pub-id-type="doi">10.1504/IJOGCT.2025.145438</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dasari</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Desamala</surname>
<given-names>A. B.</given-names>
</name>
<name>
<surname>Dasmahapatra</surname>
<given-names>A. K.</given-names>
</name>
<name>
<surname>Mandal</surname>
<given-names>T. K.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Experimental studies and probabilistic neural network prediction on flow pattern of viscous oil-water flow through a circular horizontal pipe</article-title>. <source>Ind. Eng. Chem. Res.</source> <volume>52</volume> (<issue>23</issue>), <fpage>7975</fpage>&#x2013;<lpage>7985</lpage>. <pub-id pub-id-type="doi">10.1021/ie301430m</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>D&#xed;az</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gonz&#xe1;lez-Estrada</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Cely</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Predictive modeling of holdup in horizontal wateroil flow using a neural network approach</article-title>,&#x201d; in <source>14th WCCM-ECCOMAS congress</source> (<publisher-name>CIMNE</publisher-name>), <fpage>11</fpage>&#x2013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.23967/wccm-eccomas.2020.283</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Du</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Oil-in-Water two-phase flow pattern identification from experimental snapshots using convolutional neural network</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>6219</fpage>&#x2013;<lpage>6225</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2018.2888733</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>El-Sebakhy</surname>
<given-names>E. A.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Flow regimes identification and liquid-holdup prediction in horizontal multiphase flow based on neuro-fuzzy inference systems</article-title>. <source>Math. Comput. Simul.</source> <volume>80</volume> (<issue>9</issue>), <fpage>1854</fpage>&#x2013;<lpage>1866</lpage>. <pub-id pub-id-type="doi">10.1016/j.matcom.2010.01.002</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Figueiredo</surname>
<given-names>M. M. F.</given-names>
</name>
<name>
<surname>Goncalves</surname>
<given-names>J. L.</given-names>
</name>
<name>
<surname>Nakashima</surname>
<given-names>A. M. V.</given-names>
</name>
<name>
<surname>Fileti</surname>
<given-names>A. M. F.</given-names>
</name>
<name>
<surname>Carvalho</surname>
<given-names>R. D. M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>The use of an ultrasonic technique and neural networks for identification of the flow pattern and measurement of the gas volume fraction in multiphase flows</article-title>. <source>Exp. Therm. Fluid Sci.</source> <volume>70</volume>, <fpage>29</fpage>&#x2013;<lpage>50</lpage>. <pub-id pub-id-type="doi">10.1016/j.expthermflusci.2015.08.010</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>G&#xf3;mez</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Henao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Salazar</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>Entrenamiento de una red neuronal artificial usando el algoritmo simulated annealing</article-title>. <source>Scientia Et Technica</source> <volume>1</volume> (<issue>24</issue>), <fpage>13</fpage>&#x2013;<lpage>18</lpage>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://revistas.utp.edu.co/index.php/revistaciencia/article/view/7307">https://revistas.utp.edu.co/index.php/revistaciencia/article/view/7307</ext-link>
</comment>.</citation>
</ref>
<ref id="B21">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Goodfellow</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Bengio</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Coutville</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Deep learning</source>. <publisher-loc>Massachusetts</publisher-loc>: <publisher-name>The MIT Press</publisher-name>.</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Grassi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Strazza</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Poesio</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Experimental validation of theoretical models in two-phase high-viscosity ratio liquid-liquid flows in horizontal and slightly inclined pipes</article-title>. <source>Int. J. Multiph. Flow.</source> <volume>34</volume> (<issue>10</issue>), <fpage>950</fpage>&#x2013;<lpage>965</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijmultiphaseflow.2008.03.006</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guyon</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>De</surname>
<given-names>A. M.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>An introduction to variable and feature selection andr&#xe9; elisseeff</article-title>. <source>J. Mac. Learn.</source> <volume>3</volume>, <fpage>1157</fpage>&#x2013;<lpage>1182</lpage>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hern&#xe1;ndez-Cely</surname>
<given-names>M. M.</given-names>
</name>
<name>
<surname>Ruiz-Diaz</surname>
<given-names>C. M.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Estudio de los fluidos aceite-agua a trav&#xe9;sdel sensor basado en la permitividad el&#xe9;ctrica del patr&#xf3;n de fluido</article-title>. <source>Rev. UIS Ing.</source> <volume>19</volume> (<issue>3</issue>), <fpage>177</fpage>&#x2013;<lpage>186</lpage>. <pub-id pub-id-type="doi">10.18273/revuin.v19n3-2020017</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hern&#xe1;ndez-Cely</surname>
<given-names>M. M.</given-names>
</name>
<name>
<surname>Ruiz-D&#xed;az</surname>
<given-names>C. M.</given-names>
</name>
<name>
<surname>Gonz&#xe1;lez-Estrada</surname>
<given-names>O. A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Modelo predictivo para el c&#xe1;lculo de la fracci&#xf3;n volum&#xe9;trica de un flujo bif&#xe1;sico agua-aceite en la horizontal utilizando una red neuronal artificial</article-title>. <source>Rev. UIS Ing.</source> <volume>21</volume> (<issue>2</issue>), <fpage>155</fpage>&#x2013;<lpage>164</lpage>. <pub-id pub-id-type="doi">10.18273/revuin.v21n2-2022013</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hern&#xe1;ndez-Salazar</surname>
<given-names>C. A.</given-names>
</name>
<name>
<surname>Carre&#xf1;o-Verdugo</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Gonz&#xe1;lez-Estrada</surname>
<given-names>O. A.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Prediction of the volume fraction of liquid-liquid two-phase flow in horizontal pipes using Long-Short Term Memory Networks</article-title>. <source>Rev. UIS Ing.</source> <volume>23</volume> (<issue>3</issue>). <pub-id pub-id-type="doi">10.18273/revuin.v23n3-2024002</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Duo</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Prediction of two-phase flow patterns based on machine learning</article-title>. <source>Nucl. Eng. Des.</source> <volume>421</volume>, <fpage>113107</fpage>. <pub-id pub-id-type="doi">10.1016/j.nucengdes.2024.113107</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ibarra</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Zadrazil</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Markides</surname>
<given-names>C. N.</given-names>
</name>
<name>
<surname>Matar</surname>
<given-names>O. K.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Towards a universal dimensionless map of flow regime transitions in horizontal liquid-liquid flows</article-title>. <conf-name>11th International Conference on Heat Transfer, Fluid Mechanics and Thermodynamics</conf-name>, <conf-loc>Kruger National Park</conf-loc> <volume>1-6</volume>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.imperial.ac.uk/clean-energy-processes/publications/conferences/">https://www.imperial.ac.uk/clean-energy-processes/publications/conferences/</ext-link>
</comment>.</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jorjani</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Chehreh Chelgani</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Mesroghli</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Application of artificial neural networks to predict chemical desulfurization of Tabas coal</article-title>. <source>Fuel</source> <volume>87</volume> (<issue>12</issue>), <fpage>2727</fpage>&#x2013;<lpage>2734</lpage>. <pub-id pub-id-type="doi">10.1016/j.fuel.2008.01.029</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Investigating the performance of machine learning models combined with different feature selection methods to estimate the energy consumption of buildings</article-title>. <source>Energy Build.</source> <volume>273</volume> (<issue>Oct</issue>), <fpage>112408</fpage>. <pub-id pub-id-type="doi">10.1016/j.enbuild.2022.112408</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lum</surname>
<given-names>J. Y. L.</given-names>
</name>
<name>
<surname>Al-Wahaibi</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Angeli</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Upward and downward inclination oil&#x2013;water flows</article-title>. <source>Int. J. Multiph. Flow.</source> <volume>32</volume> (<issue>4</issue>), <fpage>413</fpage>&#x2013;<lpage>435</lpage>. <pub-id pub-id-type="doi">10.1016/J.IJMULTIPHASEFLOW.2006.01.001</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Montoya</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Garcia</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Valencillos</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Garcia</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Romero</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gonzalez-Mendizabal</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>Determinaci&#xf3;n de altura de fase y hold up para flujo bif&#xe1;sico l&#xed;quido-l&#xed;quido en tuber&#xed;as horizontales por medio de procesamiento de im&#xe1;genes</article-title>,&#x201d; in <source>Conference: American society of mechanical engineers (ASME) congress &#x201c;ideas Practicas&#x2026;Soluciones eficientes</source>, <fpage>1</fpage>&#x2013;<lpage>10</lpage>.</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>N&#xe4;dler</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mewes</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>1997</year>). <article-title>Flow induced emulsification in the flow of two immiscible liquids in horizontal pipes</article-title>. <source>Int. J. Multiph. Flow.</source> <volume>23</volume> (<issue>1</issue>), <fpage>55</fpage>&#x2013;<lpage>68</lpage>. <pub-id pub-id-type="doi">10.1016/s0301-9322(96)00055-9</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Osundare</surname>
<given-names>O. S.</given-names>
</name>
<name>
<surname>Falcone</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Lao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Elliott</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Liquid-liquid flow pattern prediction using relevant dimensionless parameter groups</article-title>. <source>Energies</source> <volume>13</volume> (<issue>17</issue>), <fpage>4355</fpage>. <pub-id pub-id-type="doi">10.3390/en13174355</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Perera</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Pradeep</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Mylvaganam</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Time</surname>
<given-names>R. W.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Imaging of oil-water flow patterns by electrical capacitance tomography</article-title>. <source>Flow. Meas. Instrum.</source> <volume>56</volume>, <fpage>23</fpage>&#x2013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1016/J.FLOWMEASINST.2017.07.002</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Powers</surname>
<given-names>D. M. W.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation</article-title>. <source>J. Mach. Learn. Technol.</source>, <fpage>37</fpage>&#x2013;<lpage>63</lpage>. <pub-id pub-id-type="doi">10.48550/arXiv.2010.16061</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Qin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Flow pattern identification of oil-water two-phase flow based on multi-feature convolutional neural network</article-title>,&#x201d; in <source>2021 China automation congress (CAC)</source> (<publisher-name>IEEE</publisher-name>), <fpage>7447</fpage>&#x2013;<lpage>7451</lpage>. <pub-id pub-id-type="doi">10.1109/CAC53003.2021.9727531</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Razavi</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Mortazavi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mousavi</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Dynamic modelling of milk ultrafiltration by artificial neural network</article-title>. <source>J. Memb. Sci.</source> <volume>220</volume> (<issue>1&#x2013;2</issue>), <fpage>47</fpage>&#x2013;<lpage>58</lpage>. <pub-id pub-id-type="doi">10.1016/S0376-7388(03)00211-4</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rodriguez</surname>
<given-names>O. M. H.</given-names>
</name>
<name>
<surname>Oliemans</surname>
<given-names>R. V. A.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Experimental study on oil-water flow in horizontal and slightly inclined pipes</article-title>. <source>Int. J. Multiph. Flow.</source> <volume>32</volume> (<issue>3</issue>), <fpage>323</fpage>&#x2013;<lpage>343</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijmultiphaseflow.2005.11.001</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Roshani</surname>
<given-names>G. H.</given-names>
</name>
<name>
<surname>Feghhi</surname>
<given-names>S. A. H.</given-names>
</name>
<name>
<surname>Mahmoudi-Aznaveh</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Nazemi</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Adineh-Vand</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Precise volume fraction prediction in oil-water-gas multiphase flows by means of gamma-ray attenuation and artificial neural networks using one detector</article-title>. <source>Meas. J. Int. Meas. Confed.</source> <volume>51</volume> (<issue>1</issue>), <fpage>34</fpage>&#x2013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1016/j.measurement.2014.01.030</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Roshani</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Phan</surname>
<given-names>G. T.</given-names>
</name>
<name>
<surname>Jammal Muhammad Ali</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Hossein Roshani</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Hanus</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Duong</surname>
<given-names>T.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Evaluation of flow pattern recognition and void fraction measurement in two phase flow independent of oil pipeline&#x2019;s scale layer thickness</article-title>. <source>Alex. Eng. J.</source> <volume>60</volume> (<issue>1</issue>), <fpage>1955</fpage>&#x2013;<lpage>1966</lpage>. <pub-id pub-id-type="doi">10.1016/J.AEJ.2020.11.043</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ruiz-D&#xed;az</surname>
<given-names>C. M.</given-names>
</name>
<name>
<surname>Perilla-Plata</surname>
<given-names>E. E.</given-names>
</name>
<name>
<surname>Gonz&#xe1;lez-Estrada</surname>
<given-names>O. A.</given-names>
</name>
</person-group> (<year>2024a</year>). <article-title>Two-phase flow pattern identification in vertical pipes using transformer neural networks</article-title>. <source>Inventions</source> <volume>9</volume> (<issue>1</issue>), <fpage>15</fpage>. <pub-id pub-id-type="doi">10.3390/inventions9010015</pub-id>
</citation>
</ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ruiz-D&#xed;az</surname>
<given-names>C. M.</given-names>
</name>
<name>
<surname>Quispe-Suarez</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Gonz&#xe1;lez-Estrada</surname>
<given-names>O. A.</given-names>
</name>
</person-group> (<year>2024b</year>). <article-title>Two-phase oil and water flow pattern identification in vertical pipes applying long short-term memory networks</article-title>. <source>Emergent Mater</source>, <fpage>0123456789</fpage>. <pub-id pub-id-type="doi">10.1007/s42247-024-00631-2</pub-id>
</citation>
</ref>
<ref id="B44">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Salgado</surname>
<given-names>C. M.</given-names>
</name>
<name>
<surname>Pereira</surname>
<given-names>C. M. N. A.</given-names>
</name>
<name>
<surname>Schirru</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Brand&#xe3;o</surname>
<given-names>L. E. B.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Flow regime identification and volume fraction prediction in multiphase flows by means of gamma-ray attenuation and artificial neural networks</article-title>. <source>Prog. Nucl. Energy</source> <volume>52</volume> (<issue>6</issue>), <fpage>555</fpage>&#x2013;<lpage>562</lpage>. <pub-id pub-id-type="doi">10.1016/j.pnucene.2010.02.001</pub-id>
</citation>
</ref>
<ref id="B45">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Lao</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yeung</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Water-lubricated transport of high-viscosity oil in horizontal pipes: the water holdup and pressure gradient</article-title>. <source>Int. J. Multiph. Flow.</source> <volume>96</volume>, <fpage>70</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijmultiphaseflow.2017.07.005</pub-id>
</citation>
</ref>
<ref id="B46">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yeung</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Characterization of liquid-liquid flows in horizontal pipes</article-title>. <source>AIChE J.</source> <volume>63</volume> (<issue>3</issue>), <fpage>1132</fpage>&#x2013;<lpage>1143</lpage>. <pub-id pub-id-type="doi">10.1002/aic.15452</pub-id>
</citation>
</ref>
<ref id="B47">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shirley</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Chakrabarti</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Das</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Artificial neural networks in liquid-liquid two-phase flow</article-title>. <source>Chem. Eng. Commun.</source> <volume>199</volume> (<issue>12</issue>), <fpage>1520</fpage>&#x2013;<lpage>1542</lpage>. <pub-id pub-id-type="doi">10.1080/00986445.2012.682323</pub-id>
</citation>
</ref>
<ref id="B48">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Shoham</surname>
<given-names>O.</given-names>
</name>
</person-group> (<year>2005</year>). <source>Mechanistic modeling of gas-liquid two-phase flow in pipes</source>. <edition>1st edn</edition>. <publisher-loc>Richardson, Texas</publisher-loc>: <publisher-name>Society of Petroleum Engineers</publisher-name>.</citation>
</ref>
<ref id="B49">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Soot</surname>
<given-names>P. M.</given-names>
</name>
</person-group> (<year>1970</year>). &#x201c;<article-title>A study of two-phase liquid-liquid flow in pipes</article-title>,&#x201d; in <source>Thesis in partial fulfillment of the requirements for the degree of Doctor of Philosophy</source>. <publisher-name>Oregon State University</publisher-name>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://ir.library.oregonstate.edu/downloads/wp988n23x">https://ir.library.oregonstate.edu/downloads/wp988n23x</ext-link>.</comment>
</citation>
</ref>
<ref id="B50">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Su</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Bai</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Fang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2024</year>). &#x201c;<article-title>Ultrasonic identification method of oil-gas-water multiphase flow pattern based on K-means clustering algorithm</article-title>,&#x201d; in <source>2024 43rd Chinese control conference (CCC)</source> (<publisher-name>IEEE</publisher-name>), <fpage>2100</fpage>&#x2013;<lpage>2105</lpage>. <pub-id pub-id-type="doi">10.23919/CCC63176.2024.10661823</pub-id>
</citation>
</ref>
<ref id="B51">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>N.</given-names>
</name>
<etal/>
</person-group> (<year>2025</year>). <article-title>Investigation on flow characteristics of highly viscous oil-water core-annular flow in horizontal pipes based on machine learning</article-title>. <source>Int. J. Multiph. Flow.</source> <volume>189</volume>, <fpage>105265</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijmultiphaseflow.2025.105265</pub-id>
</citation>
</ref>
<ref id="B52">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Sina</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Optimization of entrainment and interfacial flow patterns in countercurrent air-water two-phase flow in vertical pipes</article-title>. <source>Front. Mater.</source> <volume>11</volume>. <pub-id pub-id-type="doi">10.3389/fmats.2024.1454922</pub-id>
</citation>
</ref>
<ref id="B53">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xie</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sage</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Y. F.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Feature selection and feature learning in machine learning applications for gas turbines: a review</article-title>. <source>Eng. Appl. Artif. Intell.</source> <volume>117</volume>, <fpage>105591</fpage>. <pub-id pub-id-type="doi">10.1016/J.ENGAPPAI.2022.105591</pub-id>
</citation>
</ref>
<ref id="B54">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>ECT Attention Reverse Mapping algorithm: visualization of flow pattern heatmap based on convolutional neural network and its impact on ECT image reconstruction</article-title>. <source>Meas. Sci. Technol.</source> <volume>32</volume> (<issue>3</issue>), <fpage>035403</fpage>. <pub-id pub-id-type="doi">10.1088/1361-6501/abc1ad</pub-id>
</citation>
</ref>
<ref id="B55">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Feature selection-based machine learning modeling for distributed model predictive control of nonlinear processes</article-title>. <source>Comput. Chem. Eng.</source> <volume>169</volume>, <fpage>108074</fpage>. <pub-id pub-id-type="doi">10.1016/j.compchemeng.2022.108074</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>