这个例子说明了如何求解最小曲面方程
在单位磁盘上 , 在边界上 。椭圆方程在工具箱的形式是
因此,对于最小曲面问题,其系数为:
因为系数 是解的函数吗 最小曲面问题是一个非线性椭圆问题。
要使用程序化工作流解决最小曲面问题,首先创建一个只有一个因变量的PDE模型。
numberOfPDE = 1;模型= createpde (numberOfPDE);
创建几何图形并将其包含在模型中。的circleg
函数表示该几何图形。
geometryFromEdges(模型、@circleg);
绘制显示边缘标签的几何图形。
pdegplot(模型,“EdgeLabels”,“上”);轴平等的标题“带边缘标签的几何图形”;
指定系数。
= 0;f = 0;cCoef = @(region,state) 1 /sqrt(1+state.ux)^ 2 + state.uy。^ 2);specifyCoefficients(模型,“米”0,' d '0,“c”cCoef,“一个”一个,“f”f);
使用函数指定边界条件 。
bcMatrix = @(地区,~)region.x。^ 2;applyBoundaryCondition(模型,“边界条件”,...“边缘”1: model.Geometry.NumEdges,...“u”, bcMatrix);
生成一个网格。
generateMesh(模型,“Hmax”, 0.1);图;pdemesh(模型);轴平等的
用。解决问题solvepde
函数。因为这个问题是非线性的,solvepde
调用非线性求解器。设置,观察求解程序的进程SolverOptions.ReportStatistics
的属性“上”
。
model.SolverOptions。ReportStatistics =“上”;结果= solvepde(模型);
迭代残差步长雅可比矩阵:全0 1.8540e-02 1 2.8715e-04 1.0000000 2 1.2144e-06 1.0000000
u = result.NodalSolution;
策划解决方案。
图;pdeplot(模型,“XYData”u“ZData”u);包含“x”ylabel“y”zlabel“u (x, y)”标题极小曲面的