主要内容

solvepde

求解PDEModel中指定的PDE

描述

例子

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

例子

结果= solvepde (模型tlist中表示的与时间相关的PDE的解模型在时报tlist.至少一个时间导数系数d模型。EquationCoefficients必须是非零的。

例子

全部折叠

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

Model = 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(模型,“m”0,“d”0,“c”, 1“一个”0,“f”1);

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

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

查看解决方案。

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

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

创建具有三维矩形块几何形状的模型。

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

假设辐射冷却使溶液随着块体表面温度的立方而降低。

Gfun = @(region,state)-state.u.^3*1e-6;applyBoundaryCondition(模型,“纽曼”“面子”1: model.Geometry.NumFaces,“g”, gfun);

模型系数没有源项。

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

砌块在350度的恒定温度下开始。

setInitialConditions(模型,350);

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

generateMesh(模型);Tlist = 0:20;Results = solvepde(model,tlist);

在第1次和第20次将溶液画在块的表面上。

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

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

输入参数

全部折叠

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

例子:Model = createpde(1)

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

例子:0:20

数据类型:

输出参数

全部折叠

PDE结果,作为StationaryResults对象或作为TimeDependentResults对象。类型结果取决于模型表示一个平稳问题(模型。IsTimeDependent = false)或与时间有关的问题(模型。IsTimeDependent = true).

提示

  • 如果牛顿迭代不收敛,solvepde显示错误消息。太多的迭代步长太小

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

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

版本历史

在R2016a中引入