An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE...

20
An Explicit Method for Solving Flows of ODE B.Tasi´ c, R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven University of Technology, PO Box 513, 5600 MB, The Netherlands Abstract This paper is concerned with finding numerical solutions of a flow of ODE so- lutions. It describes a new method, based on Euler Backward method and interpo- lation, for finding solutions of autonomous problems. The special aspect is that this method is explicit, and resolves the flow with similar accuracy as Euler Backward method, even when the problem is stiff. An analysis is given of both stability and accuracy and extensions to non-autonomous problems are discussed. A number of numerical examples illustrates this analysis. 1 Introduction Implicit methods are often the method of choice for solving ODEs (Ordinary Differential Equations), like in stiff problems. In particular when they arise from semi-discretised PDEs (Partial Differential Equations), this implicitness causes the method to become very involved compared to explicit methods (see e.g. [2], [5], [6], [7], [15], [16]). The lat- ter are often a reasonable alternative, despite the fact that they require smaller step sizes in situations where implicit methods would not (see e.g. [8], [18]). Though semidiscre- tised PDEs are an important source for (stiff) ODEs, there is another reason for interest. Indeed, in studying problems in fluids, one often computes a quantity like the velocity field. The position then follows from solving a simple ODE like x fx x R (1.1) where x is a point in a flow. Typically a flow is a ”continuum” of solutions (see [3]). Quite often one has a bounded domain, like a (deforming) material blob (see [9], [11], [12], [13], [14], [17]). In such a case only the boundary may be of interest to describe the evolution of this blob. When trying to tackle this problem numerically, two problems 1

Transcript of An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE...

Page 1: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

An Explicit Method for Solving Flows of ODE

B.Tasic, R.M.M.MattheijDepartment of Mathematics and Computing Science,

Eindhoven University of Technology,PO Box 513, 5600 MB, The Netherlands

Abstract

This paper is concerned with finding numerical solutions of a flow of ODE so-lutions. It describes a new method, based on Euler Backward method and interpo-lation, for finding solutions of autonomous problems. The special aspect is that thismethod is explicit, and resolves the flow with similar accuracy as Euler Backwardmethod, even when the problem is stiff. An analysis is given of both stability andaccuracy and extensions to non-autonomous problems are discussed. A number ofnumerical examples illustrates this analysis.

1 Introduction

Implicit methods are often the method of choice for solving ODEs (Ordinary DifferentialEquations), like in stiff problems. In particular when they arise from semi-discretisedPDEs (Partial Differential Equations), this implicitness causes the method to becomevery involved compared to explicit methods (see e.g. [2], [5], [6], [7], [15], [16]). The lat-ter are often a reasonable alternative, despite the fact that they require smaller step sizesin situations where implicit methods would not (see e.g. [8], [18]). Though semidiscre-tised PDEs are an important source for (stiff) ODEs, there is another reason for interest.Indeed, in studying problems in fluids, one often computes a quantity like the velocityfield. The position then follows from solving a simple ODE like�

x����� f � x ��� x ∈ R ��� �� �������� (1.1)

where x is a point in a flow. Typically a flow is a ”continuum” of solutions (see [3]).Quite often one has a bounded domain, like a (deforming) material blob (see [9], [11],[12], [13], [14], [17]). In such a case only the boundary may be of interest to describe theevolution of this blob. When trying to tackle this problem numerically, two problems

1

Page 2: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

arise immediately. One is the question how to discretise the boundary at a certain time-point. The other is how to deal with an ODE, like (1.1), when f is not known explicitlyas a function of x, but only as a numerical approximation of the solution f of the un-derlying equation. In particular the latter fact makes use of implicit methods virtuallyimpossible.

In our approach we explicitly employ the fact that the flow is autonomous, whichis common in many physical applications. This simple observation makes that the ve-locity field, in a certain space domain, is known, once it is known at a given time-level.In order to find it at other (spatial) points, we may use interpolation. In fact, we useinterpolation for the positions instead. These two aspects (employing autonomy andinterpolation) make that we can use implicit methods to discretise the ODE (1.1), al-though the method is still explicit in a way.

In this paper we will concentrate on the Euler Backward method, not only becausethis is the simplest one to demonstrate our algorithmic approach, but also because theerror analysis is not too complex. Moreover, we will restrict ourselves to scalar prob-lems, i.e. both � and � are scalar.

The paper is built up as follows. We first give an outline of the mathematical problemin Section 2. In this section we also describe the basic idea behind the method. Since in-terpolation, more in particular inverse interpolation, is an essential ingredient we brieflydiscuss (Lagrangian) interpolation in Section 3. The numerical solution curves found atthe various time points should, of course, not ”intersect” in any reasonable setting (as ise.g. implied by Lipschitz continuity). This leads to a condition which we will call ”well-possedness”, see Section 4. The above mentioned interpolation introduces a more com-plicated local error than usual. Therefore an error analysis is given in Section 5, wherethe local error is estimated and its global effect assessed. The most interesting aspect ofour method is its stability. In Section 6 it is shown that we obtain a stability behaviorvery similar to that of the Euler Backward method, despite the fact that our method isexplicit. There is a variety of possibilities to generalize the ideas on which this methodis based and can be applied in other cases. We consider a few in Section 7. Finally, inSection 8 we give a number of numerical examples showing the quality of the methodand some concluding remarks in Section 9.

2 Outline of the Method

Consider the autonomous ODE �������������� (2.1)

where � is Lipschitz continuous. The notation�� represents the first derivative in time

and it will be used from this point onward. Let ���� !� ⊂ R denote a flow of (2.1), i.e. acontinuum of solutions � of (2.1), such that at time each �"�� !� ∈ ���� !� . In particular, welet ���� !� be finite, so there are boundary points, say #$�� !� and %&�� !� , such that#$�� !� ≤ �"�� !� ≤ %&�� !��' (2.2)

2

Page 3: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

The full system is then formally described by( )*,+ -�.�*�/�0*".213/ ∈ 4 .213/5+&6 7$.213/�0�8&.213/:9<; (2.3)

To find an approximate solution of (2.3) and thus have an approximation of 4 .�=!/ , one canuse any existing numerical method. For ease of argument and notation, we will restrictourselves to the Euler Backward method with a fixed step size > . We denote by *�? theapproximation of *".�=:?2/ , with =:?A@B+DC > . Then* ?FEHG +I* ?KJ > -�.�* ?FEHG /�; (2.4)

Note that, in general, the solution at =L?FEHG cannot be found analytically. This implies thatone has to use some iterative method to solve (2.4). The iterative process can sometimesbe a tedious and expensive task. Instead of solving *H?FEHG , from the (generally) nonlinearequation (2.4), we do the following. At time-level =M?FEHG , define the pointN ?FEHG @B+I* ? ; (2.5)

