我有一个 PDE,我MATLAB使用“推荐的工作流程”(即函数等)在 2D 域中descg求解createpde。求解器 ( solvepde) 工作并返回一个看起来合理的解决方案。到目前为止,一切都很好。
现在我想获取结果并计算整个域上的各种积分。主要是我想计算
在哪里是二维 PDE 域和是 PDE 的解。
实现这一目标的最佳方法是什么?
----更多详情----
如果它有任何区别,等式是
与 Neumann 边界条件。是我输入的一些小数字,只是为了使解决方案独一无二(因为我所有的边界条件都是 Neumann,所以解决方案只定义为一个附加常数。如果你有更好的方法来解决非唯一性,那么我会也很高兴听到这个消息)。域是一个带有两个圆孔的圆。这是生成几何图形和解决方案的代码:
gd=[1 0 0 1; 1 .8 0 .1; 1 -.4 0 .1]';
ns=char('bound','p1','p2')';
sf='(bound-p1)-p2';
[dl, bt]=decsg(gd,sf,ns);
model=createpde();
geometryFromEdges(model,dl);
applyBoundaryCondition(model,'neumann','Edge',1:12,'q',0,'g',1);
specifyCoefficients(model,'m',0,'d',0,'a',1e-6,'f',0,'c',1);
generateMesh(model,'Hmax',.06);
u=model.solvepde;