Sentaurus TCAD的sdevice求解中选择Math求解方法

news2024/11/15 19:25:49

目录

      • 并行迭代线性求解器(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 方法,并且通常不建议使用。

来源:Sentaurus™ Device User Guide Version R-2020.09, September 2020

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2137975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows安装docker、elasticsearch、kibana、cerebro、logstash

文章目录 1. 安装docker1.1. 两大要点1.1.1. 安装启用hyper-v电脑不存在hyper-v的情况 1.1.2. 下载安装docker 2. 在docker里面安装elasticSearch&#xff0c;kibana&#xff0c;cerebro3. 安装logstash-将数据导入到elasticSearch3.1 安装logstash3.1.1 注意事项3.1.1.1. 等了…

vue3中把封装svg图标为全局组件

在vue3中我们使用svg图标是下面这样子的 <svg style="width:30px;height:30px;"><use xlink:href="#icon-phone" fill="red"></use></svg>第次使用图标都要写这么多重复的代码,很不方便,所以,如果我们把它封装成全局…

“拍照赚钱”的任务定价(2017数学建模国赛b题)

文章目录 题目说明解题思路第一问第二问第三问第四问 部分结果图项目地址 题目 赛题地址 说明 数模国赛前的练手题。其实我个人感觉这道题很散&#xff0c;都是找一些规律进行总结统计&#xff0c;最多结合一些机器学习算法进行预测拟合之类的我刚开始用matlab&#xff0c;后…

[进阶]面向对象之 包 final

文章目录 包什么是包包名的规则:什么时候需要导包 final常量 包 什么是包 包就是文件夹。用来管理各种不同功能的Java类&#xff0c;方便后期代码维护。 包名的规则: 公司域名反写包的作用&#xff0c;需要全部英文小写&#xff0c;见名知意。使用其他类时&#xff0c;需要…

基于R语言的统计分析基础:使用键盘输入数据

在R语言中&#xff0c;键盘输入数据是一种灵活且直接的数据获取方式&#xff0c;适用于处理小数据集或需要即时用户交互的场景。通常用于交互式数据探索和分析、临时数据处理、交互式图形绘制、脚本自动化中的用户交互、特定应用场景下的数据录入中。 比如利用readline()函数根…

分享一些智慧农业数据集

持续更新中》》》 1.葡萄叶片病虫害数据集 数据集信息&#xff1a;yolo格式&#xff0c;适用于直接训练YOLO目标检测模型(yolo5 yolo8 yolo9 yolo10等)。数据集是已经标注好。训练集验证集已划分好&#xff0c;包含类别标签yaml文件&#xff0c;数据集可直接用于模型训练&…

第十二周:机器学习笔记

第十二周周报 摘要Abstract机器学习1. Recurrent Neural Network&#xff08;下&#xff09;1.1 RNN的Loss Function怎么求&#xff1f;1.2 RNN奇怪的特性1.3 如何解决 RNN 梯度消失或者爆炸1.4 RNN 其他应用 Pytorch学习1. 现有的网络模型使用以及其修改1.1 在VGG16模型添加Mo…

AD原理图编译

AD原理图检查项包括&#xff1a; 1.位号重复 2.网络悬浮 3.电源悬浮 4.单端网络 网络悬浮&#xff0c;在多页原理图时会比较明显,大部分是编译范围不是全部原理图&#xff0c;导致出现该情况&#xff0c;解决方法就是修改编译范围&#xff0c;将网络识别符范围改为全部即可。…

Qt常用控件——QComboBox

文章目录 核心属性、方法、信号模拟点餐文件加载 核心属性、方法、信号 QComboBox表示下拉框 核心属性&#xff1a; 属性说明currentText当前选中文本currentIndex当前选中的条目下标editable是否允许修改设置为true时&#xff0c;QComboBox的行为就非常接近于QLineEdit&…

Python | Leetcode Python题解之第406题根据身高重建队列

题目&#xff1a; 题解&#xff1a; class Solution:def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:people.sort(keylambda x: (-x[0], x[1]))n len(people)ans list()for person in people:ans[person[1]:person[1]] [person]return ans

SpringCloudAlibaba:Seata

1. 面试题 2.1 你简历上写用微服务boot/cloud做过项目&#xff0c;你不可能只有一个数据库吧&#xff1f;谈谈多个数据库之间如何处理分布式事务&#xff1f; 2.2 阿里巴巴的Seata-AT模式如何做到对业务的无侵入&#xff1f; 在一阶段&#xff0c;Seata 会拦截“业务 SQL”&a…

Python版《天天酷跑+源码》,详细讲解,手把手教学-python游戏开发

天天酷跑游戏 游戏效果: 游戏主要是躲避障碍物&#xff0c;这里也添加了金币&#xff0c;增加一点积分的娱乐性&#xff0c;人物设置是三条命&#xff0c;障碍物有6种&#xff0c;包括金币&#xff0c;障碍物随机生成&#xff0c;碰到障碍物掉一滴血&#xff0c;没血了结束游戏…

消失的数字:

Q&#xff1a;数组nums包含从0到n的所有整数&#xff0c;但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗&#xff1f; 示例 1&#xff1a; 输入&#xff1a;[3,0,1] 输出&#xff1a;2 示例 2&#xff1a; 输入&#xff1a;[9,6,4,2,3,5,7,0,1] …

产品经理如何转型为AI产品经理,如何理解AI产品工程化

技术领域,特别是人工智能和机器学习,其优秀模型的成功应用是一个复杂过程,它不仅要求技术本身的卓越,还须与现有解决方案竞争,这涉及到技术成熟度、成本有效性、市场接受度等多维度因素。 在这一过程中,产品经理扮演着核心角色,负责协调各方利益,确保技术能够转化为满…

5.1 溪降技术:个人装备

Content 5.1 个人装备概览设备概览视频电子书&#xff1a;个人装备安全装备非安全装备 峡谷探险个人安全装备个人安全装备视频*安全扣结构*峡谷探险个人非安全装备 湿峡谷湿峡谷装备视频个人安全装备个人非安全装备 干峡谷干峡谷装备视频个人安全装备个人非安全装备 团队装备&a…

【415】【数字小镇中的捣蛋鬼】

第2场周赛&#xff0c;又是被佬薄纱的一天 简单题 秒杀啊 class Solution:def getSneakyNumbers(self, nums: List[int]) -> List[int]:dictdefaultdict(int)ret[]for num in nums:dict[num]1for key in dict.keys():if dict[key]2:ret.append(key)return ret

前端基础知识+算法(一)

文章目录 算法二分查找条件注意方式基本原理左闭右闭正向写法 左闭右开正向写法 前端基础知识定时器及清除盒子垂直水平居中的方式垂直水平1.flex布局2.grid布局3.定位对于块级元素 解决高度塌陷的方式1.给父元素一个固定的高度2.给父元素添加属性 overflow: hidden;3.在子元素…

2024_中秋国庆双节来临 祝CSDN所有开发者与网站节日快乐

亲爱的CSDN朋友们&#xff1a; 在这个金风送爽、丹桂飘香的美好时节&#xff0c;我们迎来了一年一度的中秋佳节。明月高悬&#xff0c;洒下银辉&#xff0c;照亮了我们心中的思念与祝福。 中秋&#xff0c;是团圆的象征。无论你此刻身在何处&#xff0c;心中那份对家的眷恋、对…

Vue3.0组合式API:computed计算属性、watch监听器、watchEffect高级监听器

1、computed() 计算属性 在模板中绑定表达式只能用于简单的运算。如果运算比较复杂&#xff0c;可以使用 Vue.js 提供的计算属性&#xff0c;通过计算属性可以处理比较复杂的逻辑。 1.1 计算属性的应用 通过计算属性可以实现各种复杂的逻辑&#xff0c;包括运算、函数调用等…

laravel 查询数据对象转数组

这种的只能转化最外层的$pre_id_arr Db::table(Db::raw("($pre_id_arr_sql) as res"))->get()->toArray();如果需要把里边的都转了需要用下面这个方法 $pre_id_arr Db::table(Db::raw("($pre_id_arr_sql) as res"))->get()->map(function ($…