Since (2.1) is autonomous, we clearly have-�. N ?FEHG /O+P-�.�* ? /�; (2.6)

Now we can viewN ?FEHG as the point that would have been obtained by the Euler Back-

ward method if we would have started atN ? , defined byN ?FEHG + N ?J > -�. N ?FEHG /�; (2.7)

SinceN ?FEHG is known, we can use (2.7) to obtain the value

N ? (at time-level =:? ), i.e.N ? @B+ N ?FEHG − > -�. N ?FEHG /5+Q* ? − > -�.�* ? /�; (2.8)

From (2.8) it is clear that there exists a functional dependence between points at twoconsecutive time-levels. In general, this dependence is unknown analytically, but atleast we can use it to find approximate values. If we use interpolation, we need atleast two points per unknown value. However, one should note that we are solving theflow problem (2.3), i.e. the evolution of the flow, so the variable 4 .�=!/ . Hence we use anappropriately defined spatial discretisation of 4 .�=M?R/ . Note that for 1-D problems only theboundaries 7$.�=!/ and 8&.�=!/ matter. However, since we would eventually like to use thismethod for higher dimensional problems, we need sufficiently many points to represent(”sample”) 4 .�=L?2/ . Hence we discretise the whole interval 4 .�=!/ somehow.

Let { *TSU } V U�W G be a set of X ordered points in 4 .213/ , such that *HS G +P7$.213/ and *TSV +�8&.213/ .Then we expect { *T?U } V U�W G to be a similarly ordered set of points, approximately in 4 .�=M?R/ ,i.e. 7$.�= ? / ;+I* ? GZY * ? [ Y ;\;\; Y * ?V ;+P8&.�= ? /�; (2.9)

3

Page 4: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

Note that this is a consequence of well-possedness of ] (following from Lipschitz conti-nuity) and can be achieved because of consistency of the Euler Backward method (errorssmall enough for ^ small enough).

