<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">FDMP</journal-id>
<journal-id journal-id-type="nlm-ta">FDMP</journal-id>
<journal-id journal-id-type="publisher-id">FDMP</journal-id>
<journal-title-group>
<journal-title>Fluid Dynamics &#x0026; Materials Processing</journal-title>
</journal-title-group>
<issn pub-type="epub">1555-2578</issn>
<issn pub-type="ppub">1555-256X</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">59925</article-id>
<article-id pub-id-type="doi">10.32604/fdmp.2025.059925</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Modeling Oil Production and Heat Distribution during Hot Water-Flooding in an Oil Reservoir</article-title>
<alt-title alt-title-type="left-running-head">Modeling Oil Production and Heat Distribution during Hot Water-flooding in an Oil Reservoir</alt-title>
<alt-title alt-title-type="right-running-head">Modeling Oil Production and Heat Distribution during Hot Water-flooding in an Oil Reservoir</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Nwaigwe</surname><given-names>Chinedu</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="aff" rid="aff-2">2</xref><email>nwaigwe.chinedu@ust.edu.ng</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Atangana</surname><given-names>Abdon</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Department of Mathematics, Rivers State University</institution>, <addr-line>Port Harcourt, 5080</addr-line>, <country>Nigeria</country></aff>
<aff id="aff-2"><label>2</label><institution>Institute for Ground Water Studies, University of the Free State</institution>, <addr-line>Bloemfontein, 9300</addr-line>, <country>South Africa</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Chinedu Nwaigwe. Email: <email>nwaigwe.chinedu@ust.edu.ng</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2025</year></pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>30</day>
<month>05</month>
<year>2025</year></pub-date>
<volume>21</volume>
<issue>5</issue>
<fpage>1239</fpage>
<lpage>1259</lpage>
<history>
<date date-type="received">
<day>20</day>
<month>10</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>21</day>
<month>1</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2025 The Authors.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Published by Tech Science Press.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_FDMP_59925.pdf"></self-uri>
<abstract>
<p>In the early stages of oil exploration, oil is produced through processes such as well drilling. Later, hot water may be injected into the well to improve production. A key challenge is understanding how the temperature and velocity of the injected hot water affect the production rate. This is the focus of the current study. It proposes variable-viscosity mathematical models for heat and water saturation in a reservoir containing Bonny-light crude oil, with the aim of investigating the effects of water temperature and velocity on the recovery rate. First, two sets of experimental data are used to construct explicit temperature-dependent viscosity models for Bonny-light crude oil and water. These viscosity models are incorporated into the Buckley-Leverette equation for the dynamics of water saturation. A convex combination of the thermal conductivities of oil and water is used to formulate a heat propagation model. A finite volume scheme with temperature-dependent HLL numerical flux is proposed for saturation, while a finite difference approximation is derived for the heat model, both on a staggered grid. The convergence of the method is verified numerically. Simulations are conducted with different parameter values. The results show that at a wall temperature of 10&#x00B0;C, an increase in the injection velocity from <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mn>0.1</mml:mn></mml:math></inline-formula> to <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mn>0.25</mml:mn></mml:math></inline-formula> increases the production rate from <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mn>8.33</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mn>20.8</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>. Meanwhile, with an injection velocity of <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, an increase in the temperature of the injected water from 25&#x00B0;C to 55&#x00B0;C increases production rate from <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mn>59.48</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mn>61.95</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>. Therefore, it is concluded that an increase in either or both the temperature and velocity of the injected water leads to increased oil production, which is physically realistic. This indicates that the developed model is able to give useful insights into hot water flooding.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Oil recovery</kwd>
<kwd>injecting velocity</kwd>
<kwd>HLL finite volume method</kwd>
<kwd>Buckley-Leverette equation</kwd>
<kwd>fractional flow model</kwd>
<kwd>temperature-dependent viscosity models</kwd>
<kwd>water saturation</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>An oil reservoir is a porous rock which contains hydrocarbons and resides hundreds of meters underneath the ground. It is usually heterogeneous, meaning that their properties, such as porosity and permeability, vary in space.</p>
<p>At the early stage of oil exploration, the reservoir is at equilibrium pressure with the atmosphere. Any perturbation, such as a drill of a well into the reservoir, immediately disturbs the equilibrium pressure and this causes the hydrocarbons to flow out. This is usually termed the primary recovery technique. This process only leads to about <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mn>20</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> production of the total hydrocarbon initially present in the reservoir. To continue production, the secondary recovery method can be applied. This involves injecting water or gas at an injection well, which then pushes out the hydrocarbons at the production well. This process may also lead to the production of another <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mn>20</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> of the hydrocarbons. In order to further production, another approach called Tertiary recovery or enhanced oil recovery (EOR) can be employed. This involves the injection of some special substances like polymers, foam, or solvents. These injected substances can enhance the miscibility of oil and water, thus leading to improved production. The present study is focused on hot waterflooding. See by Ezekwe [<xref ref-type="bibr" rid="ref-1">1</xref>] and also Ursegov and Zakharian [<xref ref-type="bibr" rid="ref-2">2</xref>].</p>
<p>In both secondary and tertiary recovery techniques, it is obvious that the amount of water and oil components would vary across the reservoir-as one goes from the injection well to the production well. Hence, it would be of operational importance to know when water starts to be produced. Also, it is important to know the effects of the velocity of water injection, and even fluid properties, on the rate of production. The knowledge can be used by reservoir engineers to predict and optimize production, support decision marking, and access different operating conditions among others.</p>
<p>Consequently, much research attention has been paid to modeling and simulation of the dynamics of oil recovery processes, especially the secondary and tertiary recovery techniques. For example, finite element based simulations of oil reservoirs can be found in the book of Chavent and Jaffre [<xref ref-type="bibr" rid="ref-3">3</xref>], while finite volume based models are discussed by Aarnes et al. [<xref ref-type="bibr" rid="ref-4">4</xref>]; another classical book in the subject is the one by Aziz [<xref ref-type="bibr" rid="ref-5">5</xref>]. Esfe and co-authors [<xref ref-type="bibr" rid="ref-6">6</xref>] investigated the use of nanofluids in EOR; they considered <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mrow><mml:mtext>SiO</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext>Al</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub><mml:msub><mml:mrow><mml:mtext>O</mml:mtext></mml:mrow><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mrow><mml:mtext>CuO</mml:mtext></mml:mrow></mml:math></inline-formula> nonoparticles with water as the base fluid. Their results show that increasing the inlet temperature has effect on the EOR process. Zhao and Gates [<xref ref-type="bibr" rid="ref-7">7</xref>] used a stochastic optimization algorithm (simulated annealing) to investigate the effects of water temperature, injection pressure , and other reservoir conditions on the performance of hot water-flooding. The results show that starting with high injecting water temperature and ending with the low injecting temperature improves the performance of the hot water-flooding process, and so do high injecting pressure.</p>
<p>According to Dong et al. [<xref ref-type="bibr" rid="ref-8">8</xref>], the dissolution of carbon dioxide in the reservoir oil decrease the oil viscosity which favors the miscibility between oil and water. Also, the dissolved carbon dioxide cause the oil volume to expand which increases the relative permeability of oil. Hence, Marotto and Pires [<xref ref-type="bibr" rid="ref-9">9</xref>] mathematically investigated the use of carbonated water (carbon dioxide injected into hot water) in an EOR process. Their model involves three hyperbolic partial differential equations which were formulated under the assumption of two-phase, one-dimensional flow in a homogeneous reservoir without diffusion, chemical reaction, gravity, or capillary effects. They defined a constant, <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mi>K</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:math></inline-formula> as the ratio of Henry&#x2019;s constant of the carbon dioxide in the oil phase to Henry&#x2019;s constant of the carbon dioxide in the water phase. Their results show that the increase in <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mi>K</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:math></inline-formula> (transferring more carbon dioxide to the oil phase) leads to an increase in the recovery factor. Wang [<xref ref-type="bibr" rid="ref-10">10</xref>] presented a mathematical model of steam flooding and used a meshless weighted least squares method to approximate the time evolution of temperature and saturation of oil and water. The results show that porosity affects the distribution of gas saturation and the temperature. Masoomi and Torabi [<xref ref-type="bibr" rid="ref-11">11</xref>] presented numerical simulations to predict temperature distribution and performance of hot-water flooding in oil reservoirs. They found that the relative permeability of oil is sensitive to temperature change. They also carried out laboratory experiments and used it to validate the numerical results.</p>
<p>From the available literature, the following important issues have not be addressed to satisfaction, namely (i) incorporating real-data into viscosity models (via regression analysis) and using it in the model equations, (ii) adopting a combination of thermal conductivity to derive the thermal conductivity of the oil-water mixture and using it in the heat model, (iii) investigating the effects of injection velocity and/or temperature of the injected water on the oil production in the waterflooding process, and (iv) deriving a formula that links the water saturation to the percentage of oil production.</p>
<p>Consequently, this paper presents a study that begins with real experimental data and uses it to first develop viscosity models for oil and water. These are then used to develop models and simulations for predicting the rate of oil recovery during hot waterflooding in a reservoir containing Bonny-light hydrocarbon. The arrangement of the paper is as follows. In the introductory section, we begin by presenting the model equations for water saturation and heat evolution. These equations contain nonlinear fluxes which include the viscosity of oil and water and also their thermal conductivities. For this, in <xref ref-type="sec" rid="s2_1">Sections 2.1</xref> and <xref ref-type="sec" rid="s2_2">2.2</xref>, we use experimental data to propose new viscosity models for Bonny-light crude oil and water. In the numerical analysis <xref ref-type="sec" rid="s3">Section 3</xref>, we propose a modified HLL numerical flux function and apply it to derive a hybrid numerical discretization comprising finite volume and finite difference methods on a staggered grid. The convergence of the proposed method is numerically verified. Simulations, investigations, and results are presented and discussed. Lastly, concluding remarks are made.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Mathematical Model of Water Saturation and Temperature during Hot Water-Flooding</title>
<p>In this section, we present the mathematical statement of the reservoir problems under study. We consider a horizontal one-dimensional oil reservoir with an injection well at the left end and a production well at the right end. At time zero, hot water starts to be injected into the reservoir from the injection well, our goal is to predict the water saturation and temperature of the oil-water fluid in the reservoir at later times. We make the following assumptions:
<list list-type="simple">
<list-item><label>(i)</label><p>The reservoir is initially filled with <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mn>99</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> oil,</p></list-item>
<list-item><label>(ii)</label><p>Gravitational and capillary effects are neglected,</p></list-item>
<list-item><label>(iii)</label><p>The reservoir is assumed to be homogeneous,</p></list-item>
<list-item><label>(iv)</label><p>The relative permeability of water depends on the saturation of water, also the relative permeability of oil depends on the saturation of oil,</p></list-item>
<list-item><label>(v)</label><p>The viscosity of oil is dependent on the temperature, and the same is true for the viscosity of water,</p></list-item>
<list-item><label>(vi)</label><p>The hot water is injected at a constant rate, <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi>v</mml:mi></mml:math></inline-formula> and constant temperature, <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>Under these assumptions, the equation governing the time evolution of the water saturation <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is given by the following Buckley-Leverrete partial differential equation:
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mi>v</mml:mi><mml:mi>&#x03D5;</mml:mi></mml:mfrac><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mn>0.</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>v</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi>&#x03D5;</mml:mi></mml:math></inline-formula> are the fluid velocity and porosity, respectively, while <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the water fractional flow, and it measures the fraction of water in the total flow, and is defined as
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>with
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mspace width="1em" /><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>and</mml:mtext></mml:mstyle><mml:mspace width="1em" /><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>being the mobilities of water and oil phases, respectively. Also, <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are the relative permeabilities of water and oil, while <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are their respective viscosities which depend on the temperature, <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Note <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msub><mml:mi>s</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula> is the oil saturation.</p>
<p>To write the fractional flow in closed form, we need to define the relative permeability functions and also the viscosity functions. Later, we will use real data obtained from the literature to construct models for viscosity dependence on temperature, but at the moment let us define the relative permeability functions. For this, we adopt the power law model according to Holden and Risebro [<xref ref-type="bibr" rid="ref-12">12</xref>] which states
<disp-formula id="ueqn-4"><mml:math id="mml-ueqn-4" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="2em" /><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mi>o</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>With the above definition, the fractional flow function becomes
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msubsup><mml:mi>s</mml:mi><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mrow><mml:msubsup><mml:mi>s</mml:mi><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Hence, the water saturation is governed by the Buckley-Leverett <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> with saturation- and temperature-dependent fractional flow <xref ref-type="disp-formula" rid="eqn-4">(4)</xref>.</p>
<p><bold>The Temperature Model</bold></p>
<p>To derive the temperature of the fluid, we assume that no heat is generated or lost within the reservoir. The only heat source is the one that comes from the injected hot water from the injection well. We require that the thermal conductivity <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>o</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> of the oil-water fluid must reduce to the thermal conductivity of oil alone (<inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:math></inline-formula>) if water is totally absent, but if oil is completely absent, then it must reduce to the thermal conductivity (<inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>) of water. To realize this requirement, we propose the following model:
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>o</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Observe that this model satisfies the requirement above. Even in the case of temperature-dependent thermal conductivity, we can just define
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>o</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>With the above information, we propose the following heat model:
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>This <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref> is the one that governs the temperature of the mixture of oil and water in the reservoir. In this work, we shall assume that the thermal conductivity of both oil and water are constant. Next, we find expressions for the oil and water viscosities as a function of temperature.</p>
<sec id="s2_1">
<label>2.1</label>
<title>Oil Viscosity as a Function of Temperature</title>
<p>Our goal here is to derive the oil viscosity function <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> which appear in the saturation model. To do this, we will use the experimental data presented by Abdulkareem and Kovo [<xref ref-type="bibr" rid="ref-13">13</xref>] for viscosity and temperature of hydrocarbons in the different reservoirs in the Niger Delta of Nigeria. A similar study is conducted by Isehunwa and colleagues [<xref ref-type="bibr" rid="ref-14">14</xref>]. The approach we adopt here is to use different regression and curve fitting packages available in Python. The data is the Bonny-light data extracted from Table 1 in [<xref ref-type="bibr" rid="ref-13">13</xref>]; a scatter plot of the experimental data and its predicted data from the model proposed in [<xref ref-type="bibr" rid="ref-13">13</xref>] are shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. Unfortunately, the actual parameter values obtained in [<xref ref-type="bibr" rid="ref-13">13</xref>] for the regression model are not listed in their paper, hence we cannot use their model. Also, an analysis of their model reveals that better models can be derived. Hence, we propose other new models in the present paper. This will allow us to select the model that best fits the data.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Plot of viscosity of bonny-light crude oil. Data source: Table 1 in [<xref ref-type="bibr" rid="ref-13">13</xref>]</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-1.tif"/>
</fig>
<p>From the scatter plot, we can see a form of exponential decay, hence we propose the following models:
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd><mml:mtd /><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;(Viscosity-Model 1)</mml:mtext></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>37.78</mml:mn></mml:mrow><mml:mn>310.93</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd><mml:mtd /><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;(Viscosity-Model 2)</mml:mtext></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mi>T</mml:mi><mml:mo>,</mml:mo></mml:mtd><mml:mtd /><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;(Viscosity-Model 3)</mml:mtext></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>a</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> are model parameters to be determined using the experimental data. The second model <xref ref-type="disp-formula" rid="eqn-9">(9)</xref> is based on taking the exponential of the model adopted in [<xref ref-type="bibr" rid="ref-13">13</xref>] with <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>. By using the <bold>scipy.optimize.curve_fit</bold> and <bold>numpy.polyfit</bold> functions in Python, we obtain the following results<inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>a</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>28.74425361</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>a</mml:mi><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mn>0.03560651</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>b</mml:mi><mml:mn>0</mml:mn><mml:mo>=</mml:mo><mml:mn>0.00015388</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>10.769714796</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>0.038074809</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>3.44098224</mml:mn></mml:math></inline-formula>. To select the best model among all the models, we plot their results in <xref ref-type="fig" rid="fig-2">Fig. 2</xref> and also compute the mean square errors (MSE) given by
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>M</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>and also the coefficient of determination, <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula>
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mrow><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are the <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>i</mml:mi></mml:math></inline-formula>-th experimental and predicted values and <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula> is the mean of the experimental values, <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x00AF;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, and <italic>N</italic> is the number of data points. These values are shown in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Plot of predictions of the suggested models for bonny-light oil viscosity</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-2.tif"/>
</fig><table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Results from regression analysis for bonny-light oil viscosity</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Model no.</th>
<th>Mean Square Error (MSE)</th>
<th>Coefficient of determination, <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula></th>
</tr>
</thead>
<tbody>
<tr>
<td>Viscosity-Model 1</td>
<td>0.3498701389068018</td>
<td>0.9831860448164846</td>
</tr>
<tr>
<td>Viscosity-Model 2</td>
<td>0.4024488176765863</td>
<td>0.9806592342941408</td>
</tr>
<tr>
<td>Viscosity-Model 3</td>
<td>0.44756635760729296</td>
<td>0.9784909889653006</td>
</tr>
<tr>
<td>Result of [<xref ref-type="bibr" rid="ref-13">13</xref>]</td>
<td>2.0616724502916663</td>
<td>0.9009207579400587</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>From <xref ref-type="table" rid="table-1">Table 1</xref> we see that the first model has the least MSE and also the highest <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula> score, hence we select it as our oil viscosity model in this work. Therefore, the oil viscosity function needed in the saturation model <xref ref-type="disp-formula" rid="eqn-1">(1)</xref> is defined as
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>28.74425361</mml:mn><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>0.03560651</mml:mn><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>

