目录
- 并行迭代线性求解器(ILS)
- 并行超节点直接求解器(ParDiSo)
- 超节点直接求解器(Super)
- 详细解释
- 1. 并行迭代线性求解器(ILS)
- 2. 并行超节点直接求解器(ParDiSo)
- 3. 超节点直接求解器(Super)
- 使用块分解求解器进行耦合(Blocked)
- 线性求解器
- 用于MPBC的专用线性求解器
- 导数
- 来源:Sentaurus™ Device User Guide Version R-2020.09, September 2020
并行迭代线性求解器(ILS)
并行、迭代线性求解器。可定制、高精度,并且对所有问题都有良好的并行性能。
- MultipleRHS
- 解决具有多个右侧项(right-hand sides)的线性系统(仅用于交流分析)。
- Set=
- 使用来自集合
<int>
的 ILS 选项。
- 使用来自集合
并行超节点直接求解器(ParDiSo)
并行、超节点直接求解器。具有高精度和良好的并行性能,适用于小型和中型问题。
- IterativeRefinement
- 执行最多两次迭代精炼步骤以提高解的精度。
- MultipleRHS
- 解决具有多个右侧项(right-hand sides)的线性系统(仅用于交流分析)。
- NonsymmetricPermutation
- 计算初始的非对称矩阵置换和缩放,将较大的矩阵条目放置在对角线上。
- RecomputeNonsymmetricPermutation
- 在每次因子分解之前重新计算非对称矩阵的置换和缩放。
超节点直接求解器(Super)
超节点直接求解器。对小型问题具有最佳精度,但未并行化。
详细解释
1. 并行迭代线性求解器(ILS)
-
并行性:支持并行处理,适用于大规模并行计算环境。
-
迭代性:使用迭代方法求解线性系统。
-
可定制性:可以根据具体需求调整求解器选项。
-
高精度:提供高精度的求解结果。
-
适用范围:适用于所有类型的问题。
-
MultipleRHS
- 支持解决具有多个右侧项的线性系统,特别适用于交流分析(AC analysis)。
-
Set=
- 使用来自指定集合
<int>
的 ILS 选项。
- 使用来自指定集合
2. 并行超节点直接求解器(ParDiSo)
-
并行性:支持并行处理,适用于分布式内存系统。
-
超节点技术:使用超节点技术提高求解效率。
-
高精度:提供高精度的求解结果。
-
适用范围:适用于小型和中型问题。
-
IterativeRefinement
- 执行最多两次迭代精炼步骤,以提高解的精度。
-
MultipleRHS
- 支持解决具有多个右侧项的线性系统,特别适用于交流分析(AC analysis)。
-
NonsymmetricPermutation
- 计算初始的非对称矩阵置换和缩放,以优化求解过程。
-
RecomputeNonsymmetricPermutation
- 在每次因子分解之前重新计算非对称矩阵的置换和缩放,以适应不同的问题结构。
3. 超节点直接求解器(Super)
- 超节点技术:使用超节点技术提高求解效率。
- 最佳精度:对小型问题提供最佳精度。
- 适用范围:适用于小型问题,但未并行化。
通过这些线性求解器的选择和配置,可以针对不同类型的问题和计算环境,实现高效的线性系统求解。
使用块分解求解器进行耦合(Blocked)
线性求解器
Math 参数用于求解算法,并且是设备独立的,必须出现在基础的 Math 部分。这些参数可以根据求解器类型进行分组。线性求解器的控制参数为 Method 和 SubMethod。关键字 Method 用于选择要使用的线性求解器,而关键字 SubMethod 用于选择块分解方法的内部方法。关键字 ACMethod 和 ACSubMethod 用于确定交流分析(AC analysis)中使用的线性求解器。
注意
ACMethod=Blocked 是 ACMethod 的唯一有效选择。但是,任何可用的线性求解器都可以被选作 ACSubMethod。
第 1512 页表 216 列出了线性求解器 PARDISO 的可用选项。这些选项在求解器指定之后用括号括起来:
Method = ParDiSo (NonsymmetricPermutation IterativeRefinement)
默认选项 NonsymmetricPermutation、IterativeRefinement 和 RecomputeNonsymmetricPermutation 提供了速度和精度之间的最佳折衷。为了提高速度,可以选择-NonsymmetricPermutation。为了提高精度,以牺牲速度为代价,激活 IterativeRefinement 或 RecomputeNonsymmetricPermutation,或者同时激活两者。
所有 ILS 选项都可以在全局 Math 部分内的 ILSrc 语句中指定:
Math {
ILSrc = "
set (...) {
iterative (...);
preconditioning (...);
ordering (...);
}; options (...);
...
"
...
}
参见第 1512 页表 216 获取更多 ILS 选项。
线性求解器 PARDISO 和 ILS 支持 MultipleRHS 选项来解决具有多个右侧项(right-hand sides)的线性系统。这个选项仅适用于交流分析(AC analysis)。如果选择此选项,ILS 可能会产生小幅度的并行加速或略微更准确的结果。
使用 Math 选项 PrintLinearSolver 可以获取有关正在使用的线性求解器的附加信息。
通过这些参数的合理设置,可以优化线性求解器的性能,提高计算效率和求解质量。
以下是关于MPBC(Multi-Physics Boundary Conditions)专用线性求解器的描述翻译成中文:
用于MPBC的专用线性求解器
在使用迭代线性求解器(如ILS)与Mortar周期边界条件(mortar periodic boundary conditions,MPBC)结合时,可能会遇到一些收敛性问题。如果可行,使用直接求解器(如PARDISO)应该可以解决这些问题。否则,改进预调节器或使用扩展精度通常也能在很多情况下改善收敛行为。
对于MPBC模拟,有一个专用的线性求解器可用于利用迭代求解器ILS的优势,并提高模拟的鲁棒性。此求解器可以通过(临时的)用户界面启用。在全局Math部分指定UseSchurSolver
会用专用的MPBC求解器替换所有Coupled语句中的Blocked方法。使用其他方法的Coupled语句不受影响。请注意,此求解器目前还不适用于交流分析(AC analysis)。
导数
对于大多数问题,使用全导数可以使牛顿迭代收敛得最好。此外,对于小信号分析、噪声和波动分析,使用全导数是必需的。因此,默认情况下,Sentaurus Device 会考虑全导数。在极少数情况下,省略导数可以显著改善收敛性或性能,此时可以使用全局 Math 部分中的关键字 -AvalDerivatives
和 -Derivatives
来关闭迁移率和雪崩效应的导数。
导数通常是通过解析方式计算的,但也可以通过指定 Numerically
使用数值方法计算。这种方法不适用于 Blocked 方法,并且通常不建议使用。