By applying (2.8) to all points _T`a , b�ced�f\g\g\ghfji , we obtain a set of points { k�`a } l a�mHn ,which can be used to find solutions at time-level oL`Fp n , see Figure 1. A particular valuein q�r�o:`Rs , can be found by interpolation. The thus described method will be referred asa flow method. There is no specific preference for the interpolation method, apart therequirement that the resulting approximation errors should commensurate with dis-cretisation errors. Of course, to keep the method simple, it is reasonable to apply thisinterpolation either to the entire set or to some convenient subset of { _H`a } l a�mHn . The inter-polation issue is the main topic of the following section.

3 Interpolation

Let us rewrite (2.4) as _ ` cQ_ `Fp n − ^t]�r�_ `Fp n sOctu3vwr�_ `Fp n s�g (3.1)

If we assume that vwr�_�s satisfies the conditions of the inverse-function theorem, i.e. inparticular that v ′ r�_�s 6 cDx , then y r�_�szuBc�v − n r�_�s�f (3.2)

exists, i.e. we can write _ `Fp n c y r�_ ` s�g (3.3)

Of course, the functiony

is unknown in general. Instead of trying to find _H`Fp n by (New-ton) iteration on v , we do the following. Since we can at least find some values attime-level o:` , for which the Euler Backward values are known, we use interpolation on

Figure 1: The principle of the flow method.

4

Page 5: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

the former to obtain an approximation of { , say | , by requiring}�~F�H���� |w� }�~����� (3.4)

Interpolating {w� } ~ � means that we are actually performing interpolation using the points� � } ~ � � . This interpolation can be local, i.e. for each point in the flow; so we do nothave to use all points from { � ~F�H�� } � ��� � and { � ~� } � ��� � . For � fixed we can use � − � addi-tional points ( � ≤ � ) closest to � ~� , i.e. � ~� �H� , � ~� − � , � ~� �K� , �\�\� with corresponding values� ~F�H�� , � ~F�H�� �H� , � ~F�H�� − � , � ~F�H�� �K� , �\�\� Let us denote these points by � ~�:� and � ~F�H��:� , � � ������� �\�\� �j� , respec-tively. Assume now that we use e.g. Lagrangian interpolation, i.e.

|w� }�~�\��� �,�� �!� ��� �:� � }�~��� � ~F�H��:� � (3.5)

� �:� � }�~��� ���� � � ��6 �3�} ~ � − � ~� �� ~�:� − � ~� � � (3.6)

where the index � refers to the interpolation with respect to } ~ � . Then (3.4) becomes

}�~F�H���� |w� }�~��� ���� �!� ��� �:� � }�~��� }�~�:� � (3.7)

Expressed in terms of the function {w� } � , the error of this inverse Lagrangian inter-polation is given by ¡ � } �z� � {t¢ ��£ �2¤ ��¦¥ § � } � � (3.8)

where § � } � � � } − � ~� � ���\�\� � } − � ~� � ��� (3.9)

From this point onward, for simplicity, we suppress the dependence on the order � (i.e.we omit the second index), because we will mostly concentrate on linear interpolation,i.e. where � � � . For this case we can use the subsequent or the previous point fromthe flow as a second one, i.e. } ~ � �H� or } ~ � − � . Of course, the interpolation order � shouldbe chosen high enough to guarantee sufficient accuracy; but higher order also meanslarger complexity.

One can express derivatives of {w� } � in terms of� � } � . Although this relation becomes

increasingly complex for larger � , there is a power of� ′ � } � in the denominator of each

derivative of {w� } � . For example

{ ′ � } � � �� ′ � } � �¨{ ′′ � } � � −

� ′′ � } �� � ′ � } �!�L© �ª{ ′′′ � } � � −

� ′′′ � } � � ′ � } � − � � ′′ � } �!� �� � ′ � } �!�L« � �\�\� (3.10)

By recalling (3.1), one should note that� ′ � } � � � } − ¬t­�� } �!� ′ � � − ¬®­ ′ � } ��� (3.11)

5

Page 6: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

From (3.8), (3.10) and (3.11) we conclude that if¯¯±° − ²®³ ′ ´�µ�¶ ¯¯ � °�· (3.12)

and ³ has bounded higher derivatives for µ"´�¸!¶ ∈ ¹ ´�¸!¶ , the interpolation error tends tozero. The condition (3.12) is typically fulfilled for stiff problems, meaning that it isreasonable to expect small interpolation errors.

Example 3.1. To show how this interpolation works out for a simple situation, considera problem where (2.3) is linear and º¼»P½ . So, let¾ ¿µ » À µ ·µ"´2Á3¶ ∈ ¹Â»Äà º ´2Á3¶ ·�Å ´2Á3¶:Æ · (3.13)

The set { ÇÉÈÊ } Ë Ê�ÌHÍ is then defined byÇ ÈÊ »QÇ ÈFÎ ÍÊ − ²t³ ´ Ç ÈFÎ ÍÊ ¶ » µ È Ê − ²®À µ È Ê�Ï (3.14)

From (3.5) and (3.6), we see

µ ÈFÎ ÍÊ »�Ð ´�µ È Ê ¶ » µ È Ê − ÇÉÈÊ Î ÍÇ ÈÊ − Ç ÈÊ Î Í Ç ÈFÎ ÍÊÒÑ µ ÈÊ − ÇÉÈÊÇ ÈÊ Î Í − Ç ÈÊ Ç ÈFÎ ÍÊ Î Í Ï (3.15)

After substituting (2.5) and (3.14) into (3.15), we find

µ ÈFÎ ÍÊ » ´�µ È Ê − µ È Ê Î Í Ñ Àt² µ È Ê Î Í ¶�µ ÈÊ − Àt² µ È Ê µ È Ê Î Í´ ° − Àt² ¶5´�µ È Ê − µ È Ê Î Í ¶ · (3.16)

leading to µ ÈFÎ ÍÊ » µ È Ê° − Àt² Ï (3.17)

This is exactly the same expression as one would have obtained from directly applyingthe Euler Backward method. This result is no surprise, of course, since linear interpola-tion should be exact for a linear function.

4 Well-possedness of the Flow Method

In Section 2 we assumed Lipschitz continuity of the function ³ . Considering the flowproblem (2.3), this means that integral curves of the exact solutions { µ Ê ´�¸ È ¶ } Ë Ê�ÌHÍ will notintersect (cf. [4]). We will call this well-possedness. This property should be inheritedby the numerical method, i.e. it should be such that the set { µ ÈFÎ ÍÊ } Ë Ê�ÌHÍ have the sameordering as { µ È Ê } Ë Ê�ÌHÍ . In this section, we will seek a condition for well-possedness of

6

Page 7: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

the flow method, i.e. the preservation of the ordering of points in the flow. As before,without restriction, we may assumeÓ�ÔÕ×ÖØÓ�Ô Ù�ÖPÚ\Ú\ÚKÖÛÓ�ÔÜ ⇔ Ý ÔFÞ ÙÕ Ö Ý ÔFÞ ÙÙ ÖPÚ\Ú\ÚKÖ Ý ÔFÞ ÙÜeß (4.1)

No disordering of these points from the inverse time integration, is equivalent toÝ Ôà Ö Ý Ôà Þ Ù�Ú (4.2)

By recalling (2.8), inequality (4.2) is equivalent toÝ ÔFÞ Ùà − á®â�ã�Ý ÔFÞ Ùàåä Ö Ý ÔFÞ Ùà Þ Ù − á®â�ã�Ý ÔFÞ Ùà Þ Ù ä ß (4.3)

or Ó�Ôà − á®â�ã Ó�Ôà ä ÖÛÓ�Ôà Þ Ù − átâ�ã Ó�Ôà Þ Ù ä Ú (4.4)Since Ó Ô à Þ Ù − Ó Ô àçæéè , this reduces toê

− á â�ã Ó Ô à Þ Ù ä − â�ã Ó Ô à äÓ Ô à Þ Ù − Ó Ô à æéè Ú (4.5)

If â�ã Ó ä is monotonous and smooth enough for Ó Ô ∈ ë Ó Ô à ß!Ó Ô à Þ Ù:ì , we can approximate thesecond term on the left of (4.5) by the first derivative áTâ ′ ã Ó Ô ä . For well-possedness wethus require ê

− átâ ′ ã Ó�Ô ä æéè Ú (4.6)Here â ′ ã Ó ä denotes a differentiation with respect to the argument Ó . The term

ê− áTâ ′ ã Ó Ô ä

in (4.6) was also encountered in the denominators of (3.10). Clearly, one should notexpect that inverse interpolation will provide accurate results when this expression isclose to zero. This means that, for a divergent flow, the constraint (4.6) is very strict.However, this constraint is always fulfilled for a convergent flow, i.e. for all monoton-ically decreasing â�ã Ó ä . This is important for stiff problems, i.e. for problems whereáíâ ′ ã Ó Ô ä � −

ê. Condition (4.6) will also ensure that numerically obtained solutions of

the flow do not intersect. This can be seen e.g. for linear interpolation: If we subtracttwo neighbouring solutions, sayÓ�ÔFÞ Ùà Þ Ùïî Ó�Ôà Þ Ù − á â�ã Ó Ô à Þ Ù äê

− áñðhò ó�ôõ÷ö�ø<ù − ðhò ó�ôõjùó�ôõ÷ö�ø − ó�ôõß (4.7a)

Ó�ÔFÞ Ùà î Ó�Ôà − á â�ã Ó Ô à äê− á ðhò ó�ôõ÷ö�ø<ù − ðhò ó�ôõjùó�ôõ÷ö�ø − ó�ôõ

ß (4.7b)

then Ó ÔFÞ Ùà Þ Ù − Ó ÔFÞ Ùà î Ó Ô à Þ Ù − Ó Ô à − á â�ã Ó Ô à Þ Ù ä − â�ã Ó Ô à äê− á ðhò ó�ôõ÷ö�ø ù − ðhò ó�ôõ ùó�ôõ÷ö�ø − ó�ôõ

ßî Ó Ô à Þ Ù − Ó Ô àê

− áñðhò ó ô õ÷ö�ø2ù − ðhò ó ô õjùó�ôõ÷ö�ø − ó�ôõß (4.8)

which is positive as Ó Ô à Þ Ù − Ó Ô àçæIè and assuming (4.5) is satisfied.

7

Page 8: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

5 Error Analysis

In this section, we show that the local error of the flow method consists of two com-ponents. The first one is the local discretisation error arising from the Euler Backwardmethod. The second one comes from the inverse interpolation , as shown in Section 3.We will assume that the well-possedness, described in the previous section, is satisfied.Recall (cf. e.g. [10]) that the local discretisation error of the Euler Backward methodapplied to (2.1) is given by ú�ûüþýBÿ

− � ���� ü ��� û�� � � � � � � (5.1)

As before, we restrict ourselves to linear interpolation, for the sake of simplicity. Thelocal error is found from substituting an exact solution into the numerical scheme, as-suming the solution is exactly known at

� ÿ � û. So take� ü ��� û������zýBÿ � û����ü ÿ � ü ��� û��ýBÿ � û ü ��� ÿ�� ��������������� � (5.2)

Using (3.5), with ! ÿ �, one can find that the interpolation polynomial, as a function of

the exact solution, is given by" � � ü ��� û�#�ïÿ � ü ��� û � − � ûü� ûü ���−� ûü � û����ü ��� � ü ��� û � − � ûü ���� ûü

−� ûü ��� � û����üÿ � $� ü ��� û � � ü ��� ��� û � − % � ü ��� û � − � ü ��� ��� û �� � $� ü ��� ��� û �'& � ü ��� û �� ü ��� ��� û � − � ü ��� û � − � % $� ü ��� ��� û � − $� ü ��� û �'&ÿ � ü ��� û � % � ü ��� ��� û � − � ü ��� û �'&( � % $� ü ��� û � � ü ��� ��� û � − � ü ��� û � $� ü ��� ��� û �'&� ü ��� ��� û � − � ü ��� û � − � % $� ü ��� ��� û � − $� ü ��� û �'& � (5.3)

After adding and subtracting$� ü ��� û � � ü ��� û � , the second term in the numerator of (5.3), can

be reformulated as� ) $� ü ��� û� � ü ��� ��� û� − � ü ��� û� $� ü ��� ��� û*�'+eÿ � ) $� ü ��� û�-, � ü ��� ��� û� − � ü ��� û�/.− � ü ��� û� , $� ü ��� ��� û*� − $� ü ��� û� .0+ � (5.4)

Using (5.4) and the well-possedness, i.e. � ü ��� ��� û � − � ü ��� û � 6 ÿ��, (5.3) becomes" � � ü ��� û�#�Oÿ � ü ��� û �� � 1 $� ü ��� û � − � ü ��� û �324�576�879 :�;=< − 24�5>9 :�;?<4�576�879 : ; < − 4�5>9 : ; <'@� − � 24�576�879 : ; < − 24�5A9 : ; <4�576�879 : ; < − 4�5A9 : ; < � (5.5)

We introduce the following simpler notation (note that$� ü ��� û �OÿCB � � ü ��� û �#� )$� ü ��� ��� û � − $� ü ��� û �� ü ��� ��� û � − � ü ��� û � ÿ B � � ü ��� ��� û �#� − B � � ü ��� û �#�� ü ��� ��� û � − � ü ��� û � ÿtýED B ü ��� û �D � ü ��� û � � (5.6)

This leads to" � � ü ��� û�#�Oÿ � ü ��� û �� � 1 $� ü ��� û � − � ü ��� û �GF�H 5>9 :�;?<F 4�5>9 : ; <I@� − � F�H 5>9 : ; <F 4�5>9 : ; < ÿ � ü ��� û�� � $� ü ��� û �� − � F�H 5>9 : ; <F 4�5>9 : ; < � (5.7)

8

Page 9: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

Now the local error of the flow method is found as the residual, say JLK�MONPK�Q'R�S�T#UAVAWXU , i.e.from substituting the exact solution in M R�S�TNZY�[ K�M\RN U . We then findJLK�MXNPK�Q R�S�T UAVAWXU Y^] MXNPK�Q R�S�T U − MXNPK�Q R U − W _MXNPK�Q'RU`

− Wba�c7d>e f�g?haOi�d>e f�g?h jPk Wml (5.8)

By assuming that nnn Wba�c7d>e f g haOi�d>e f�g?h nnn is small enough for W sufficiently small, we may use theapproximation ``

− W a�c7d�e f�g=haOi�d�e f g h Y `po Wrq3s NPK�Q'RUq MXNtK�Q R U o u KvWxwAUAV (5.9)

to giveJLK�MXNPK�Q R�S�T UAVAWXU Yzy MXNPK�Q R�S�T U − MXNPK�Q R U − W _MXNPK�Q R U y `{o W q3s NPK�Q R Uq MXNPK�Q R U o u KvWxw>U7|L| k Wml (5.10)

For a sufficiently smooth solution, one can expand the solution at the time-level Q/R�S�T asMXNPK�Q R�S�T U Y MXNPK�Q R U o W _MXNPK�Q R U o W w}�~MXNPK�Q R U o u KvWx�AUAl (5.11)

If we substitute this in (5.10), we haveJLK�MXNPK�Q R�S�T UAVAWXU Y W } ~MXNPK�Q R U − W q3s NPK�Q R Uq MXNPK�Q R U _MXNPK�Q R U o u KvWxwAUAl (5.12)

