Effacer les filtres
Effacer les filtres

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

3 vues (au cours des 30 derniers jours)
Luc Rébillout
Luc Rébillout le 2 Août 2015
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.

Réponse acceptée

Walter Roberson
Walter Roberson le 2 Août 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.

Plus de réponses (1)

Luc Rébillout
Luc Rébillout le 2 Août 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 !

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by