主要内容

evaluateGradient

评估在任意点梯度PDE的解决方案万博 尤文图斯

描述

例子

(gradx,格雷迪)= evaluateGradient (结果,xq,yq)返回PDE的插值的梯度值的解决方案结果在二维中指定xqyq

例子

(gradx,格雷迪,gradz)= evaluateGradient (结果,xq,yq,的zq)返回在指定的3 d点插值梯度xq,yq,的zq

例子

(___)= evaluateGradient (结果,querypoints)返回指定的点的梯度插值querypoints

例子

(___)= evaluateGradient (___,国际单位)返回插值方程的方程组的梯度指数(组件)国际单位。当解决一个椭圆系统pd,指定国际单位在任何输入参数后以前的语法。

的第一个维度gradx,格雷迪在三维情况下,gradz对应查询点。第二个维度指标对应的方程国际单位

例子

(___)= evaluateGradient (___,)返回时间的梯度方程的插值或时间方程组。当评估一个时间梯度对PDE,指定在任何输入参数后以前的语法。按时间的方程组,同时指定时间指标和方程指数(组件)国际单位

的第一个维度gradx,格雷迪在三维情况下,gradz对应查询点。一个时间PDE,第二个维度对应于时间步。系统时间的pd,第二个维度指标对应的方程国际单位对应于时间步,第三维度

例子

全部折叠

评估解决方案的梯度沿着一条线标量椭圆问题。策划的结果。

创建一个解决问题的办法 - - - - - - Δ u = 1 在l型膜零狄利克雷边界条件。

模型= createpde;geometryFromEdges(模型、@lshapeg);applyBoundaryCondition(模型,“边界条件”,“边缘”1:model.Geometry.NumEdges,“u”,0);specifyCoefficients(模型,“m”0,“d”0,“c”,1“一个”0,“f”1);generateMesh(模型,“Hmax”,0.05);结果= solvepde(模型);

评估解决方案的梯度沿直线(x, y) = (1,1)(1,1)。通过使用阴谋的结果作为一个箭袋阴谋箭袋

xq = linspace (1101);yq = xq;[gradx, grady] = evaluateGradient(结果,xq, yq);gradx =重塑(gradx、大小(xq));grady =重塑(grady,大小(yq));箭袋(xq, yq gradx grady)包含(“x”)ylabel (“y”)

图包含一个坐标轴对象。坐标轴对象包含x, y ylabel包含一个类型的对象颤。

计算梯度的布朗粒子的平均出口时间从一个包含吸收(逃避)地区边界和反射边界。使用泊松方程和常系数和三维矩形块几何模型这一问题。

创造出这个问题的解决方案。

模型= createpde;importGeometry(模型,“Block.stl”);applyBoundaryCondition(模型,“边界条件”,“面子”(1、2、5),“u”,0);specifyCoefficients(模型,“m”0,“d”0,“c”,1“一个”0,“f”2);generateMesh(模型);结果= solvepde(模型);

创建一个网格和插入的渐变网格解决方案。

[X, Y, Z] = meshgrid (1:16:100, 1:6:20 1:7:50);[gradx, grady, gradz] = evaluateGradient(结果,X, Y, Z);

重塑渐变网格的形状和绘制渐变。

gradx =重塑(gradx、大小(X));grady =重塑(grady,大小(Y));gradz =重塑(gradz、大小(Z));quiver3 (X, Y, Z, gradx grady, gradz)轴平等的包含(“x”)ylabel (“y”)zlabel (“z”)

图包含一个坐标轴对象。坐标轴对象包含x, y ylabel包含一个类型的对象颤。

解决一个标量椭圆问题和解决方案的插入梯度密度网格。使用查询矩阵指定网格。

创建一个解决问题的办法 - - - - - - Δ u = 1 在l型膜零狄利克雷边界条件。

模型= createpde;geometryFromEdges(模型、@lshapeg);applyBoundaryCondition(模型,“边界条件”,“边缘”1:model.Geometry.NumEdges,“u”,0);specifyCoefficients(模型,“m”0,“d”0,“c”,1“一个”0,“f”1);generateMesh(模型,“Hmax”,0.05);结果= solvepde(模型);

插入解决方案的渐变网格从1到1在每个方向。结果使用箭袋绘制函数。

v = linspace (1101);(X, Y) = meshgrid (v);querypoints = [X (:), Y (:)) ';[gradx, grady] = evaluateGradient(结果,querypoints);箭袋(X (:), Y (:), gradx, grady)包含(“x”)ylabel (“y”)