Since s K�MXN S�T K�Q'RU#U Y s K�MXNPK�Q'RU o q MXNtK�Q'RU#U , expansion around M�NPK�Q'RU leads toq3s NPK�Q'R*U#Uq MXNtK�Q R U Y s ′ K�MXNPK�Q R U#U o q MXNPK�Q'R*U} s ′′ K�MXNPK�Q R U#U o u�� q MXwN K�Q R U/��l (5.13)

Now the local error is found to beJLK�MXNPK�Q R�S�T UAVAWXU Y W } ~MXNPK�Q R U − W s ′ K�MXNPK�Q R U#U _MXNPK�Q R U − W } q MXNtK�Q R U s ′′ K�MXNPK�Q R U#U _MXNPK�Q R U oo u KvWXU u � q MXwN K�Q R U � o u KvWxwAUY −W } ~MXNPK�Q R U − W } q MXNPK�Q R U s ′′ K�MXNPK�Q R U#U _MXNPK�Q R U oo u KvWXU u�� q MXwN K�Q R U/� o u KvWxwAUAl (5.14)

Comparing right-hand sides of (5.14) and (5.1), we see that the expression of thelocal error of the flow method, contains two more terms coming from the interpolation.However, it is clear that the consistency order 1 is preserved. The second term on theright-hand side of (5.14), contains the second derivative of the function s K�MOU with respectto the variable M . This is a consequence of the linear inverse Lagrangian interpolation, as

9

Page 10: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

shown in Section 3. Clearly, if the order of the interpolation is higher, higher derivatives��� �E�#���O�A�������L���x�������are coming into play and their influence in the local error can

become dominant. The expression (5.14) can be seen as a sum of the local discretisationerror of the Euler Backward method and the interpolation error, viz.� ���X�P���'�������A�A�X�-�C�������� �� � (5.15)

where � ���� � � ���\�� �A� (5.16)

defined by (3.8).The interpolation error affects the global error in the same way as a local error. Hence

its global effect gives no real surprises. So we conclude from (5.15) that the global error is ¡�v�X� �  ¡�*¢£�X�P��� � �#� (see [10]). From this it is clear that interpolation may be the dominanterror source and thus determine the accuracy of the method.

6 Stability

In the Example 3.1 it was shown that the flow method, applied to a (linear) test problem,produces the same results as the Euler Backward method if the interpolation error isequal to zero. This means that the stability region, defined as the part of the complexplane where the increment function¤ �v�X¥�� � � ¦¦ − �X¥ � (6.1)

is in modulus bounded by 1, is identical to that of the Euler Backward method. Ofcourse, in the general (nonlinear) case we cannot say that the stability properties of theflow method are the same as those of the Euler Backward method. Hence, we need adifferent approach (see [1], [10]) to investigate its stability.

