泊松方程点源和自适应网格细分
这个例子展示了如何解决一个泊松方程与δ函数点光源在单位磁盘使用adaptmesh
函数。
具体来说,解泊松方程
在单位圆零狄利克雷边界条件。极坐标表达的精确解
这是奇异在原点。
通过使用自适应网格细化,偏方程工具箱™可以准确地找到解决方案都远离原点。
以下变量定义问题:
c
,一个
:PDE的系数。f
:一个函数,捕获一个点源在原点。它返回1 /三角形的面积为其他三角形包含原点和0。
c = 1;= 0;f = @circlef;
创建一个PDE模型用一个因变量。
numberOfPDE = 1;模型= createpde (numberOfPDE);
创建一个几何和包括在模型中。
g = @circleg;geometryFromEdges(模型中,g);
绘制几何图形和显示标签。
图;pdegplot(模型,“EdgeLabels”,“上”);轴平等的标题(“与边缘标签显示几何”)
指定0解决方案4圈的外缘。
applyBoundaryCondition(模型,“边界条件”,“边缘”(1:4),“u”,0);
adaptmesh
解决了椭圆pde使用自适应网格生成。的tripick
参数允许您指定一个函数返回该三角形将在下一次迭代改进。circlepick
返回给定公差大三角形计算误差估计。提供了宽容circlepick
使用“par”参数。
[u p e t] = adaptmesh (g、模型、c、a、f“tripick”,…“circlepick”,…“maxt”,2000,…“par”1 e - 3);
的三角形数量:258的三角形数量:515的三角形数量:747的三角形数量:1003的三角形数量:1243的三角形数量:1481的三角形数量:1705的三角形数量:1943的三角形数量:2155最大数量的三角形。
最好的网格。
图;pdemesh (p, e t);轴平等的
情节的误差值。
x = p (1:) ';:y = p(2日)';r =√x ^ 2 + y ^ 2);uu =日志(r) / 2 /π;图;pdeplot (p, e t“XYData”u-uu,“ZData”u-uu,“网”,“关闭”);
在最好的网格划分有限元的解决方案。
图;pdeplot (p, e t“XYData”u“ZData”u“网”,“关闭”);