平台: 所有平台 版本: 所有版本

问题描述

错误消息“奇异矩阵”是什么意思?

解决方法

这个问题是说线性系统的刚度矩阵是奇异的,因此线性求解器无法对其进行求逆。下面举例说明几种可能出现这种问题的实际建模情况:

  • 一个或多个相关材料属性为零。或者,在求解非线性问题时,材料属性在求解过程中变为零。如果您要求解非线性问题,另请参见:提高非线性稳态模型的收敛性。如果要求解线性问题,另请参见:如何解决线性稳态模型不能求解的问题

  • 模型(与边界条件结合的方程组)中指定的边界条件过多或过少,请检查方程和边界条件。如果您的初始条件不合适,也常常会看到这一错误。建议您首先查看初始条件,并将其设为一些有根据的猜测。另一个例子是,应用了周期性边界条件,而要求解的偏微分方程问题不支持这样的解。还有一种情况是在求解纳维-斯托克斯问题时,未约束边界上的压力,您需要在某个位置施加压力(点)约束。

  • 您指定了根据解变量的坐标导数定义表达式的依赖关系。由于非线性系统的默认初始猜测值是常数(从而使解导数相关表达式的初始猜测值为零),这可能导致方程变为奇异。解决方法是指定一个具有非零导数的初始值,如 1e-6*sqrt(x^2+y^2+z^2)。使用非线性磁性材料(磁饱和效应)等非线性材料时,有时会出现这种问题。有关此特定案例的更多信息,请参见知识库 852

  • 您打算求解一个具有零线性化点的非线性特征值问题。在射频或声学中,常常导致非线性特征值问题的模型示例是使用 PML 或有损材料进行特征频率分析。为了避免出现此错误消息,您需要在研究 -> 求解器配置 -> 求解器 -> 特征值求解器设置窗口中指定一个非零且可能为复值的特征值线性化点。得到第一个解之后,使用结果 -> 派生值下的全局计算来计算所需解的表达式 lambda。输入其值作为新的特征值线性化点,再次求解,重复此过程直到特征值不再变化。这种方法通常并不需要进行很多次迭代。