We can formulate our problem as a final solution of the one step method�\������ �C§ �?¨ �����\�� �A��©3��ª*��«¬�\�­ª ��®L� ¦ ��������� (6.2)

where we used the indicesª

and©

to denote its dependence on the time level� �

and theinterpolation point

� � � . The linear interpolation polynomial is given by§ �?¨ �����O���¯� � � �E���O�¦ − �±° � ²A³´7µ�¶v� − ° � ²��²A³´7µ�¶ − ² �(6.3)

In order to find out about the stability of the recursion (6.2), we look for the first varia-tion. Let { · �� } � ° � ²A¸v¹ denotes a small perturbation of the solution {

� � �}� ° � ²A¸v¹ of (6.2), such

that {� � � � · �� } � ° � ²A¸v¹ also satisfies (6.2) to the first order. Then we have�\������ � · ������ ��§ �?¨ �����\��{� · �� � ��C§ �?¨ �����\�� � � § ′�?¨ � ���\�� � · �� � (6.4)

10

Page 11: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

where º ′»?¼ ½�¾�¿ » ½¬À denotes the first derivative of (6.3) with respect to the argument ¿ . Byneglecting second and higher order terms we haveÁ »�Â�ý Ä º ′»?¼ ½ ¾�¿ » ½ À Á »½ÆÅ (6.5)

For stability in a nonlinear situation it is sufficient to prove contractivity of the discreteequation (6.5), i.e. this means ÇÇ º ′»?¼ ½ ¾�¿ » ½ À ÇÇ ≤ È Å (6.6)

Carrying out the differentiation of (6.3), we have

º ′»?¼ ½ ¾�¿OÀ Ä ÈpÉËÊbÌ ′ ¾�¿OÀÎÍ È − ʱÏ0Ð ÑAÒÓ7Ô�Õ*Ö − Ï0Ð Ñ�ÖÑ Ò Ó7Ô�Õ − ÑØ× ÉËÊ Ì ¾�¿OÀ Ï0Ð ÑAÒÓ7Ô�Õ*Ö − Ï0Ð Ñ�Ö − Ï ′ Ð Ñ�֬РÑAÒÓ7Ô�Õ − Ñ�ÖÐ Ñ Ò Ó7Ô�Õ − Ñ�ÖÚÙÍ È − Ê Ï0Ð Ñ Ò Ó7Ô�Õ Ö − Ï0Ð Ñ�ÖÑ Ò Ó7Ô�Õ − ÑÛ×mÜ Å (6.7)

After substituting ¿ » ½ and some reordering, (6.7) becomes

º ′»?¼ ½ ¾�¿ » ½ À Ä È − Ê Í�Ý Ï>ÒÓÝ Ñ Ò Ó − Ì ′ ¾�¿ » ½¬À ×È − Ê Ý Ï ÒÓÝ Ñ Ò Ó ÉËÊ Ü Ì ¾�¿ » ½ À ÞPß ÒÓÞ�à Ò Ó − Ï ′ Ð ÑAÒÓ#ÖÝ Ñ Ò ÓÍ È − Ê Ý Ï ÒÓÝ Ñ Ò ÓÆ× Ü Å (6.8)

For further analysis of (6.8), we first make an expansioná Ì »½á ¿ » ½ Ä Ì ′ ¾�¿ » ½ À É á ¿ » ½â Ì ′′ ¾�¿ » ½ À É ¾ á ¿ » ½¬À Üã Ì ′′′ ¾�¿ » ½ À É ä�å ¾ á ¿ » ½ ÀIæ>ç Å (6.9)

Substituting (6.9) in (6.7), we findÇÇ º ′à ¾�¿ » ½ À ÇÇ Ä ÇÇÇÇÇ È − Ê Ý Ñ Ò ÓÜ Ì ′′ ¾�¿ » ½¬À É ä ¾#¾ á ¿ » ½¬À Ü ÀÈ − Ê Ì ′ ¾�¿ » ½ À É ä ¾#¾ á ¿ » ½ À Ü À ÉÉ Ê Ü Ì ¾�¿ » ½ À

ÃÜ Ì ′′ ¾�¿

» ½¬À É Ý Ñ Ò Óè Ì ′′′ ¾�¿ » ½¬À É ä ¾#¾ á ¿ » ½¬À æ À¾ È − Ê Ì ′ ¾�¿ » ½ À É ä ¾#¾ á ¿ » ½ À Ü À#À ÜÇÇÇÇÇ Å (6.10)

The expression (6.10) needs to be analysed further. It is clear that interpolation influ-ences the stability. If é ¾�ê#À is ”well-sampled”, i.e. if

á ¿ » ½ is sufficiently small so as to makethe last terms negligible, the condition (6.6) can be simplified to giveÇÇÇÇÇ ÈÈ − Ê Ì ′ ¾�¿ » ½ À É Ê Üâ Ì ¾�¿ » ½¬À Ì ′′ ¾�¿ » ½¬À¾ È − Ê Ì ′ ¾�¿ » ½ À#À Ü

ÇÇÇÇÇ\ë È Å (6.11)

Note that a similar condition for the Euler Backward method readsÇÇÇÇ ÈÈ − Ê Ì ′ ¾�¿ »�Â�ý À ÇÇÇÇ ë È Å (6.12)

11

Page 12: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

This means that we have an additional term, It does not necessarily tend to zero for stiffproblems, where ìîí ′ ï�ð\ñò¬ó � ô . Indeed, in this case (6.11) becomesõõõõ ôö í ï�ð\ñò¬ó í ′′ ï�ð\ñò¬óï í ′ ï�ð ñ ò ó#óI÷ õõõõ\ø ô�ù (6.13)

The latter constraint is not very severe, certainly compared to those found for explicitmethods. We illustrate this in Section 8.

7 Extensions of the Flow Method

In previous sections we showed the basic idea, properties and analyses of the flowmethod. We restricted ourselves basically to the simplest implementation, namely lin-ear interpolation with an equidistantly sampled initial interval ú ï�û#ü�ó . However, there area number of extensions of the flow method. For example, we can use other interpolationtechniques like Hermite interpolation or global approximation method like splines, etc.Another idea is to interpolate the points í ï�ý ñ�þ�ÿò ó instead of ý ñ�þ�ÿò , using the correspondingýÆñò . Similarly as before, this results in obtaining an interpolation polynomial, say � ï�ð�ñó ,which represent the approximation of í ï�ð ñ�þ�ÿò ó , i.e. we have� ï�ð ñ ò ó ù� í ï�ð ñ�þ�ÿò ó ù (7.1)

Now we can substitute (7.1) into the Euler Backward method, obtainingð ñ�þ�ÿò � ð ñ ò�� ì�� ï�ð ñ ò ó ù (7.2)

The analysis of this approach is basically the same as already given. To illustrate this, wecan show that for the linear interpolation, (7.2) is equivalent to (3.5). Indeed, consider� ï�ð ñ ò ó � ð\ñò − ýÆñò þ�ÿý ñò − ý ñò þ�ÿ í ï�ý ñ�þ�ÿò ó � ð\ñò − ýÆñòý ñò þ�ÿ − ý ñò í ï�ý ñ�þ�ÿò þ�ÿ ó ù (7.3)

As before, after replacing (2.5) and some reordering, we have� ï�ð ñ ò ó � í ï�ð\ñò�óô − ì ������� � ù (7.4)

After substitution (7.4) into (7.2), we obtainð ñ�þ�ÿò � ð ñ ò�� ì í ï�ð ñ ò óô − ì ��� ���� � (7.5)

which is the same expression as obtained before.

12

Page 13: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

In the error analysis it was shown that the interpolation error depends not only onthe time step size � , but also on the spatial step size ������ . This can be used to control theinterpolation error by choosing ��� �� appropriately at every time-level. In other words,we can change the number of discretisation points in a flow according to accuracy re-quirements. Let us denote the number of points at ��� by ��� . By applying some toleranceconsidering the interpolation error, say ���������! , we can construct an algorithm where��"#�$�&% is resampled at every time-level. Of course, this means that we have to estimate theinterpolation error for which we need higher derivatives of ' . For linear interpolation,recall that the interpolation error is given by( ���) −

� * ��� �� ' ′′ "#� � � %�'+"#� � � %-,.�/"0�1%��324"5��� �� %�67�8 (7.6)

If we want to keep this below given ���������! we can do the following. Assume thatthe number of points in the flow is ��� − 9 at time-level �$� − 9 . By neglecting higher orderterms, we can estimate ‖ ( �� ‖∞ for all points { �:�� } ;=< − >�? 9 or just for boundary points, i.e. for@ )BA and

@ ) ��� − 9 . Now, we choose ���1�;=C5D such that ‖ ( �� ‖∞ ≤ ���������! and resample��"#�$�&% with a new number of points ��� , found from� �FE )HG ��"#� � %��� �;=C5DJI , A 8 (7.7)

The tolerance of the interpolation error ���������! should commensurate with the dis-cretisation error. By choosing ���������! too small, it can result in too many points in��"#�$�&% , which can significantly decrease the speed of computation. On the other hand, theaccuracy will not equally be improved as the discretisation errors remain the same.

The interpolation error can also be controlled by changing the number of points Kused for the interpolation. Of course, this involves higher derivatives of ' and addi-tional costs. For ' smooth enough, higher order interpolation can decrease the inter-polation error, but it will not affect the discretisation error. This means that the solu-tion will not be more accurate, but only closer to one obtained by the Euler Backwardmethod. Also, one can generate an algorithm where the number of sample points in aflow ��� , as well as the number of interpolation points KL� , are varying in time. Moreover,the number of neighbouring points KL�� − A can differ for each point in a flow at each ��� .For all this control techniques, we need an interpolation error estimate, which can bedone by standard techniques. If ' is not smooth, higher order interpolation may causenumerical instabilities of the method.

The flow method can be also used for non-autonomous problems of the followingtype M� ) '+"#��%-,ONP"#�Q%48 (7.8)

