Re: nonlinear pde system
- To: mathgroup at smc.vnet.net
- Subject: [mg46929] Re: nonlinear pde system
- From: Mike <m.HoneychurcNOSPAMh at uq.edu.au>
- Date: Tue, 16 Mar 2004 02:37:37 -0500 (EST)
- Organization: University of Queensland
- References: <c31549$616$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
It depends on what form the functions f and g take but for a general solution probably the most straight forward way would be to write down the system of equations in finite difference form and solve use the sparse matrix solver in V5. You can then iterate at each time increment to the desired level of tolerable error. Have a look through some books on finite differences if you are not familiar with this. Once you get the problem in FD form the sparse solver will be your friend. To give a blatant plug I have a book and software out in April describing solutions to electrochemical problems which in their most basic form (assumed absence of convection and no coupled chemical reactions) are parabolic PDEs with discontinuous and/or time dependent boundaries. Solutions to nonlinear problems are demonstrated. Also for some PDEs (in electrochemistry at least) it is possible to reshape the problem to a tridiagonal form in which each diagonal element is a square matrix (But it depends on the exact nature of the problem). The solution is obtained by a variation of the Thomas algorithm (i.e. The algorithm used in the Tridiagonal solver in the addons). Mike On 14/3/04 6:28 PM, in article c31549$616$1 at smc.vnet.net, "Sri Harsha Tharkabhushanam" <harshaonnet at yahoo.com> wrote: > I would like to solve a nonlinear parabolic pde system > of two variables u, v. Each in turn is a function of > (x,t). In future, I would like to extend such a thing > to (x, y, z, t). Please let me know how to do this, if > possible in Mathmematica. > > Thanks, > -Harsha > =================== > The equations look like this: > > a*u_t = b*u_xx + c*f(u,v) > d*v_t = e*v_xx + h*g(u,v) > > for > -ll <= x <= ll > 0 <= t <= 10 > > with boundary conditions: u_x(+/-ll, t), v_x(+/-ll, > t). > =================== > > > > > __________________________________ > Do you Yahoo!? > Yahoo! Mail - More reliable, more storage, less spam > http://mail.yahoo.com >