主要内容

solvepde

求解PDEModel中指定的PDE

描述

例子

结果= solvepde (模型返回表示的静止偏微分方程的解模型.静止的偏微分方程具有这种性质模型。IsTimeDependent = false.也就是时间导数系数d模型。EquationCoefficients必须0

例子

结果= solvepde (模型tlist返回表示的与时间有关的PDE的解模型在《纽约时报》tlist.至少一个时间导数系数d模型。EquationCoefficients必须是零。

例子

全部折叠

创建一个PDE模型,并包括l形膜的几何形状。

模型= createpde ();geometryFromEdges(模型、@lshapeg);

查看带有边缘标签的几何图形。

pdegplot(模型,“EdgeLabels”“上”) ylim([-1.1, 1.1])轴平等的

图中包含一个轴对象。axis对象包含11个类型为line, text的对象。

在所有边上设零狄利克雷条件。

applyBoundaryCondition(模型,“边界条件”...“边缘”1: model.Geometry.NumEdges,...“u”,0);

泊松方程

- u 1

工具箱求解器处理这种形式的方程

2 u t 2 + d u t - c u + 一个 u f

模型中包含泊松方程的系数。

specifyCoefficients(模型,“米”0,...' d '0,...“c”, 1...“一个”0,...“f”1);

对模型进行网格划分,求解偏微分方程。

generateMesh(模型,“Hmax”, 0.25);结果= solvepde(模型);

查看解决方案。

pdeplot(模型,“XYData”results.NodalSolution)

图中包含一个轴对象。axis对象包含一个patch类型的对象。

创建一个三维矩形块几何模型。

模型= createpde ();importGeometry(模型,“Block.stl”);

假设辐射冷却使解随着块体表面温度的立方而减小。

gfun = @(地区、州)-state.u。^ 3 * 1 e-6;applyBoundaryCondition(模型,“纽曼”...“脸”1: model.Geometry.NumFaces,...‘g’, gfun);

模型系数没有源项。

specifyCoefficients(模型,“米”0,...' d ', 1...“c”, 1...“一个”0,...“f”,0);

砖块开始时的温度是350。

setInitialConditions(模型,350);

网格几何和解决模型乘以0到20。

generateMesh(模型);tlist = 0:20;结果= solvepde(模型、tlist);

在方块表面乘以1和20标出解。

pdeplot3D(模型,“ColorMapData”results.NodalSolution (: 2))

图pdeplot3D(模型,“ColorMapData”results.NodalSolution (: 21)

输入参数

全部折叠

PDE模型,指定为PDEModel对象。模型包含几何、网格和问题系数。

例子:模型= createpde (1)

解乘以,指定为实向量。tlist必须是单调向量(递增或递减)。

例子:0:20

数据类型:

输出参数

全部折叠

PDE结果,返回为StationaryResults物体或作为TimeDependentResults对象。的类型结果取决于模型表示静止问题(模型。IsTimeDependent = false)或与时间有关的问题(模型。IsTimeDependent = true).

提示

  • 如果牛顿迭代不收敛,solvepde显示错误信息过多的迭代Stepsize太小

  • 如果初始猜测产生包含元素,solvepde显示错误信息初始猜测U0不合适(默认:U0 = 0)

  • 如果系数很小,或者几何尺寸很小,solvepde可能无法收敛,或者收敛到一个不正确的解。在这种情况下,您可以通过将系数或几何维度缩放为1阶来获得更好的结果。

介绍了R2016a