The principle remains the same, i.e. we first determine a set of pointsR ��S) R �UT 9� − �!'+" R �UT 9� % − �VNP"#� �UT 9 % ) � � � − ��'+"#� � � % − �WNP"#� �UT 9 %4X (7.9)

13

Page 14: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

and then interpolate points Y[ZU\�]^ with corresponding Y Z^ , in order to obtain the interpola-tion polynomial _a`#b Z&c . Since d does not depend on the spatial variable b , the additionalsource terms are cancelling in all denominators of _a`#b Z c (for arbitrary e ), making d ap-pearing only as an additional term of the interpolation polynomial. To illustrate this,we can reformulate Example 3.1 by adding a source term dP`#f c on the right-hand sideof (3.13). By substituting (7.9),with g+`#b cihkj b , instead of (3.14), into (3.15), we haveb:ZU\�]^ h `#b Z ^ − b Z ^ \�]�l j�m b Z ^ \�]�l m dP`#f ZU\�] cQc b Z ^ − j�m b Z ^ b Z ^ \�] − m dP`#f ZU\�] c b Z ^`�n − j�m1c `#b Z ^ − b Z ^ \�] c o (7.10)

leading to b ZU\�]^ h b Z ^n − j�m l m dP`#f Z#cn − j�mqp (7.11)

Once again, we obtain the same results as would be obtained by using the Euler Back-ward method.

8 Examples

In this section we will give a number of examples, to demonstrate the flow method, il-lustrating various properties discussed in previous sections. Thus it will be shown thatif only the interpolation is done appropriately, the accuracy and the stability are approx-imately the same as obtained by the Euler Backward method. Moreover, we show thatthe flow method with linear interpolation is efficient, even for nonlinear problems.

The first example demonstrates the effect of the space-discretisation on the globalerror propagation. In Section 5, we saw that the interpolation error is negligible only ifit is of the same order as the discretisation error.

Example 8.1. Consider the ODEr sb h − tvuQwyxtvz-`�n|{}b c o~ `5{ c�h �− n o n�� p (8.1)

In this example, the velocity field g has large second derivatives around zero. Thismeans that we can expect large interpolation errors (especially for linear interpolation),if~ `#f Z5c is not sampled well enough. Numerical results of the boundary points solutions

