Why use triangular mesh when solving poisson equation in pde toolbox?

조회 수: 6 (최근 30일)
Max
Max 2013년 12월 30일
댓글: Max 2014년 1월 27일
Hello guys. I have this question when I am trying to solve poisson equation in matlab. Why use triangular mesh when solving poisson equation in pde toolbox? e.g. poisolv And how do I convert my data in rectangular mesh to triangular mesh? Because I only found the reverse, which is tri2grid(). The problem I have now is that I do not have a closed expression for the function on the right hand side. What I have is numerical, i.e. a matrix in rectangular mesh. How could I modify the fast poisson solver to satisfy my needs? Thanks!

채택된 답변

Bill Greene
Bill Greene 2013년 12월 30일
Hi,
Because your domain is rectangular, you can use the poimesh function to generate a "regular" triangular mesh on that domain-- i.e. one that looks like your rectangular mesh except each cell has a diagonal across it.
Since your f-coefficient is defined from numerical data, you will need to write a MATLAB function to define f. That is described on this page:
That page also describes how to use the pdeintrp to interpolate your numerical data from the nodes (i.e. your rectangular grid) to the centroids of the triangular elements where f must be defined.
Bill
  댓글 수: 3
Bill Greene
Bill Greene 2013년 12월 31일
You can certainly define your f-coefficient matrix and then pass that to poisolv, if you like. Or you can create a function that poisolv will call. That is described on the documentation page I listed above. For this particular example, I think one approach will work as well as the other.
Bill
Max
Max 2014년 1월 27일
Hi Bill,
I ended up using the assempde function because the equation that i was trying to solve was exactly that form. Your answer helped a lot.
Now I am trying to define my own Dirichlet boundary condition based, again, on numerical data. The function assempde only accepts boundary condition matrix or boundary condition file, but I am confused how to customize it. Do you know how i can customize that? Thank you!
Max

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by