图包含一个坐标轴对象。坐标轴对象包含x, y ylabel包含一个类型的对象颤。

放大一个特定情节的一部分来看到更多的细节。例如,在每个方向策划范围限制在0.2。

轴([-0.2 - 0.2 -0.2 - 0.2])

图包含一个坐标轴对象。坐标轴对象包含x, y ylabel包含一个类型的对象颤。

评估解决方案的渐变双组分椭圆系统和策划的结果。

创建一个PDE模型两部分组成。

模型= createpde (2);

创建一个矩形的二维几何与圆孔的中心。创建几何图形的详细信息,请参阅示例解决pd常数边界条件

R1 = [3、4, -0.3, 0.3, 0.3, -0.3, -0.3, -0.3, 0.3, 0.3);C1 = (1,0,0, 0.1) ';C1 = [C1; 0(长度(R1)长度(C1), 1)];几何学= (R1, C1);ns = (char (R1的,“C1”));科幻小说=“R1 - C1”;g = decsg(几何学、科幻、ns);

包括几何模型和视图的几何。

geometryFromEdges(模型中,g);pdegplot(模型,“EdgeLabels”,“上”)轴平等的轴([-0.4,0.4,-0.4,0.4])

图包含一个坐标轴对象。坐标轴对象包含9线类型的对象,文本。

设置边界条件和系数。

