我正在为矩形域上的稳态热传递编写代码。我在边缘指定温度 - 非零狄利克雷边界条件。方程可以写成
为传导率矩阵,为未知节点温度向量,为由内部发热组成的热负荷向量。例如,系统可能看起来像
非零温度应用于矩形域的边缘(非齐次狄利克雷边界条件)。如何处理计算上的非零狄利克雷边界条件来求解未知温度向量?
我正在为矩形域上的稳态热传递编写代码。我在边缘指定温度 - 非零狄利克雷边界条件。方程可以写成
非零温度应用于矩形域的边缘(非齐次狄利克雷边界条件)。如何处理计算上的非零狄利克雷边界条件来求解未知温度向量?
考虑这样一个事实,即您的线性系统可以分为两部分:对应于已知 Dirichlet 自由度的方程和对应于未知自由度的方程。为了方便起见,假设您的未知向量被分解,因此个值是已知的,其余的是未知的。让“ ”下标表示的未知索引,让“中的已知 (Dirichlet) 索引。然后,线性系统可以写成以下方式:
由于的值是已知的,我们可以立即丢弃这些行中的方程,从而得到这个系统:
然后将已知值移到线性系统的右侧:
求解这组简化的线性方程组,你就有了未知数。另一种避免过多和归零,将设置为单位矩阵,并设置。您仍然需要以与上述相同的方式修改的条目,但这消除了实际重新创建稀疏矩阵以仅包含块的需要,同时仍保持线性系统的对称性。
值得一提的是,即使索引集“ ”和“ ”不连续,这些技术仍然适用。您的簿记负担略高,但在概念上是相同的。