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

8 views (last 30 days)
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.

Accepted Answer

Walter Roberson
Walter Roberson on 2 Aug 2015
.... 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.

More Answers (1)

Luc Rébillout
Luc Rébillout on 2 Aug 2015
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 !

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!