필터 지우기
필터 지우기

Set Neumann Boundary Conditions to PDEModel

조회 수: 4 (최근 30일)
d
d 2015년 8월 24일
댓글: d 2015년 8월 30일
Hello, I want to solve the Laplace equation on a 2-D rectangular grid. I'm using the "applyBoundaryCondition" function to determine the boundaries.
On one side I have a constant Dirichlet boundary, applyBoundaryCondition(model,'Edge',3,'u',v);, and on the other two sides I have constant Neumann boundaries, applyBoundaryCondition(model,'Edge',[1,4],'q',0,'g',0);.
On the fourth side I want to use a Neumann boundary but instead of g=constant I have a vector that represents the value at each boundary point applyBoundaryCondition(model,'Edge',[1,4],'q',0,'g',[1:100]);. Is it possible to define 'g' as a vector like this and if not how can I do it?

채택된 답변

Alan Weiss
Alan Weiss 2015년 8월 24일
The documentation describes how to set boundary conditions. There is a worked example here.
For your case, you probably need to interpolate the g value as a function of x or y in order that the boundary condition is defined everywhere. You can use interp1 or any other interpolation method you like.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 5
Alan Weiss
Alan Weiss 2015년 8월 27일
Oh, I didn't realize that you were using the PDE app. I don't think that the PDE app uses functions in this syntax. Instead, I think that it uses functions in a syntax described here.
IMHO, it is much easier to use command-line functions with a PDEModel object.
Alan Weiss
MATLAB mathematical toolbox documentation
d
d 2015년 8월 30일
I tried them both and in every one of them I had another problem. With the PDEmodel object I can write the function but the mesh using "generate Mesh" was not good. In contrasts, by using the PDE app I was able to create a good mesh but I can't write a function in the way I want. (The mesh problem is described the second question of mine: refine mesh in PDEModel )

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 General PDEs에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by