why does pdepe adopt Petrov-Galerkin?
1 次查看(过去 30 天)
显示 更早的评论
feynman feynman
2024-2-13
pdepe is meant to solve parabolic and elliptic PDEs. Petrov-Galerkin seems to be designed to solve convection dominated ones, why would matlab use this algorithm for solving non-hyperbolic ones?
19 个评论
Torsten
2024-2-13
Address your question to the creators of "pdepe". Most probably, they found in their tests that it worked well for the problem class. Or they wanted to use a non-standard method to have a basis for a new publication.
Torsten
2024-2-13
编辑:Torsten
2024-2-13
creators of pdepe are from mathworks, so I asked here :)
No. Responsible for the theoretical approach are the authors of the article:
[1] Skeel, R. D. and M. Berzins, "A Method for the Spatial Discretization of Parabolic Equations in One Space Variable," SIAM Journal on Scientific and Statistical Computing, Vol. 11, 1990, pp.1–32.
TMW won't be able to help in this respect.
feynman feynman
2024-2-13
right, I meant there must be good reason for mathworks to decide to adopt their Petrov-Galerkin?
feynman feynman
2024-2-13
it just makes one wonder why pdepe and solvepde adopt different FEMs (assuming solvepde adopts a more regular FEM)
Torsten
2024-2-13
Different university chairs propagate different methods - just consider all the methods used in codes for ordinary differential equations (BDF, Runge-Kutta, Extrapolation, Multistep,...).
"pdepe" is a stand-alone program to solve parabolic-elliptic PDEs in one spatial dimension. So why should the method used not differ from the one of the PDE Toolbox (or to whatever "solvepde" belongs) ?
feynman feynman
2024-2-15
编辑:feynman feynman
2024-2-15
makes sense, thanks! I wonder if there's any tests on pdepe regarding if it's dissipative or non-dissipative for conservative PDEs (though it's not designed for hyperbolic ones)?
feynman feynman
2024-2-15
It actually solves some hyperbolic PDEs correctly but am just not sure in which situations it can't solve well
Torsten
2024-2-15
编辑:Torsten
2024-2-15
It cannot solve hyperbolic pdes because the f-term should not equal 0. Further, you have to specify two boundary conditions for each equation, and for equations of hyperbolic type you need only one. So one boundary condition will be wrong or at most artificial.
Why do you want a code force to solve hyperbolic equations if its name already indicates that it is created for the parabolic-elliptic type ?
If you are in need to solve hyperbolic PDEs, use CLAWPACK:
feynman feynman
2024-2-16
编辑:feynman feynman
2024-2-16
Many thanks for the suggestion of CLAWPACK, which I'll check out. For pdepe, I don't know if periodic boundary conditions are allowed but if so PDEs having only first order spatial derivatives can also be solved. I think other finite element software packages can't solve first order hyperbolic ones well either, except when periodic boundary conditions are used.
Torsten
2024-2-16
编辑:Torsten
2024-2-16
For pdepe, I don't know if periodic boundary conditions are allowed but if so PDEs having only first order spatial derivatives can also be solved.
Periodic boundary conditions are not possible with pdepe.
As said, setting up a problem with only first-order derivatives is technically possible. But you have to assume a second boundary condition that is mathematically incorrect. And usually - because the first derivative is in essence approximated by a central difference quotient - the results won't be stable.
Torsten
2024-2-26
Why not ? But it's not commercial - so it works with FORTRAN or python, not MATLAB.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Eigenvalue Problems 的更多信息
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!发生错误
由于页面发生更改,无法完成操作。请重新加载页面以查看其更新后的状态。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)