</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Water Viscosity as a Function of Temperature</title>
<p>Similar to the oil viscosity model above, we also develop a model for the water viscosity in this subsection. We use the data provided for water viscosity versus temperature in the webpage <ext-link ext-link-type="uri" xlink:href="https://wiki.anton-paar.com/en/water/">https://wiki.anton-paar.com/en/water/</ext-link> (accessed on 20 January 2025), and also apply the three regression models given in <xref ref-type="disp-formula" rid="eqn-8">(8)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-10">(10)</xref>. This gives the following parameters: <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msub><mml:mi>a</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>1.66265383</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:msub><mml:mi>a</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.02361327</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;&#x00A0;&#x00A0;</mml:mtext><mml:msub><mml:mi>b</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.000824731734</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-42"> <mml:math id="mml-ieqn-42"><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>6.71358077</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mn>0.0203676</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.43725832.</mml:mn></mml:math></inline-formula> The predictions of each model is plotted in <xref ref-type="fig" rid="fig-3">Fig. 3</xref> and the relevant statistical measures are tabulated in <xref ref-type="table" rid="table-2">Table 2</xref>. The results show that the second model, namely
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0.000824731734</mml:mn><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mn>6.71358077</mml:mn><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>37.78</mml:mn></mml:mrow><mml:mn>310.93</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>has the smallest MSE and the best <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula> value, hence is selected as the model for water viscosity as a function of temperature.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Plot of predictions of the three models for viscosity of water</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-3.tif"/>
</fig><table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Results from regression analysis for water viscosity models</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Model no.</th>
<th>Mean Square Error (MSE)</th>
<th>Coefficient of determination, <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msup><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mn mathvariant="bold">2</mml:mn></mml:msup></mml:math></inline-formula></th>
</tr>
</thead>
<tbody>
<tr>
<td>Viscosity-Model 1</td>
<td>0.0016446489086928352</td>
<td>0.9863290164139463</td>
</tr>
<tr>
<td>Viscosity-Model 2</td>
<td>0.0004311133408480425</td>
<td>0.9964164124176833</td>
</tr>
<tr>
<td>Viscosity-Model 3</td>
<td>0.0034819561100222184</td>
<td>0.9710565795679111</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As seen above, model 1 performed best for the oil viscosity, while model 2 performed best for the water viscosity. Therefore, one important lesson from the above analyses is that no one model is best for all situations. A better model for one problem might be poor for another problem. This concludes the modeling of the viscosity functions. Finally, we state the boundary and initial conditions for the models <xref ref-type="disp-formula" rid="eqn-1">(1)</xref> and <xref ref-type="disp-formula" rid="eqn-7">(7)</xref>.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Boundary and Initial Conditions</title>
<p>The injection well will be maintained at water saturation of one and the temperature will be equal to the injecting water temperature, <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, while the production well will attain whatever water saturation and temperature that are produced from inside the reservoir. To model these, we adopt non-homogeneous Dirichlet boundary conditions at the injection well and homogeneous Neumann boundary conditions at the production well, namely
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mspace width="1em" /><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;for all&#xA0;</mml:mtext></mml:mstyle><mml:mi>t</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">|</mml:mo></mml:mrow></mml:mstyle><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>R</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">|</mml:mo></mml:mrow></mml:mstyle><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>R</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;for all&#xA0;</mml:mtext></mml:mstyle><mml:mi>t</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>0.</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>At the initial time, we assume that the reservoir is completely filled with oil while the injection well is completely filled with water. Also, we assume that, at the initial time, the temperature is <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> at the injection well and rapidly decreases to zero after the injection well. Hence,
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;if&#xA0;</mml:mtext></mml:mstyle><mml:mi>x</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>0.01</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;otherwise</mml:mtext></mml:mstyle><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>200</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Summary of the Reservoir Model</title>
<p>The complete reservoir problem is governed by the saturation and heat equations <xref ref-type="disp-formula" rid="eqn-1">(1)</xref> and <xref ref-type="disp-formula" rid="eqn-7">(7)</xref> along with the fractional flow <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>, the viscosity model <xref ref-type="disp-formula" rid="eqn-13">(13)</xref>, the boundary conditions <xref ref-type="disp-formula" rid="eqn-15">(15)</xref> and the initial conditions <xref ref-type="disp-formula" rid="eqn-16">(16)</xref>. The above model is nonlinear, hence, does not have a closed form analytical solution. So, we propose a numerical method for it in the next section.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>The Proposed Numerical Scheme</title>
<p>In this section, we construct the numerical algorithm to approximate the solution of the model proposed in <xref ref-type="sec" rid="s2">Section 2</xref>. Since the saturation model <xref ref-type="disp-formula" rid="eqn-7">(1)</xref> is hyperbolic whilst the temperature <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref> is parabolic, we propose to use a finite volume method for the saturation model and a finite difference scheme for the temperature equation. In order to properly couple the two numerical schemes and avoid unnecessary approximations that may reduce the overall accuracy of the algorithm, we shall solve these problems in a staggered grid such that the saturation is computed at cell centres whilst the temperature is computed at the cell faces.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Staggered Grid Generation</title>
<p>Let <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mo stretchy="false">[</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> be divided into <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:math></inline-formula>, (<inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mn>1</mml:mn><mml:mo>&#x003C;</mml:mo><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mo>+</mml:mo></mml:msup></mml:math></inline-formula>) cells (sub-intervals). Define
<disp-formula id="ueqn-18"><mml:math id="mml-ueqn-18" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>b</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>so that the grid points are faces of the cells at the points <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:mi>i</mml:mi><mml:mi>h</mml:mi></mml:math></inline-formula> for <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2261;</mml:mo><mml:mi>I</mml:mi><mml:mi>i</mml:mi></mml:math></inline-formula> with cells, <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>I</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> centered at <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>0.5</mml:mn><mml:mi>h</mml:mi></mml:math></inline-formula>. We seek the solution of the saturation equation at the cell centers, <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and that of the temperature equation at the faces <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>.</p>
<p>Important Notation</p>
<p>At time <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:math></inline-formula>, we denote <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:math></inline-formula> as the approximation of the cell average of the saturation in the cell centered at <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:math></inline-formula> is the approximation of the temperature at the cell face at <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Finite Volume Scheme for the Saturation Equation</title>
<p>Let us define the following auxiliary functions:
<disp-formula id="ueqn-19"><mml:math id="mml-ueqn-19" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>F</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mi>v</mml:mi><mml:mi>&#x03D5;</mml:mi></mml:mfrac><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>This is the physical flux function of the saturation <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>, hence we can define an equivalent HLL numerical flux function for the saturation equation as
<disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>:=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;if&#xA0;</mml:mtext></mml:mstyle><mml:msub><mml:mi>s</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mi>F</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mi>F</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:msub><mml:mi>s</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;if&#xA0;</mml:mtext></mml:mstyle><mml:msub><mml:mi>s</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>F</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;if&#xA0;</mml:mtext></mml:mstyle><mml:msub><mml:mi>s</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where the wave speeds are given Bouchut [<xref ref-type="bibr" rid="ref-15">15</xref>], see also Nwaigwe and Mungkasi [<xref ref-type="bibr" rid="ref-16">16</xref>] as
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>R</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>M</mml:mi></mml:math></inline-formula>, is the <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>k</mml:mi></mml:math></inline-formula>-th eigenvalues computed with cell average saturation, <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mi>w</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:math></inline-formula> and interface temperature, <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. The physical eigenvalues are defined as
<disp-formula id="ueqn-22"><mml:math id="mml-ueqn-22" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x03BB;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x03D5;</mml:mi><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>With these, we propose the following finite volume scheme for the saturation equation:
<disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mi>h</mml:mi></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>3</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The boundary condition at the production well is
<disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msup><mml:mi>s</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">|</mml:mo></mml:mrow></mml:mstyle><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;or&#xA0;</mml:mtext></mml:mstyle><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Finite Difference Scheme for the Temperature Equation</title>
<p>Define the discrete quantities
<disp-formula id="ueqn-25"><mml:math id="mml-ueqn-25" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03BA;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>By using central discretization of the diffusion term, upwind treatment of the convection term and implicit time integration, we propose the following scheme for the heat equation:
<disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mtd><mml:mtd><mml:mi></mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>v</mml:mi><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mi>h</mml:mi></mml:mfrac><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:msup><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mfrac><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">[</mml:mo></mml:mrow></mml:mstyle><mml:mi>&#x03BA;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03BA;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">]</mml:mo></mml:mrow></mml:mstyle><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The boundary condition:
<disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:msup><mml:mi>T</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">|</mml:mo></mml:mrow></mml:mstyle><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;or&#xA0;</mml:mtext></mml:mstyle><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Summary of the Numerical Scheme</title>
<p>The complete numerical scheme is as follows:
<disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mi>h</mml:mi></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>3</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="2em" /><mml:mspace width="2em" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2.</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mi>h</mml:mi></mml:mfrac></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="2em" /><mml:mspace width="2em" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1.</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mi>h</mml:mi></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:msup><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mfrac></mml:mstyle><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">[</mml:mo></mml:mrow></mml:mstyle><mml:msubsup><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="2em" /><mml:mspace width="2em" /><mml:mo>&#x2212;</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>&#x03BA;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">]</mml:mo></mml:mrow></mml:mstyle><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mi>h</mml:mi></mml:mfrac></mml:mstyle><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:msup><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mfrac></mml:mstyle><mml:msubsup><mml:mi>&#x03BA;</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">[</mml:mo></mml:mrow></mml:mstyle><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2212;</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.047em" minsize="2.047em">]</mml:mo></mml:mrow></mml:mstyle><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mspace width="2em" /><mml:mspace width="2em" /><mml:mspace width="1em" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>This completes the numerical formulation of the problem.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Numerical Examples for Convergence</title>
<p><bold>Convergence Analysis</bold></p>
<p>The convergence of the first order finite volume scheme for conservation laws has been demonstrated in many books by LeVeque [<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>], also the convergence of the finite difference scheme has also been proved and numerically demonstrated in many papers, such as those by Nwaigwe and coworkers [<xref ref-type="bibr" rid="ref-19">19</xref>,<xref ref-type="bibr" rid="ref-20">20</xref>]. Therefore, we will skip the theoretical proof of the convergence of the schemes <xref ref-type="disp-formula" rid="eqn-23">(23)</xref>, instead we refer the reader to the above-mentioned sources. In this section, we provide an example and use it to numerically demonstrate that indeed, the proposed numerical scheme actually converges to the exact solution of the model <xref ref-type="disp-formula" rid="eqn-1">(1)</xref> and <xref ref-type="disp-formula" rid="eqn-7">(7)</xref>. To this end, we consider the following modification of our proposed model. If we add an artificial source term, <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>G</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, given by
<disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>G</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mi></mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mi>t</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mn>40</mml:mn><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mi>x</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>100</mml:mn><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>42</mml:mn><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:mi>t</mml:mi><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn><mml:mi>t</mml:mi><mml:mi>v</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mi>t</mml:mi><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:mrow><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>v</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>+</mml:mo><mml:mn>22</mml:mn><mml:mi>v</mml:mi><mml:mi>x</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>12</mml:mn><mml:mi>v</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>to the right hand side of the temperature model <xref ref-type="disp-formula" rid="eqn-7">(7)</xref>. Then, set the initial conditions
<disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>the left boundary condition
<disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>and zero Neumann boundary conditions on the right side for both <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula> and <italic>T</italic>, then the exact solution for the model is given by
<disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>s</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Hence, the system consisting of <xref ref-type="disp-formula" rid="eqn-1">Eqs. (1)</xref>, <xref ref-type="disp-formula" rid="eqn-7">(7)</xref> and <xref ref-type="disp-formula" rid="eqn-24">(24)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-26">(26)</xref> (with <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mi>G</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> added to the right side of <xref ref-type="disp-formula" rid="eqn-7">(7)</xref>), has the exact solution given in <xref ref-type="disp-formula" rid="eqn-27">(27)</xref>. We use this to demonstrate that the proposed numerical method actually converges to the exact solution.</p>
<p>We apply the proposed numerical scheme to the above problem by using 200 equally spaced grid points in [0, 1]. The source term <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mi>G</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is discretized implicitly (since it does not involve an unknown) and we use the following parameters: <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03D5;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.3</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0.5.</mml:mn></mml:math></inline-formula> The results are computed with a time step size of <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mn>1.25</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> and the computed numerical solution is outputted and compared with the exact solution at different times. These are shown in <xref ref-type="fig" rid="fig-4">Figs. 4</xref> and <xref ref-type="fig" rid="fig-5">5</xref> for the temperature and saturation respectively. It can be seen that the numerical solution agrees with the exact solution at all times and for both temperature and water saturation. This gives us the confidence that our numerical scheme is actually correct and convergent and can be used to conduct our desired simulations. In the next section, we use the code to investigate the effect of various parameters on the system.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Comparison of exact and numerical solution of temperature for the test problem</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-4.tif"/>
</fig><fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Comparison of exact and numerical solution of water saturation for the test problem</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-5.tif"/>
</fig>
</sec>
<sec id="s5">
<label>5</label>
<title>Numerical Simulations and Main Results</title>
<p>This section presents simulations to understand and predict the reservoir system. In particular, we present simulations to understand how the injection velocity and the temperature of the injected water affect oil production.</p>
<p><bold>A measure of the percentage of oil recovered</bold></p>
<p>We shall indicate the measure of oil production at any given time by calculating the total oil saturation (<inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>o</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:math></inline-formula>) remaining inside the reservoir at the given time, <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:math></inline-formula>. Specifically, we first plot the water saturation against the distance (measured from the injection well towards the production well). Then, the area under this water saturation curve divided by the total area will be the total water saturation (<inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:math></inline-formula>), and the total oil saturation shall be
<disp-formula id="ueqn-33"><mml:math id="mml-ueqn-33" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mi>o</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>To be able to know the percentage of oil that has been produced since exploration (start of simulation), we also need to know the initial amount of oil in the reservoir, which we also measure by using the term <italic>initial total oil saturation</italic>, denoted by <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mi>o</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup></mml:math></inline-formula> and defined by
<disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>Initial Total Oil Saturation,&#xA0;</mml:mtext></mml:mstyle><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mi>o</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup></mml:mtd><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mstyle displaystyle="false" scriptlevel="0"><mml:mtext>&#xA0;Initial Total Water Saturation</mml:mtext></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>h</mml:mi><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0.99.</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the initial condition of water saturation defined in <xref ref-type="disp-formula" rid="eqn-16">(16)</xref>, while <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, the midpoints of the finite volume cells, and <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mi>h</mml:mi></mml:math></inline-formula> are defined in <xref ref-type="sec" rid="s3">Section 3</xref>. Note that the value, <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mn>0.99</mml:mn></mml:math></inline-formula>, would be different for different initial conditions. The number <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mn>0.99</mml:mn></mml:math></inline-formula> means that the reservoir is <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mn>99</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> initially filled with oil, and our goal is to track(predict) how this value changes with time, and how it&#x2019;s affected by the values of the injection velocity and wall temperature. Note, also, that the above formula is a discrete version of the continuous (exact) formula:
<disp-formula id="ueqn-35"><mml:math id="mml-ueqn-35" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mi>o</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mo>&#x222B;</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mn>1</mml:mn></mml:msubsup><mml:msub><mml:mi>s</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mn>0.01</mml:mn><mml:mo>=</mml:mo><mml:mn>0.99.</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Moreover, we also use the midpoint rule to calculate the total water saturation, namely
<disp-formula id="eqn-29"><label>(29)</label><mml:math id="mml-eqn-29" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mi>h</mml:mi><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>This <xref ref-type="disp-formula" rid="eqn-29">Eq. (29)</xref> is adopted since <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msubsup><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:math></inline-formula> is the average of the water saturation in the grid cell centered at <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, which is the finite volume method.</p>
<p><bold>Data</bold></p>
<p>The following injected water temperature, <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> (in &#x00B0;C) values shall be considered <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mn>0.0</mml:mn><mml:mo>,</mml:mo><mml:mn>25.0</mml:mn><mml:mo>,</mml:mo><mml:mn>55.0</mml:mn><mml:mo>,</mml:mo><mml:mn>70.0</mml:mn><mml:mo>,</mml:mo><mml:mn>100.0</mml:mn><mml:mo>,</mml:mo><mml:mn>120.0</mml:mn></mml:math></inline-formula>, while the following injection velocity values, <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>v</mml:mi></mml:math></inline-formula> are considered <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mn>0.0</mml:mn><mml:mo>,</mml:mo><mml:mn>0.05</mml:mn><mml:mo>,</mml:mo><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mn>0.35</mml:mn><mml:mo>,</mml:mo><mml:mn>0.5</mml:mn><mml:mo>,</mml:mo><mml:mn>1.0</mml:mn><mml:mo>,</mml:mo><mml:mn>1.5</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>. The following initial temperature profile is considered:</p>
<p><disp-formula id="eqn-30"><label>(30)</label><mml:math id="mml-eqn-30" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>T</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>200</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>x</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is varied with the various injection temperature values above. We shall examine the effects of <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mi>v</mml:mi></mml:math></inline-formula> on the oil production. The simulation is conducted with <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mn>200</mml:mn></mml:math></inline-formula> grid cells, time step size of <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mn>2.5</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> and run until <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Results</title>
<p>The main goal of this subsection is to discuss how <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>v</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> affect the reservoir temperature, water saturation, and percentage of oil recovered. But before then let us first examine if our proposed model and numerical scheme actually respects the no motion effect when <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>.</p>
<sec id="s5_1_1">
<label>5.1.1</label>
<title>Results under No Flux (<inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>) and Zero Operating Temperature <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula></title>
<p>Let us start by presenting the results when <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>. This means that the injected water is not hot, but cold (zero temperature). Hence, we must expect the reservoir to remain at zero temperature at all times since no heat is generated inside it. <xref ref-type="fig" rid="fig-6">Fig. 6</xref> shows the numerical solution of our model. One can see that the temperature remains at the initial zero temperature at all times as expected. Also, from the physical point of view, setting <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> means no flux, and there would be no waterflooding, hence the initial saturation of water and oil would remain unchanged at all times. <xref ref-type="fig" rid="fig-7">Fig. 7</xref> shows our numerical experiment under this condition. It is also seen that the initial saturation profile remains unchanged over time. These results show that our model obeys fundamental physical processes, making it reliable.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Temperature profiles at different times when <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula></title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-6.tif"/>
</fig><fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Water saturation at different times when <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula></title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-7.tif"/>
</fig>
</sec>
<sec id="s5_1_2">
<label>5.1.2</label>
<title>Effects of Injection Velocity <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mi>v</mml:mi></mml:math></inline-formula> on Temperature</title>
<p>The effects of the injection velocity on the reservoir temperature are shown in <xref ref-type="fig" rid="fig-8">Fig. 8</xref>. The upper figure is the results at <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>2.5</mml:mn></mml:math></inline-formula>, while the lower figure is at <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>. Both numerical experiments are conducted while setting the wall temperature (injecting water temperature) at a constant value of <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow></mml:msup><mml:mrow><mml:mtext>C</mml:mtext></mml:mrow></mml:math></inline-formula>. The results show that increasing the rate <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mi>v</mml:mi></mml:math></inline-formula> at what the hot water is being injected at the injection well leads to an increase in the temperature of the fluid in the reservoir. The results are physically expected since a higher rate of hot water injection would increase the convection transport and also enhance the diffusive transport of heat, thereby increasing the temperature. Hence, these results are physically valid.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Effect of injection velocity on the temperature profiles</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-8.tif"/>
</fig>
<p>Also, notice that the temperature profiles in the lower figure (at <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>) are higher than those of the upper figure (<inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>2.5</mml:mn></mml:math></inline-formula>) for each velocity value. This shows that the temperature increases with time. This is also valid since more hot water is constantly being introduced into the initially cold reservoir.</p>
</sec>
<sec id="s5_1_3">
<label>5.1.3</label>
<title>Effects of Injection Velocity <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mi>v</mml:mi></mml:math></inline-formula> on Water Saturation and Oil Production</title>
<p><xref ref-type="fig" rid="fig-9">Fig. 9</xref> shows the plots of water saturation for different injection velocities at (a) <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math></inline-formula> and (b) <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>. First, we observe that the water saturation increases at all points with an increase in the injection velocity. This is the case at both <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>. So, the water saturation increases with injection velocity. It is also seen that for a given value of the injection velocity <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mi>v</mml:mi></mml:math></inline-formula>, the saturation is higher at <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula> than at <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math></inline-formula>, meaning that the water saturation increases with time, which makes sense since water is continuously injected into the reservoir. Again, we also notice that for <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, the water saturation remains at it&#x2019;s initial condition (the green line) at both <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>. This is consistent with our earlier result that shows that no velocity means no flooding in <xref ref-type="sec" rid="s5_1_1">Section 5.1.1</xref>, see <xref ref-type="fig" rid="fig-7">Fig. 7</xref>.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Effects of injection velocity on the water saturation</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-9.tif"/>
</fig>
<p>In order to relate the above observations to oil production and quantify the rate of production, we use the results in <xref ref-type="fig" rid="fig-9">Fig. 9</xref> to compute some important quantities which are Tabulated in <xref ref-type="table" rid="table-3">Tables 3</xref> and <xref ref-type="table" rid="table-4">4</xref>. As noted earlier, the reservoir is initially <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mn>99</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> filled with oil, see <xref ref-type="disp-formula" rid="eqn-28">(28)</xref>. <xref ref-type="table" rid="table-3">Table 3</xref> shows that at <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math></inline-formula>, an injection velocity of zero leads to zero oil production (consistent with earlier results and physical reality), while an injection velocity of <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mn>0.35</mml:mn><mml:mo>,</mml:mo><mml:mn>2.0</mml:mn></mml:math></inline-formula> leads to oil production at <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mn>8.3</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>16.67</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>20.8</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>29.2</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mn>58.37</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>, respectively. This shows that the higher the injection velocity, the more oil is produced. Similarly, <xref ref-type="table" rid="table-4">Table 4</xref> shows that at <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula> the oil production rates for injection velocities of <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mn>0.1</mml:mn><mml:mo>,</mml:mo><mml:mn>0.2</mml:mn><mml:mo>,</mml:mo><mml:mn>0.25</mml:mn><mml:mo>,</mml:mo><mml:mn>0.35</mml:mn><mml:mo>,</mml:mo><mml:mn>2.0</mml:mn></mml:math></inline-formula> are <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:mn>58.97</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>68</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>70.8</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>74.9</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mn>90.7</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>, respectively. Comparing these results in <xref ref-type="table" rid="table-4">Table 4</xref> with those of <xref ref-type="table" rid="table-3">Table 3</xref>, we conclude that more oil is produced as time progresses.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Percentage of oil produced after <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math></inline-formula></title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Velocity</th>
<th>Total water sat. at <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mo mathvariant="bold">=</mml:mo><mml:mn mathvariant="bold">0.25</mml:mn></mml:math></inline-formula></th>
<th>Total oil sat.</th>
<th>% Oil remaining</th>
<th>% Oil produced</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.00</td>
<td>0.009999999999999998</td>
<td>0.990</td>
<td>99.000</td>
<td>0.0000</td>
</tr>
<tr>
<td>0.10</td>
<td>0.093333313367150920</td>
<td>0.907</td>
<td>90.667</td>
<td>8.3330</td>
</tr>
<tr>
<td>0.20</td>
<td>0.176666689036603760</td>
<td>0.823</td>
<td>82.333</td>
<td>16.667</td>
</tr>
<tr>
<td>0.25</td>
<td>0.218333326981447530</td>
<td>0.782</td>
<td>78.167</td>
<td>20.833</td>
</tr>
<tr>
<td>0.35</td>
<td>0.301666646458153000</td>
<td>0.698</td>
<td>69.833</td>
<td>29.167</td>
</tr>
<tr>
<td>2.00</td>
<td>0.593706699999999900</td>
<td>0.406</td>
<td>40.629</td>
<td>58.371</td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Percentage of oil produced after <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula></title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Velocity</th>
<th>Total water sat. at <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mo mathvariant="bold">=</mml:mo><mml:mn mathvariant="bold">5</mml:mn></mml:math></inline-formula></th>
<th>Total oil sat.</th>
<th>% Oil remaining</th>
<th>% Oil produced</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.0</td>
<td>0.009999999999999998</td>
<td>0.990</td>
<td>99.000</td>
<td>0.0000</td>
</tr>
<tr>
<td>0.1</td>
<td>0.599686784999999900</td>
<td>0.400</td>
<td>40.031</td>
<td>58.969</td>
</tr>
<tr>
<td>0.2</td>
<td>0.690407049999999900</td>
<td>0.310</td>
<td>30.959</td>
<td>68.041</td>
</tr>
<tr>
<td>0.25</td>
<td>0.718339859999999900</td>
<td>0.282</td>
<td>28.166</td>
<td>70.834</td>
</tr>
<tr>
<td>0.35</td>
<td>0.758747454999999700</td>
<td>0.241</td>
<td>24.125</td>
<td>74.875</td>
</tr>
<tr>
<td>2.0</td>
<td>0.917236439999999800</td>
<td>0.083</td>
<td>8.2760</td>
<td>90.724</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5_1_4">
<label>5.1.4</label>
<title>Effects of Wall Temperature <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> on Temperature</title>
<p>Even without simulation, it is common sense knowledge that an increase in the temperature of the injected water (the wall temperature) will lead to an increase in the temperature of the entire reservoir system. To demonstrate the consistency of our results with this physical reality, <xref ref-type="fig" rid="fig-10">Fig. 10</xref> shows our computed temperature distributions using different values of the wall temperature and at different times. Obviously, the temperature profiles are higher for higher wall temperatures and at all times. This particular result, again, establishes that our model obeys physical realities.</p>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Effect of temperature of injected water (wall temperature, <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>) on the reservoir temperature distribution</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-10a.tif"/>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-10b.tif"/>
</fig>
</sec>
<sec id="s5_1_5">
<label>5.1.5</label>
<title>Effects of Wall Temperature <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> on Water Saturation and Oil Production</title>
<p>In <xref ref-type="fig" rid="fig-11">Fig. 11</xref>, the plots of the water saturation for different wall temperatures (injected water temperature) are shown at (a) <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula> and (b) <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>. The results show that the saturation increases at all point in the reservoir as the wall temperature increases. This is the case for both <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula>. Note that the injection velocity used for these experiments is <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>. Therefore, even for <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> the water saturation does not remain at the initial condition but flows with the nonzero velocity, <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>. <xref ref-type="fig" rid="fig-11">Fig. 11a</xref>,<xref ref-type="fig" rid="fig-11">b</xref> also shows that the water saturation increases with time.</p>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Effects of temperature of injected water on the water saturation and oil production</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="FDMP_59925-fig-11.tif"/>
</fig>
<p>To quantify the rate of oil production, important quantities are computed and Tabulated in <xref ref-type="table" rid="table-5">Tables 5</xref> and <xref ref-type="table" rid="table-6">6</xref>. <xref ref-type="table" rid="table-5">Table 5</xref> shows that at <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula>, the injected hot water at the temperature (in &#x00B0;C) of <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>25</mml:mn><mml:mo>,</mml:mo><mml:mn>55</mml:mn><mml:mo>,</mml:mo><mml:mn>70</mml:mn><mml:mo>,</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:mn>120</mml:mn></mml:math></inline-formula> led to oil production at <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:mn>57.97</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>59.48</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>61.95</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>63.44</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi><mml:mo>,</mml:mo><mml:mn>66.86</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:mn>69.4</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>, respectively. <xref ref-type="table" rid="table-6">Table 6</xref> shows a repeat of the same trend in <xref ref-type="table" rid="table-5">Table 5</xref>, moreover, the results also show that oil production increases with time.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Percentage of oil produced After <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula> for different temperature of injected water</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th><inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">T</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="bold-italic">l</mml:mi><mml:mi mathvariant="bold-italic">l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th>Total water sat. at <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mo mathvariant="bold">=</mml:mo><mml:mn mathvariant="bold">0.5</mml:mn></mml:math></inline-formula></th>
<th>Total oil sat.</th>
<th>% Oil remaining</th>
<th>% Oil produced</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.0</td>
<td>0.5896925099999999</td>
<td>0.41</td>
<td>41.031</td>
<td>57.969</td>
</tr>
<tr>
<td>25</td>
<td>0.6048214299999999</td>
<td>0.395</td>
<td>39.518</td>
<td>59.482</td>
</tr>
<tr>
<td>55</td>
<td>0.6295355249999999</td>
<td>0.37</td>
<td>37.046</td>
<td>61.954</td>
</tr>
<tr>
<td>70</td>
<td>0.6444369050000000</td>
<td>0.356</td>
<td>35.556</td>
<td>63.444</td>
</tr>
<tr>
<td>100</td>
<td>0.6786315199999997</td>
<td>0.321</td>
<td>32.137</td>
<td>66.863</td>
</tr>
<tr>
<td>120</td>
<td>0.7039912649999999</td>
<td>0.296</td>
<td>29.601</td>
<td>69.399</td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-6">
<label>Table 6</label>
<caption>
<title>Percentage of oil produced after <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula> for different temperature of injected water</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th><inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">T</mml:mtext></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="bold-italic">l</mml:mi><mml:mi mathvariant="bold-italic">l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th>Total water sat. at <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mrow><mml:mtext mathvariant="bold">t=5</mml:mtext></mml:mrow></mml:math></inline-formula></th>
<th>Total oil sat.</th>
<th>% Oil remaining</th>
<th>% Oil produced</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.0</td>
<td>0.8587327899999998</td>
<td>0.141</td>
<td>14.127</td>
<td>84.873</td>
</tr>
<tr>
<td>25</td>
<td>0.8793675350000000</td>
<td>0.121</td>
<td>12.063</td>
<td>86.937</td>
</tr>
<tr>
<td>55</td>
<td>0.9100065849999999</td>
<td>0.090</td>
<td>8.9990</td>
<td>90.001</td>
</tr>
<tr>
<td>70</td>
<td>0.9254453049999998</td>
<td>0.075</td>
<td>7.4550</td>
<td>91.545</td>
</tr>
<tr>
<td>100</td>
<td>0.9528553299999999</td>
<td>0.047</td>
<td>4.7140</td>
<td>94.286</td>
</tr>
<tr>
<td>120</td>
<td>0.9672166849999999</td>
<td>0.033</td>
<td>3.2780</td>
<td>95.722</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusion</title>
<p>In this paper, the mathematical and numerical modeling of the water saturation and heat distribution in a horizontal reservoir is conducted with the aim of predicting the rate or percentage of oil recovery in a hot water flooding process. To achieve this, the Bonny-light crude oil is chosen as a case study, and available experimental data found in the literature was used to conduct regression analyses to derive two temperature-dependent viscosity models for oil and water. Then a modified Buckley-Leverette model containing temperature-dependent nonlinear flux, and a convection-diffusion equation containing a convex combination as thermal conductivity are adopted for water saturation and temperature models. Finite volume and finite difference methods are formulated on a staggered grid to approximate the models. The following are the results found from the study:
<list list-type="simple">
<list-item><label>(i)</label><p>No single regression model is fit for all viscosity problems, in particular the best regression model for oil viscosity is different from the one for the water viscosity,</p></list-item>
<list-item><label>(ii)</label><p>At wall (in-let) temperature of <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow></mml:msup><mml:mrow><mml:mtext>C</mml:mtext></mml:mrow></mml:math></inline-formula>, increase in the injection velocity from <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mn>0.1</mml:mn></mml:math></inline-formula> to <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:mn>0.25</mml:mn></mml:math></inline-formula> changed the rate of oil production from <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:mn>8.33</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:mn>20.8</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>,</p></list-item>
<list-item><label>(iii)</label><p>At injection velocity of <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, an increase in the temperature of the injected water from <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:msup><mml:mn>25</mml:mn><mml:mrow><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mtext>C</mml:mtext></mml:mrow></mml:math></inline-formula> to <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:msup><mml:mn>55</mml:mn><mml:mrow><mml:mrow><mml:mtext>o</mml:mtext></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mtext>C</mml:mtext></mml:mrow></mml:math></inline-formula> changed the production rate from <inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:mn>59.48</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mn>61.95</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>,</p></list-item>
<list-item><label>(iv)</label><p>Both high injection water temperature and high injection velocity are beneficial to high oil production,</p></list-item>
<list-item><label>(v)</label><p>Oil recovery is directly dependent on maintaining non-zero positive injection velocity.</p></list-item>
</list></p>
</sec>
</body>
<back>
<ack>
<p>The authors sincerely thank all the reviewers for their great suggestions which enormously improved this work. We also thank the editor for the efforts.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>The authors received no specific funding for this study.</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>The authors confirm contributions to the paper as follows: study conception and design: Chinedu Nwaigwe; data collection: Chinedu Nwaigwe, Abdon Atangana; analysis and interpretation of results: Chinedu Nwaigwe, Abdon Atangana; software and code development: Chinedu Nwaigwe; literature: Chinedu Nwaigwe, Abdon Atangana; draft manuscript preparation: Chinedu Nwaigwe, Abdon Atangana. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>The datasets generated and analyzed during the current study are available from the corresponding author on reasonable request.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<glossary content-type="abbreviations" id="glossary-1">
<title>Nomenclature</title>
<def-list>
<def-item>
<term><inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:mi>v</mml:mi></mml:math></inline-formula></term>
<def>
<p>Constant velocity</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Constant (in-let) temperature</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:msub><mml:mi>S</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Water saturation</p>
</def>
</def-item>
<def-item>
<term>T</term>
<def>
<p>Temperature</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:math></inline-formula></term>
<def>
<p>Time and space variables</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:mi>f</mml:mi></mml:math></inline-formula></term>
<def>
<p>Water fractional flow</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Mobilities of water and oil</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>o</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Relative permeabilities of water and oil phases</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BC;</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Viscosities of water and oil</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BA;</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Thermal conductivities of water and oil</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula></term>
<def>
<p>Constants</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula></term>
<def>
<p>Coefficient of determination</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Number of grid cells</p>
</def>
</def-item>
<def-item>
<term><italic>F</italic></term>
<def>
<p>Physical flux function</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow></mml:math></inline-formula></term>
<def>
<p>Numerical flux function</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:msub><mml:mi>s</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>R</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Numerical wave speeds</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula></term>
<def>
<p>Time step size</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:mi>h</mml:mi></mml:math></inline-formula></term>
<def>
<p>Mesh size</p>
</def>
</def-item>
</def-list>
</glossary>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Ezekwe</surname> <given-names>N</given-names></string-name></person-group>. <source>Petroleum reservoir engineering practice</source>. <publisher-loc>United States</publisher-loc>: <publisher-name>Pearson Education</publisher-name>; <year>2010</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Ursegov</surname> <given-names>S</given-names></string-name>, <string-name><surname>Zakharian</surname> <given-names>A</given-names></string-name></person-group>. <source>Adaptive approach to petroleum reservoir simulation</source>. <publisher-loc>Switzerland</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>2021</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Brezzi</surname> <given-names>F</given-names></string-name>, <string-name><surname>Chavent</surname> <given-names>G</given-names></string-name>, <string-name><surname>Jaffre</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Mathematical models and finite elements for reservoir simulation: single phase, multiphase and multicomponent flows through porous media</article-title>. <source>Math Comput</source>. <year>1988</year>;<volume>50</volume>(<issue>182</issue>):<fpage>640</fpage>. doi:<pub-id pub-id-type="doi">10.1016/s0168-2024(08)x7007-9</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Aarnes</surname> <given-names>JE</given-names></string-name>, <string-name><surname>Gimse</surname> <given-names>T</given-names></string-name>, <string-name><surname>Lie</surname> <given-names>KA</given-names></string-name></person-group>. <chapter-title>An introduction to the numerics of flow in porous media using matlab</chapter-title>. In: <source>Geometric modelling, numerical simulation, and optimization: applied mathematics at SINTEF</source>. <publisher-loc>Berlin/Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>2007</year>. p. <fpage>265</fpage>&#x2013;<lpage>306</lpage>. doi:<pub-id pub-id-type="doi">10.1007/978-3-540-68783-2_9</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Aziz</surname> <given-names>K</given-names></string-name></person-group>. <source>Petroleum reservoir simulation</source>. Vol. <volume>476</volume>. <publisher-name>Applied Science Publishers</publisher-name>; <year>1979</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Esfe</surname> <given-names>MH</given-names></string-name>, <string-name><surname>Hosseinizadeh</surname> <given-names>E</given-names></string-name>, <string-name><surname>Esfandeh</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Flooding numerical simulation of heterogeneous oil reservoir using different nanoscale colloidal solutions</article-title>. <source>J Mol Liq</source>. <year>2020</year>;<volume>302</volume>(<issue>10</issue>):<fpage>111972</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.molliq.2019.111972</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhao</surname> <given-names>DW</given-names></string-name>, <string-name><surname>Gates</surname> <given-names>ID</given-names></string-name></person-group>. <article-title>On hot water flooding strategies for thin heavy oil reservoirs</article-title>. <source>Fuel</source>. <year>2015</year>;<volume>153</volume>(<issue>2</issue>):<fpage>559</fpage>&#x2013;<lpage>68</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.fuel.2015.03.024</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Dong</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Dindoruk</surname> <given-names>B</given-names></string-name>, <string-name><surname>Ishizawa</surname> <given-names>C</given-names></string-name>, <string-name><surname>Lewis</surname> <given-names>E</given-names></string-name>, <string-name><surname>Kubicek</surname> <given-names>T</given-names></string-name></person-group>. <article-title>An experimental investigation of carbonated water flooding</article-title>. In: <conf-name>SPE Annual Technical Conference and Exhibition?</conf-name> <publisher-name>SPE</publisher-name>; <year>2011</year>. SPE-145380-MS.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Marotto</surname> <given-names>TA</given-names></string-name>, <string-name><surname>Pires</surname> <given-names>AP</given-names></string-name></person-group>. <article-title>Mathematical modeling of hot carbonated waterflooding as an enhanced oil recovery technique</article-title>. <source>Int J Multiphase Flow</source>. <year>2019</year>;<volume>115</volume>(<issue>6</issue>):<fpage>181</fpage>&#x2013;<lpage>95</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.ijmultiphaseflow.2019.03.024</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>F</given-names></string-name></person-group>. <article-title>A new method for solving the mass and heat transfer process in steam flooding</article-title>. <source>Front Energy Res</source>. <year>2022</year>;<volume>10</volume>:<fpage>910829</fpage>. doi:<pub-id pub-id-type="doi">10.3389/fenrg.2022.910829</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Masoomi</surname> <given-names>R</given-names></string-name>, <string-name><surname>Torabi</surname> <given-names>F</given-names></string-name></person-group>. <article-title>A new computational approach to predict hot-water flooding (HWF) performance in unconsolidated heavy oil reservoirs</article-title>. <source>Fuel</source>. <year>2022</year>;<volume>312</volume>(<issue>7</issue>):<fpage>122861</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.fuel.2021.122861</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Holden</surname> <given-names>H</given-names></string-name>, <string-name><surname>Risebro</surname> <given-names>NH</given-names></string-name></person-group>. <article-title>Stochastic properties of the scalar buckley-leverett equation</article-title>. <source>SIAM J Appl Math</source>. <year>1991</year>;<volume>51</volume>(<issue>5</issue>):<fpage>1472</fpage>&#x2013;<lpage>88</lpage>. doi:<pub-id pub-id-type="doi">10.1137/0151073</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Abdulkareem</surname> <given-names>A</given-names></string-name>, <string-name><surname>Kovo</surname> <given-names>AS</given-names></string-name></person-group>. <article-title>Simulation of the viscosity of different nigerian crude oil</article-title>. <source>Leonardo J Sci</source>. <year>2006</year>;<volume>5</volume>(<issue>8</issue>):<fpage>7</fpage>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Isehunwa</surname> <given-names>OS</given-names></string-name>, <string-name><surname>Olamigoke</surname> <given-names>O</given-names></string-name>, <string-name><surname>Makinde</surname> <given-names>AA</given-names></string-name></person-group>. <article-title>A correlation to predict the viscosity of light crude oils</article-title>. In: <conf-name>SPE Nigeria Annual International Conference and Exhibition</conf-name>. <publisher-name>SPE</publisher-name>; <year>2006</year>. SPE-105983-MS.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Bouchut</surname> <given-names>F</given-names></string-name></person-group>. <source>Efficient numerical finite volume schemes for shallow water models</source>. <publisher-loc>Netherlands</publisher-loc>: <publisher-name>Elsevier</publisher-name>; <year>2007</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nwaigwe</surname> <given-names>C</given-names></string-name>, <string-name><surname>Mungkasi</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Comparison of different numerical schemes for 1d conservation laws</article-title>. <source>J Interdiscipl Math</source>. <year>2021</year>;<volume>24</volume>(<issue>3</issue>):<fpage>537</fpage>&#x2013;<lpage>52</lpage>. doi:<pub-id pub-id-type="doi">10.1080/09720502.2020.1792665</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>LeVeque</surname> <given-names>RJ</given-names></string-name></person-group>. <source>Finite volume methods for hyperbolic problems</source>. Vol. <volume>31</volume>. <publisher-loc>United Kingdom</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>; <year>2002</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>LeVeque</surname> <given-names>RJ</given-names></string-name>, <string-name><surname>Leveque</surname> <given-names>RJ</given-names></string-name></person-group>. <source>Numerical methods for conservation laws</source>. Vol. <volume>214</volume>. <publisher-loc>Switzerland</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>1992</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Weli</surname> <given-names>A</given-names></string-name>, <string-name><surname>Nwaigwe</surname> <given-names>C</given-names></string-name></person-group>. <article-title>Numerical analysis of channel flow with velocity-dependent suction and nonlinear heat source</article-title>. <source>J Interdiscipl Math</source>. <year>2020</year>;<volume>23</volume>(<issue>5</issue>):<fpage>987</fpage>&#x2013;<lpage>1008</lpage>. doi:<pub-id pub-id-type="doi">10.1080/09720502.2020.1748278</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nwaigwe</surname> <given-names>C</given-names></string-name>, <string-name><surname>Oahimire</surname> <given-names>J</given-names></string-name>, <string-name><surname>Weli</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Numerical approximation of convective brinkman-forchheimer flow with variable permeability</article-title>. <source>Appl Computat Mech</source>. <year>2023</year>;<volume>17</volume>(<issue>1</issue>).</mixed-citation></ref>
</ref-list>
</back></article>









