How to create internal boundary conditions using "IF" function to solve PDEs
10 次查看(过去 30 天)
显示 更早的评论
Hi guys, I am very new to Matlab and have a quick question for anybody willing to try and answer it. I am looking to create a 2 dimensional domain which is has an area lx*ly, lx = 4.6 and ly=3.3.I am discretizing using a staggered grid with U being the flow on the X plane and V being the flow on the Y plane. I want to apply a boundary conditon over the area inclosed by lx=0.45:1.47 and ly=0:2 to say there is no flow. I am essentially trying to cut out the area from the domain using the "IF" function. Is this possible to do and if so how would I go about doing it. I can set up the question with the IF function but the results do not change when I set Ue=0 and Ve=0.
0 个评论
采纳的回答
Alan Weiss
2015-7-29
If I understand you correctly, then I think that you have to change the geometry of your problem to have a hole.
It doesn't sound as if you are using PDE Toolbox, but if you are, then I do not understand your comment about using a staggered grid. So perhaps I do not understand you at all. But if you are using PDE Toolbox, then it is easy to change the geometry to exclude a rectangular hole; see the instructions for command-line work, or the PDE app approach.
Alan Weiss
MATLAB mathematical toolbox documentation
2 个评论
Alan Weiss
2015-7-30
编辑:Alan Weiss
2015-7-30
Sorry to say, but PDE Toolbox supports only triangular meshes in 2-D, not rectangular meshes. One potential way to get what you want is to use PDE Toolbox to solve the problem on a triangular mesh, then interpolate the solution back to a rectangular mesh. If you have R2014b or later, you can use a pdeInterpolant to calculate the interpolation.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Boundary Conditions 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!