together with the ∞-norm of the global error, for a small number of the grid points forthe flow ( � h�� ), are shown in Table 1. To estimate the global error, we use solutions ofthe Euler Backward method with m1� n|{[{[{ as the ”exact” ones. One should note that theaccuracy of the flow method is slightly less than the one obtained by the Euler Backwardmethod. The reason is, of course, that the interpolation error is dominant. This caneasily be seen if we monitor ∞-norm of the interpolation error, i.e. the second term ofthe local error, given by (5.14). If we take � h�� n the interpolation error is smaller andthe global errors of both methods are approximately of the same order, see Table 2.

14

Page 15: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

Interpolation Flow EulerInd Time Solutions at boundaries error method Backward� �$� �:� � �:��

‖ � �� ‖∞ ‖ � � � ‖∞ ‖ � � � ‖∞0 0.0 -1.0000e+00 1.0000e+00 1.4421e-03 0.0000e+00 0.0000e+001 0.1 -8.7175e-01 8.7175e-01 1.8672e-03 1.8054e-02 8.6910e-042 0.2 -7.4695e-01 7.4695e-01 2.4869e-03 3.6697e-02 1.2020e-033 0.3 -6.2638e-01 6.2638e-01 3.4233e-03 5.6442e-02 1.7490e-034 0.4 -5.1113e-01 5.1113e-01 4.8914e-03 7.6732e-02 2.7087e-035 0.5 -4.0261e-01 4.0261e-01 7.2646e-03 9.5980e-02 4.4885e-036 0.6 -3.0279e-01 3.0279e-01 1.1100e-02 1.1012e-01 7.6680e-037 0.7 -2.1422e-01 2.1422e-01 1.6660e-02 1.1069e-01 1.1351e-028 0.8 -1.4007e-01 1.4007e-01 2.1262e-02 9.0668e-02 1.1082e-029 0.9 -8.3436e-02 8.3436e-02 1.6826e-02 5.9962e-02 7.2253e-03

10 1.0 -4.5509e-02 4.5509e-02 6.0704e-03 3.4010e-02 3.9100e-03

Table 1: The global error propagation for �/������� and � ���� ���[� � ( ����� )Interpolation Flow Euler

Ind Time Solutions at boundaries error method Backward� �$� �:� � �:��‖ � �� ‖∞ ‖ � � � ‖∞ ‖ � � � ‖∞

0 0.0 -1.0000e+00 1.0000e+00 1.4421e-04 0.0000e+00 0.0000e+001 0.1 -8.5449e-01 8.5449e-01 2.2438e-04 1.1689e-03 1.1359e-022 0.2 -7.1124e-01 7.1124e-01 3.7265e-04 6.1113e-03 1.1562e-023 0.3 -5.7126e-01 5.7126e-01 6.7250e-04 7.5259e-03 1.1852e-024 0.4 -4.3630e-01 4.3630e-01 1.3458e-03 8.6893e-03 1.1914e-025 0.5 -3.0965e-01 3.0965e-01 3.0110e-03 8.9195e-03 1.1583e-026 0.6 -1.9789e-01 1.9789e-01 6.9482e-03 8.9961e-03 1.1917e-027 0.7 -1.1238e-01 1.1238e-01 1.1044e-02 9.9227e-03 1.1765e-028 0.8 -5.9678e-02 5.9678e-02 6.5057e-03 1.0274e-02 1.1082e-029 0.9 -3.0628e-02 3.0628e-02 1.5307e-03 7.1543e-03 7.2253e-03

10 1.0 -1.5440e-02 1.5440e-02 2.3198e-04 3.9400e-03 3.9100e-03

Table 2: The global error propagation for �/� ����� and � ���� � ����� ( �¡�k¢�� )Example 8.2. In Section 4 we formulated the condition for well-possedness of the flowmethod. Its usefulness is illustrated by the following example. Consider£ ¤� � �L¥#�

− �§¦ ¥#�©¨ �§¦4ª« ¥ �¬¦�� ­− �[ª=��®0� (8.2)

The right-hand side of (8.2) is the third order polynomial, which changes sign on¥− �[ª=�§¦ .

Note that for�∈¥− �[ª − �

√ ¯ ¦ ∪ ¥ �√ ¯ ª=�§¦�° is an increasing and for

�∈¥−

�√ ¯ ª �√ ¯ ¦ a decreas-

15

Page 16: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

ing function. Since ±a²§³´ ∈ µ·¶¹¸�º¼»0½ ′ »#¾�¿Q¿ÁÀ� we find that the condition for the well-possedness

of the flow method (4.6) requires the time step size à to be smaller then Ä�Å¹Æ . For larger à ,we may expect the numerical integral curves to intersect for points where ½ ′ »#¾�¿qÇ Ä , seeFigure 2a. Note that for points where ½ ′ »#¾�¿ÉÈ Ä , intersections will not occur no matterhow large is à . If we use a step size Ã È Ä�Å¹Æ , integral curves do not intersect, see Figure2b.

0 0.5 1 1.5 2−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t

x(t)

(a) ÊSËÍÌyÎ Ï 0 0.5 1 1.5 2−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t

x(t)

(b) ÊSË�ϧΠÐFigure 2: Well-possedness of the flow method

Example 8.3. In this example we illustrate the stability properties of the flow method,as analysed in Section 6. Since stability is one of the most important reasons for usingimplicit methods, we show that the flow method can be successfully used for solvingvery stiff problems. Indeed, considerÑ Ò¾ÓÀ − Ô|ÄvÕ ¾1Ö|×Ø » Ä ¿ÙÀ Ú− Ô × Ô�Û0Å (8.3)

This is a typical example where an implicit method needs to be used. Since the stabilitycondition of the flow method (6.11) is satisfied (in

Ø »#ÜQ¿ ), we can solve (8.3) for arbitrary à .The results, obtained both with the flow method and Euler backward, for à À Ä�Å�Ô , areshown in Figure 3. One should note that the stability is preserved and that the accuracydepends on the time step only. Of course, as before, the slightly larger error of the flowmethod (for ÜqÇ Ä�Å Ý ) is due to the interpolation error.

Example 8.4. Consider the Example (8.1) once again. It was shown that the interpolationerror can play a dominant role for the accuracy of the method, if

Ø »#ÜßÞ&¿ is not sampled

16

Page 17: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

0 0.2 0.4 0.6 0.8 110

−4

10−3

10−2

10−1

t

||e(t)

||

FMEB

Figure 3: The global error propagation for à/á�â�ã�ä .well enough. Let us now solve the same problem by applying regridding as describedin previous section. The interpolation error in the whole interval å�æ#çßè&é is kept below agiven tolerance å�ê�ë�ë�ì!í by ensuring a sufficient number of points in the flow at everytime step. The order of the discretisation error can be seen by solving this problemwith the Euler Backward method. The tolerance å�ê�ë�ë�ì!í should be of the same order,ensuring that the interpolation error commensurate with the discretisation error. InTable 3 we have given the results with å�ê�ë�ë�ì!íîáïä|â − ð . One should note that theinterpolation error is below å�ê�ë�ë�ì!í , which ensures that the global error of the flowmethod is of the same order as of the Euler Backward.

Example 8.5. In previous section, we showed that the flow method can be also used for aclass of non-autonomous problems. Moreover, if ñ is smooth enough, the interpolationerror can be reduced by using more interpolation points. In this example, we will solvea non-autonomous problem with a different number of points used for interpolation.Consider ò óô á õ − öq÷ùø�ú[û ç4üå�æ5â¬é�á ý− ä[ü=ä�þ0ã (8.4)

Clearly the problem (8.4) is nonlinear and non-autonomous. To obtain a proper com-parison of the flow method and the Euler Backward method accuracies, we first solvethe equivalent autonomous problem, i.e. we omit the source term on the right-handside of (8.4). By comparing results obtained from the flow method, with linear inter-polation ( ÿ á �

), with those obtained from the Euler Backward method, one can seethat the interpolation error is dominant causing the global error of the flow methodto be larger, see Figure 4a. This result is expected, since we are solving a highly non-linear problem. If we now apply the flow method, again with linear interpolation, to

17

Page 18: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

Flow Interpolation Flow EulerInd Time points error method Backward� ��� ���

‖ � � ‖∞ ‖ � ‖∞ ‖ � ‖∞0 0.0 4 9.6143e-04 0.0000e+00 0.0000e+001 0.1 5 9.6386e-04 3.3085e-03 8.7668e-042 0.2 7 8.9748e-04 5.0371e-03 1.2125e-033 0.3 9 9.9317e-04 6.1222e-03 1.7641e-034 0.4 14 9.6319e-04 6.9853e-03 2.7322e-035 0.5 23 9.6020e-04 7.2532e-03 4.5278e-036 0.6 37 9.8771e-04 6.5328e-03 7.7383e-037 0.7 42 9.9805e-04 4.4143e-03 1.1468e-028 0.8 18 9.4590e-04 2.7440e-03 1.1210e-029 0.9 4 9.5103e-04 2.0831e-03 7.3141e-03

10 1.0 2 4.0467e-04 1.3585e-03 3.9591e-03

Table 3: The global error propagation for � ������� and ��������������� � − ! .

the non-autonomous (8.4), it is clear that the accuracy will be also determined by theinterpolation error. This can be seen especially in areas where the discretisation error(the error of the Euler Backward method) is small, see Figure 4b. However, note thatthe accuracy of the flow method is still of the proper order although the problem isnon-autonomous. If we increase the number of interpolation points for each point in aflow, the global error of the flow method is approaching to one of the Euler Backwardmethod. Results for three and four points interpolation are shown on Figure 4c andFigure 4d respectively.

9 Conclusion

The flow method has been shown to have a great potential for solving autonomous flowproblems, even very stiff ones. It is a, de facto, explicit method with stability propertiescomparable to those found from the implicit Euler method. The interpolation involvedis local and does not introduce large additional costs in computation. There is a varietyof ways to make the algorithm even more versatile. Despite its strong leaning on theODE being autonomous, it can be used for non-autonomous problems as well if thetime dependence appears as an additional source term only.

References

[1] J.C. Butcher. Numerical methods for ordinary differential equations in the 20thcentury. Journal of Computational and Applied Mathematics, 125:1–29, 2000.

18

Page 19: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

0 1 2 3 4 5 6 710

−4

10−3

10−2

10−1

t

||e(t)

||

FMEB

(a) "$#&%

0 1 2 3 4 5 6 710

−4

10−3

10−2

10−1

t

||e(t)

||

FMEB

(b) "$#&%

0 1 2 3 4 5 6 710

−4

10−3

10−2

10−1

t

||e(t)

||

FMEB

(c) "$#�'

0 1 2 3 4 5 6 710

−4

10−3

10−2

10−1

t

||e(t)

||

FMEB

(d) "$#)(

Figure 4: The global error propagation of the autonomous (a) and the non-autonomousproblem (b-d) for a different number of points used for the interpolation. Here *$+-,and . +�/�0�1 .

[2] G.D. Byrne and A.C. Hindmarsh. Stiff ODE solvers: A review of current and com-ing attractions. Journal of Computational Physics, 70:1–62, 1987.

[3] J. Guckenheimer and P. Holmes. Nonlinear Oscillations, Dynamical Systems, and Bi-furcations of Vector Fields. Springer-Verlag, 1997.

[4] P. Hartman. Ordinary differential equations. John Wiley & Sons, 1964.

[5] A.C. Hindmarsh and L.R. Petzold. Algorithms and software for Ordinary Differ-ential Equations and Differential-Algebraic Equations, Part I: Euler methods and

19

Page 20: An Explicit Method for Solving Flows of ODE - TU/e · An Explicit Method for Solving Flows of ODE B.Tasic,· R.M.M.Mattheij Department of Mathematics and Computing Science, Eindhoven

error estimation. Computers in Physics, 9:34–41, 1995.

[6] K. Laevsky and R.M.M. Mattheij. Determining the velocity as a kinematic bound-ary condition in a glass pressing problem. Technical Report RANA 01-09, Eind-hoven University Of Technology, 2001.

[7] D. Lanser, J.G Blom, and J.G. Verwer. Time integration of the shallow water equa-tions in spherical geometry. Journal of Computational Physics, 171:373–393, 2001.

[8] V.I. Lebedev. Explicit difference schemes for solving stiff systems of ODEs andPDEs with complex spectrum. Russian Journal of Numerical Analysis and Mathemati-cal Modelling, 13:107–116, 1998.

[9] R.M.M. Mattheij and K. Laevsky. Numerical volume preservation of a divergencefree fluid under symmetry. Technical Report RANA 01-11, Eindhoven UniversityOf Technology, 2001.

[10] R.M.M. Mattheij and J. Molenaar. Ordinary differential equations in theory and practice.John Wiley & Sons, 1996.

[11] S. Osher and J.A. Sethian. Fronts propagating with curvature-dependent speed: al-gorithms based on Hamilton-Jacobi formulations. Journal of Computational Physics,79(1):12–49, 1988.

[12] D. Ramsden and G. Holloway. Evolution of vesicles subject to adhesion. Journal ofComputational Physics, 95:101–116, 1991.

[13] S.W. Rienstra and T.D. Chandra. Analytical approximations to the viscous glassflow problem in the mould-plunger pressing process, including an investigation ofboundary conditions. Journal of Engineering Mathematics, 39:241–259, 2001.

[14] R. Rosso, A.M. Sonnet, and E.G. Virga. Evolution of vesicles subject to adhesion.R. Soc. Lond. Proc. Ser. A Math. Phys. Eng. Sci., 456(1998):1523–1545, 2000.

[15] A. Sandu, F.A. Potra, V. Damian-Iordache, and G.R. Carmichael. Efficient imple-mentation of fully implicit methods for atmospheric chemistry. Journal of Computa-tional Physics, 129:101–110, 1996.

[16] R.P. Tewarson, H. Wang, J.L. Stephenson, and J.F. Jen. Efficient solution of differ-ential equations for kidneyconcentrating mechanism analyses. Appl. Math. Lett.,4:69–72, 1991.

[17] G.A.L. van de Vorst. Numerical simulation of axisymmetric viscous sintering. En-gineering Analysis with Boundary Elements, 14:193–207, 1995.

[18] J.G. Verwer and D. Simpson. Explicit methods for stiff odes from atmosphericchemistry. Applied Numerical Mathematics, 18:413–430, 1995.

20