Date: Aug 23, 2013 2:44 AM
Author: Torsten
Subject: Re: System of 1D PDEs with coupled boundary conditions
"Luminita T." wrote in message <kv5999$7e0$1@newscl01ah.mathworks.com>...

> "Torsten" wrote in message <kv589c$j2g$1@newscl01ah.mathworks.com>...

> > "Luminita T." wrote in message <kv56d9$k7n$1@newscl01ah.mathworks.com>...

> > > I've have a system of 4 parabolic PDE with boundary conditions that I would like to integrate in time starting from initial conditions.

> > >

> > > I've been trying to put the system into the pdepe() format, but it seems that I can't give coupled boundary conditions, in particular something of the form: a*DuDx(1) + b*DuDx(2) + c*DuDx(3) = 0.

> > >

> > > As far as I could see from the help, q(x,t) needs to be specified as a vector-valued function that is element-wise multiplied with f(x,t,u,DuDx), which in my case is just DuDx. This does not allow to express linear combinations of elements of f() for a boundary condition.

> > >

> > > If q(x,t) could be a matrix-valued function, then it could be done.

> > > Is it possible to somehow specify coupled boundary conditions in pdepe() ?

> > >

> > > Alternatively, I've been looking at the pdetool() for 2D spatial PDE. It seems a bit more complicated to handle and I'll have to put a bit of time into it. At this point, I can't say directly from the UserGuide (2. Setting up your PDE >>Types of Boundary Conditions) if it can handle the coupled boundary conditions. Any help figuring this out is much appreciated.

> > >

> >

> > Usually, the boundary condition for equation i refers directly to the flux defined in equation.

> > Thus if f for equation i is given as

> > f(i)=a*du1/dx + b*du2/dx + c*du3/dx,

> > you simply have to put

> > p(i)=0 and q(i)=1

> > to define the boundary condition

> > a*du1/dx + b*du2/dx + c*du3/dx = 0.

> >

> > Best wishes

> > Torsten.

>

> Hmm, my normal flux functions are f(1) = a1*du1/dx; f(2) = a2*du2/dx, etc. Separate terms. But then maybe I can introduce a "fake" or "helper" equation to have this new flux to use in the boundary condition.

Or if you have flux boundary conditions for all three variables at a common endpoint,

you can solve for the separate boundary conditions, e.g.

a1*du1/dx = flux1

a2*du2/dx = flux2

a1*du1/dx + a2*du2/dx + a3*du3/dx = 0

gives

a3*du3/dx = -flux1 - flux2

Best wishes

Torsten.