Applied Mathematics and Computation 186 (2007) 831–835 www.elsevier.com/locate/amc
The method of lines for the numerical solution of a mathematical model for capillary formation: The role of endothelial cells in the capillary Serdal Pamuk
a,*
, Arzu Erdem
b
a
b
Department of Mathematics, University of Kocaeli, Umuttepe Campus, 41800 Kocaeli, Turkey Applied Mathematical Sciences Research Center, University of Kocaeli, Ataturk Bulvari, 41300 Kocaeli, Turkey
Abstract In this paper we present the method of lines to obtain the numerical solution of a mathematical model for capillary formation in tumor angiogenesis. This method is an approach to the numerical solution of partial differential equations that involve a time variable t and space variables x, y, . . . As the number of lines is increased, the accuracy of the method of lines representation of the original system increases. The method provides very accurate numerical solutions for linear and nonlinear problems in comparison with other existing methods. We also provide computer programs written in Matlab and figures that show the endothelial cell movement. 2006 Elsevier Inc. All rights reserved. Keywords: Method of lines; Capillary formation; Tumor angiogenesis; Numerical solution
1. Introduction We consider the following initial boundary-value problem originally presented in [6]: ou o o u ¼D u ln ; ðx; tÞ 2 XT :¼ f0 < x < 1; 0 < t 6 T g; ot ox ox f ðxÞ uðx; 0Þ ¼ 1; x 2 ð0; 1Þ; o u ln Du ¼ 0; t 2 ½0; T ; ox f ðxÞ x¼0 o u ln ¼ 0; t 2 ½0; T ; Du ox f ðxÞ x¼1 *
Corresponding author. E-mail addresses:
[email protected] (S. Pamuk),
[email protected] (A. Erdem).
0096-3003/$ - see front matter 2006 Elsevier Inc. All rights reserved. doi:10.1016/j.amc.2006.08.024
ð1Þ ð2Þ ð3Þ ð4Þ
832
S. Pamuk, A. Erdem / Applied Mathematics and Computation 186 (2007) 831–835
where f ðxÞ ¼
n a n a a þ Axn ð1 xÞ 1 c þ 1 Bxn ð1 xÞ 2 : n n b þ Axn ð1 xÞ d þ 1 Bxn ð1 xÞ
ð5Þ
Here, u(x, t) is the concentration of Endothelial Cells, D is the cell diffusion constant and a, b, c, d, A, B, n, a1, a2 are some arbitrary constants. Also, f(x) is the so called transition probability function [6]. 2. Method The method of lines (MOL) is a general way of viewing a partial differential equation (PDE) as a system of ordinary differential equations (ODE). The partial derivatives with respect to the space variables are discretized to obtain a system of ODE’s in the variable t. The choice of spatial discretization and the position of the spatial discretization points effect the performance of the method [12]. This method is applied for reacting flow problems modelled by hyperbolic PDE’s with stiff source terms [1]. In [5], the Author introduces a new runtime simulation-language compiler, which reads, compiles and then runs vector as well as scalar differential equations. We now apply this method for our problem (1)–(5). We proceed a uniform grid xhs:¼{(xi, tj) : xi = ih, tj = js, 0 < i < N, 0 < j < j0, j0 = T/s} and obtain a difference scheme for the problem (1)–(5). Eq. (1) can be written 0 o o u f ðxÞ u ln : ¼ uxx u ox ox f ðxÞ f ðxÞ x 0
ðxÞ Eq. (1) reads as follows: Therefore, by setting F ðxÞ ¼ ff ðxÞ
ut ¼ Dðuxx ðuF Þx Þ:
ð6Þ
We suppose the solution of (6), u(x, t) can be approximated by ui(x, t), and use the standart difference equations for the first and the second derivatives of u, so that ux (ui+1 ui1)/2h, uxx (ui+1 2ui + ui1)/h2. Therefore, by discretizing the right handside of Eq. (6) in space variable x, one obtains the system of ODE’s as follows: dui uiþ1 2ui þ ui1 uiþ1 F iþ1 ui1 F i1 ¼D ; 1 6 i 6 N 1: ð7Þ dt 2h h2 The initial condition (2) and the boundary conditions (3) and (4) now become: ui ¼ 1; 1 6 i 6 N 1; t ¼ 0; ou0 u0 F 0 ¼ 0; for t > 0; D ox ouN uN F N ¼ 0; for t > 0: D ox
ð8Þ ð9Þ ð10Þ
Using the central difference for the boundary conditions (9) and (10) and taking into account (7), we obtain the following coupled system of ODE’s: du0 2u1 2ð1 þ hF 0 Þu0 ðF 1 F 1 Þu1 þ 2hF 0 F 1 u0 ¼D ; ð11Þ dt 2h h2 dui uiþ1 2ui þ ui1 uiþ1 F iþ1 ui1 F i1 ¼D ; 1 6 i 6 N 1; ð12Þ dt 2h h2 duN 2uN 1 2ð1 hF N ÞuN ðF N þ1 F N 1 ÞuN 1 þ 2hF N F N þ1 uN ¼D : ð13Þ dt 2h h2 Once this system of ODE’s is solved, the solution to the initial-boundary value problem (1)–(4) is obtained.
S. Pamuk, A. Erdem / Applied Mathematics and Computation 186 (2007) 831–835
833
3. Numerical example and computer codes For numerical purposes we take D = 0.00025, a = 1, b = 2, c = 10, d = 0.1, a1 = a2 = 1, A = 28 · 107, B = 0.22 · 109, n = 16. We write the following computer programme in Matlab, and proceed as follows. Firstly, we code the input data as global variables. Secondly, we code the function F(x) that appears in (6) as a m-file called ‘‘fright’’. Thirdly, we code the ODE system (11)–(13) as a m-file called ‘‘fparabolic’’, and code the initial condition vector as a m-file called ‘‘inbound’’. Finally, we introduce the ‘‘time vector’’, and call the ‘‘initial condition vector’’, and then solve the system using ODE23, an ODE solver that is built up in Matlab and present the solution in Fig. 1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ut = D(u(ln(u/f(x)))x)x; 0 < x < 1, 0 < t < T ; % u=u(x,t)is the solution of the parabolic equation; % Du(ln(u/f(x)))x(0,t) = Du(ln(u/f(x)))x(1,t) = 0; % Neumann-homogeneous boundary conditions % u(x,0)=1; % Initial condition %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Input Data% % D, f(x), a, b, c, d; alfa_1, alfa_2, A, B, n=6; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Output Data% % u=u(x,t) — The solution of the problem %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc;clear all; global id N x dx
t=3
t = 10
1.05
1.3 1.2
1
1.1
0.95
0.9
1 0
0.2
0.4
0.6
0.8
1
0
0.2
t = 50 1.6
1.4
1.4
1.2
1.2
1
1 0
0.2
0.4
0.6
0.8
1
0.8
0
0.2
t = 300 1.6
1.4
1.4
1.2
1.2
1
1 0
0.2
0.4
0.6
0.8
1
0.4
0.6
0.8
1
0.8
1
t = 750
1.6
0.8
0.6
t = 150
1.6
0.8
0.4
0.8
1
0.8
0
0.2
0.4
0.6
Fig. 1. Solution of the problem (1)–(4) for t = 3, t = 10, t = 50, t = 150, t = 300, t = 750 by the method of lines.
834
S. Pamuk, A. Erdem / Applied Mathematics and Computation 186 (2007) 831–835
D=0.00025;a=0.1;b=2;c=10;d=0.1;A=28*10^7;B=0.22*10^9;n=16;alfa_1=1; alfa_2=1; id=[D a b c d A B n alfa_1 alfa_2];%input data N=51;T=750; %input data dx=1/(N-1);dt=1; x(1:N)=((1:N)-1)*dx; function z=fright(x,id) z=id(6)*id(8)*id(9)*(x-x.^2).^(id(8)-1).*(1-2*x)./(id(2)+id(6)*(x-x.^2).^id(8))-. . . id(7)*id(8)*id(10)*(x-x.^2).^(id(8)-1).*(1-2*x)./. . . (id(4)+1-id(7)*(x-x.^2).^id(8))-id(6)*id(8)*id(9)*(x-x.^2).^(id(8)-1).*. . . (1-2*x)./(id(3)+id(6)*(x-x.^2).^id(8))+. . . id(7)*id(8)*id(10)*(x-x.^2).^(id(8)-1).*(1-2*x)./(id(5)+1-id(7)*(x-x.^2).^id(8)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function z=fparabolic(t,y); global id N x dx % the line x=0 (i=1) z(1)=id(1)*(2*y(2)-2*(1+dx*feval(‘fright’,x(1),id))*y(1))/dx^2-. . . id(1)*((feval(‘fright’,x(1),id)-feval(‘fright’,-dx,id))*y(2)+. . . 2*dx*feval(‘fright’,x(1),id)*feval(‘fright’,-dx,id)*y(1))/(2*dx); % 0