specifyCoefficients(模型,“m”0,“d”0,“c”,1“一个”0,“f”,(2;2);applyBoundaryCondition(模型,“边界条件”,“边缘”3,“u”[1]);applyBoundaryCondition(模型,“边界条件”,“边缘”,1“u”[1]);applyBoundaryCondition(模型,“纽曼”,“边缘”(2,4:8),“g”,(0,0));

创建一个网格,并解决问题。

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

插入解决方案的渐变网格从-0.3到0.3在每个方向上的两个组件。

v = linspace (-0.3, 0.3, 15);(X, Y) = meshgrid (v);[gradx, grady] = evaluateGradient(结果,X, Y, [1,2]);

绘制渐变为第一个组件。

图gradx1 = gradx (: 1);grady1 = grady (: 1);箭袋(X (:), Y (:), gradx1, grady1)标题(“组件1”)轴平等的xlim ([-0.3, 0.3])

图包含一个坐标轴对象。坐标轴对象与标题组件1包含一颤类型的对象。

为第二个组件绘制渐变。

图gradx2 = gradx (:, 2);grady2 = grady (:, 2);箭袋(X (:), Y (:), gradx2, grady2)标题(“组件2”)轴平等的xlim ([-0.3, 0.3])

图包含一个坐标轴对象。坐标轴对象2标题组件包含一个对象类型的颤。

解决一个双曲系统pd和评价梯度。

进口板几何三维问题三个解决方案组件。绘制几何图形。

模型= createpde (3);importGeometry(模型,“Plate10x10x1.stl”);pdegplot(模型,“FaceLabels”,“上”,“FaceAlpha”,0.5)

图包含一个坐标轴对象。坐标轴对象包含3颤类型的对象,补丁,线。

设置边界条件,这样面对2是固定的(零偏差在任何方向)和脸5的负载1 e3在积极的z方向。这个负载导致板向上弯曲。设置初始条件,解决方案是零,和其对时间的导数也是零。

applyBoundaryCondition(模型,“边界条件”,“面子”2,“u”,(0,0,0));applyBoundaryCondition(模型,“纽曼”,“面子”5,“g”,(0,0,1 e3));setInitialConditions(模型中,0,0);

创建PDE系数方程的线性弹性。设置材料属性相似的钢。看到线性弹性方程

E = 200 e9;ν= 0.3;specifyCoefficients(模型,“m”,1“d”0,“c”elasticityC3D (E,ν),“一个”0,“f”,(0,0,0));

生成一个网格,设置Hmax1

generateMesh(模型,“Hmax”1);

解决问题的时间0通过5 e - 3的步骤1的军医。你可能需要等待几分钟解决方案。

tlist = 0:5e-4:5e-3;结果= solvepde(模型、tlist);

评估解决方案的梯度以固定x- - -z坐标的中心范围,分别为5和0.5。评估为y从0到10的步骤0.2。获得组件3,z分。

yy = 0:0.2:10;zz = 0.5 * 1(大小(yy));xx = 10 * zz;组件= 3;[gradx, grady, gradz] = evaluateGradient(结果,xx, yy, zz,组件1:长度(tlist));

解决方案的的三个投影梯度是51-by-1-by-51数组。使用挤压删除单维度。删除单维度转换这些数组51-by-51矩阵,简化了索引。

gradx =挤压(gradx);grady =挤压(grady);gradz =挤压(gradz);

情节的梯度分量格雷迪沿着y轴为以下六个值的时间间隔tlist

图t = [1:2:11];我= t p (i) =情节(yy, grady(:,我)“DisplayName”,strcat (“t =”num2str (tlist (i))));持有结束传奇(p (t))包含(“y”)ylabel (“格雷迪”)ylim ([5 e-6、20 e-6])

图包含一个坐标轴对象。对象包含y轴,ylabel grady包含6行类型的对象。这些对象代表t = 0, t = 0.001, t = 0.002, t = 0.003, t = 0.004, t = 0.005。

输入参数

全部折叠

PDE的解决方案,指定为一个StationaryResults对象或一个TimeDependentResults对象。创建结果使用solvepdecreatePDEResults

例子:结果= solvepde(模型)

x坐标查询点,指定为一个真正的数组。evaluateGradient评估解决方案的梯度的二维坐标点[xq(我),yq (i))或三维坐标点[xq(我),yq(我),(i)的zq]。所以xq,yq,(如果存在)的zq必须有相同数量的条目。

evaluateGradient将查询点转换为列向量xq (:),yq (:),(如果存在)zq (:)。一个静止的PDE,结果由大小相同的列向量。以确保梯度组件的尺寸与原始查询点的尺寸一致,使用重塑。例如,使用gradx =重塑(gradx、大小(xq))

PDE时间PDE或一个系统,结果数组的第一个维度对应于指定的列向量空间点xq (:),yq (:),(如果存在)zq (:)

数据类型:

y坐标查询点,指定为一个真正的数组。evaluateGradient评估解决方案的梯度的二维坐标点[xq(我),yq (i))或三维坐标点[xq(我),yq(我),(i)的zq]。所以xq,yq,(如果存在)的zq必须有相同数量的条目。

evaluateGradient将查询点转换为列向量xq (:),yq (:),(如果存在)zq (:)。一个静止的PDE,结果由大小相同的列向量。以确保梯度组件的尺寸与原始查询点的尺寸一致,使用重塑。例如,使用grady =重塑(grady,大小(yq))

PDE时间PDE或一个系统,结果数组的第一个维度对应于指定的列向量空间点xq (:),yq (:),(如果存在)zq (:)

数据类型:

z坐标查询点,指定为一个真正的数组。evaluateGradient评估解决方案的梯度的三维坐标点[xq(我),yq(我),(i)的zq]。所以xq,yq,的zq必须有相同数量的条目。

evaluateGradient将查询点转换为列向量xq (:),yq (:),(如果存在)zq (:)。一个静止的PDE,结果由大小相同的列向量。以确保梯度组件的尺寸与原始查询点的尺寸一致,使用重塑。例如,使用gradz =重塑(gradz、大小(zq))

PDE时间PDE或一个系统,结果数组的第一个维度对应于指定的列向量空间点xq (:),yq (:),(如果存在)zq (:)

数据类型:

查询点,指定为一个真正的矩阵与二维几何图形的两行,或者三行3 d几何。evaluateGradient评估解决方案的梯度坐标点querypoints(:,我),所以每一列querypoints包含一个二维或三维查询点。

例子:二维几何,querypoints = (0.5, 0.5, 0.75, 0.75;1、2 0,0.5)

数据类型:

方程指数,指定为一个向量的正整数。中的每个条目国际单位指定一个方程指数。

例子:iU = (1、5)指定第一和第五指数方程。

数据类型:

时间指标,指定为一个向量的正整数。中的每个条目指定一个时间索引。

例子:它= 1:5:21指定每一个第五个时间步21。

数据类型:

输出参数

全部折叠

x分的梯度,作为一个数组返回。查询点几何外,gradx=。大小的信息gradx,请参阅维的解决方案、渐变和通量万博 尤文图斯

y分的梯度,作为一个数组返回。查询点几何外,格雷迪=。大小的信息格雷迪,请参阅维的解决方案、渐变和通量万博 尤文图斯

z分的梯度,作为一个数组返回。查询点几何外,gradz=。大小的信息gradz,请参阅维的解决方案、渐变和通量万博 尤文图斯

提示

结果对象包含节点的解决方案及其梯度计算点的三角形或四面体网格。您可以访问的解决方案和三个组件梯度节点点使用点符号。

interpolateSolutionevaluateGradient让你插入一个定制的网格解决方案及其梯度,例如,指定的meshgrid

版本历史

介绍了R2016a