主要内容

圆形膜的振动

这个例子展示了如何计算一个圆形膜的振动模式。

振动模式的计算需要的解决特征值偏微分方程。这个例子比较了解决方案获得通过solvepdeeig从偏微分工具箱™和解决者eigs解算器从MATLAB®。特征值计算solvepdeeigeigs几乎是相同的,但在某些情况下一个解算器比其他更方便。例如,eigs更方便在计算指定数量的特征值附近的一个特定的目标价值。而solvepdeeig要求较低和上界围绕这一目标,eigs只需要目标特征值和所需数量的特征值。

创建一个PDE模型。

模型= createpde;

创建一个圆几何和包括在模型中。

半径= 2;g = decsg((1 0 0半径)”,“C1”,(“C1”)');geometryFromEdges(模型中,g);

情节的几何边缘标签。

图pdegplot(模型,“EdgeLabels”,“上”)轴平等的标题(“与标签边缘几何”)

图包含一个坐标轴对象。坐标轴对象与标题几何边缘标签包含5线类型的对象,文本。

指定系数。

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

指定解决方案是零在所有四个圈的外缘。

布特= applyBoundaryCondition(模型,“边界条件”,“边缘”(1:4),“u”,0);

生成一个网格。

generateMesh(模型,“Hmax”,0.2);

使用assembleFEMatrices计算全球有限元质量和刚度矩阵使用零空间与边界条件的方法。

FEMatrices = assembleFEMatrices(模型,“零空间”);K = FEMatrices.Kc;B = FEMatrices.B;M = FEMatrices.M;

通过求解特征值问题eigs函数。

σ= 1 e2;numberEigenvalues = 5;[eigenvectorsEigs, eigenvaluesEigs] = eigs (K、M、numberEigenvaluesσ);

重塑对角eigenvaluesEigs矩阵向量。

eigenvaluesEigs =诊断接头(eigenvaluesEigs);

找到最大的特征值及其指标特征值向量。

[maxEigenvaluesEigs, maxIndex] = max (eigenvaluesEigs);

添加约束值的特征向量。

eigenvectorsEigs = B * eigenvectorsEigs;

现在,解决使用相同的特征值问题solvepdeeig。设置范围solvepdeeig稍微比范围eigs

r = [min (eigenvaluesEigs) * 0.99马克斯(eigenvaluesEigs) * 1.01);结果= solvepdeeig(模型中,r);
基础= 10,时间= 0.06,新conv eig = 1 = 13,时间= 0.07,新conv eig = 1 = 16,时间= 0.08,新conv eig = 1基础= 19日时间= 0.08,新conv eig = 2基础= 22日时间= 0.10,新conv eig = 3 = 25,时间= 0.10,新conv eig = 4基础= 28日时间= 0.10,新conv eig = 8基础= 31日时间= 0.11,新conv eig = 10月底扫描:基础= 31日时间= 0.12,新conv eig = 10 = 20,时间= 0.13,新conv eig = 0横扫的终结:基础= 20,时间= 0.13,新conv eig = 0
eigenvectorsPde = result.Eigenvectors;eigenvaluesPde = result.Eigenvalues;

比较解决方案。金宝搏官方网站

eigenValueDiff =排序(eigenvaluesPde)——排序(eigenvaluesEigs);流([“马克斯区别特征值”从solvepdeeig eigs: % e \ n '),规范(eigenValueDiff正));
最大区别特征值从solvepdeeig eigs: 2.984279 e-13

两个函数计算相同的特征值。对于任何一个特征值,你可以用特征向量乘以任意标量。的eigssolvepdeeig功能可能会选择不同的任意标量正常化的特征向量。

h =图;h。位置= [1 1 2 1]。* h.Position;次要情节(1、2、1)轴平等的pdeplot(模型,“XYData”eigenvectorsEigs (: maxIndex),“轮廓”,“上”)标题(sprintf (“eigs特征向量,特征值:% 12.4 e”,eigenvaluesEigs (maxIndex)))包含(“x”)ylabel (“y”次要情节(1、2、2)轴平等的pdeplot(模型,“XYData”eigenvectorsPde(:结束),“轮廓”,“上”)标题(sprintf (“solvepdeeig特征向量,特征值:% 12.4 e”,eigenvaluesPde(结束)))包含(“x”)ylabel (“y”)

图包含2轴对象。坐标轴对象1标题eigs特征向量,特征值:1.2307 e + 02,包含x, y ylabel包含12块类型的对象,线。坐标轴对象2标题solvepdeeig特征向量,特征值:1.2307 e + 02,包含x, y ylabel包含12块类型的对象,线。