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