How to formulate boundary conditions for a PDE system?
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
Torsten
2016 年 6 月 20 日
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 件のコメント
Torsten
2016 年 6 月 20 日
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
2016 年 6 月 20 日
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 件のコメント
Hitesh Saini
2020 年 3 月 16 日
Hi Bill
How can we apply boundary conditions while solving PDE using line of approach method?
Is it possible?
参考
カテゴリ
Help Center および File Exchange で Boundary Conditions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!