フィルターのクリア

poisolv : "Must only use Dirichlet boundary conditions." Why ?

3 ビュー (過去 30 日間)
Luc Rébillout
Luc Rébillout 2015 年 8 月 2 日
回答済み: Luc Rébillout 2015 年 8 月 2 日
I'm trying to use poisolv on a rectangular domain. I orignally wanted to apply non constant boundary conditions (with no luck...) using a pdebound function but even if I just put :
applyBoundaryCondition(pdem,'Edge',1:4,'g',0) ;
I get the error on the title that says that I can only use Dirichlet boundary conditions, can somebody explain why and a possible workaround to that ? Thank you.

採用された回答

Walter Roberson
Walter Roberson 2015 年 8 月 2 日
.... because that is what the function is designed to do?
u = poisolv(b,p,e,t,f) solves Poisson's equation with Dirichlet boundary conditions on a regular rectangular grid. A combination of sine transforms and tridiagonal solutions is used for increased performance.
The boundary conditions b must specify Dirichlet conditions for all boundary points."
In other words, in the special case where your boundary has Dirichlet boundary conditions, there is a formulation that can solve Poisson's equations faster, and this is a routine for that special case.
Workaround: use assempde if necessary.

その他の回答 (1 件)

Luc Rébillout
Luc Rébillout 2015 年 8 月 2 日
Thank you for your answer. I feel a bit stupid, I've looked at this documentation page for so long that I didn't see the answer that was right in front of my eyes !

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by