How to formulate boundary conditions for a PDE system?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have the following PDE system steaming from Flash Photolysis:
I formulated the PDEs in the form reqired by pdepe and coded pdefun as follows:
function [C,F,S] = photopde (x,t,U,DUDX)
C = [0;1];
F = [0;0];
S = [epsilon*U(1)*U(2);phi*epsilon*U(1)*U(2)];
end
The initial coditions are:
which are encoded into an icfun:
function U = photoic (x)
U = [I0*exp(-C0*epsilon*phi*x);C0];
end
However I have only 2 boundary conditions at the left side at t = 0 and none on the right side:
How do I code corresponding bcfun? How do I define PR and QR outputs from bcfun? Thanks.
0 comentarios
Respuestas (2)
Torsten
el 20 de Jun. de 2016
Don't use "pdepe" to solve this system.
Discretize dI/dx in space. This will result in algebraic equations for I in each spatial grid point.
Then use ODE15S to solve the second ordinary differential equation for C in each of these spatial grid points.
Best wishes
Torsten.
4 comentarios
Torsten
el 20 de Jun. de 2016
It's the method-of-lines approach - the same approach "pdepe" would use if it was able to solve your equations.
My advise is to start simple. You may try a 2nd order scheme in space for I later, but then it must be an upwind scheme for stability reasons. Centered differences will lead to oscillations, I guess.
Best wishes
Torsten.
Bill Greene
el 20 de Jun. de 2016
pdepe is specifically designed for PDEs that are second-order in the spatial direction. That is why it requires you to specify boundary conditions at both ends.
But that doesn't mean it won't solve first-order PDEs and, since you already have most of the code implemented, I suggest you try it. Since your flux is zero everywhere, a boundary condition you can use at the right end to satisfy pdepe is qr=1, pr=0.
Sometimes when solving first-order PDEs with pdepe the solution shows some spurious oscillations. One simple way to deal with this problem is to add a small amount of "artificial diffusion", e.g.
F = 1e-6*[1;1];
where the factor can be adjusted so that it damps out the oscillations without having a large effect on the solution.
2 comentarios
Hitesh Saini
el 16 de Mzo. de 2020
Hi Bill
How can we apply boundary conditions while solving PDE using line of approach method?
Is it possible?
Ver también
Categorías
Más información sobre Boundary Conditions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!