极小曲面问题

这个例子说明了如何求解最小曲面方程

- ( 1 1 + | u | 2 u ) = 0

在单位磁盘上 Ω = { ( x , y ) | x 2 + y 2 1 } , u ( x , y ) = x 2 在边界上 Ω 。椭圆方程在工具箱的形式是

- ( c u ) + 一个 u = f

因此,对于最小曲面问题,其系数为:

c = 1 1 + | u | 2 , 一个 = 0 , f = 0

因为系数 c 是解的函数吗 u 最小曲面问题是一个非线性椭圆问题。

要使用程序化工作流解决最小曲面问题,首先创建一个只有一个因变量的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);

使用函数指定边界条件 u ( x , y ) = x 2

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)”标题极小曲面的