2023.3.5 周日
写在前边
昨天组会汇报完就不想学了,就主要进行了数值计算方法的理论学习
今天上午主要了解了数值计算方法的运算过程,基本掌握了他折半计算的原理。
计划接下来进行newton迭代法的理论复习和log函数功能复习。
newton迭代法理论复习——计算方法
复习了,但感觉没啥用,还是不知道原理和深层的计算过程
一、引言
1.1 算法的基本特点
1.2 误差
分为舍入误差和截断误差
1.3 算法效率
举例:秦九韶算法
1.4算法应用状态
许多软件都将大部分算法设计成函数,简单调用之后便可以得到运行结果。。掌握数值方法的思想和内容才能更好运用它。
二、误差的度量与传播
2.1误差度量
绝对误差
近似值-真值 绝对误差限
实际计算中的误差是指一个尽可能小的绝对误差限
相对误差
绝对误差/真值
计算相对误差,实际上是指估计一个尽可能小的相对误差限
有效数字
末位数单位的一一半是误差限
对真值四舍五入得到有效数
从实验仪器所读的近似数(最后一位是估计位)不是有效数,估计最后一位是为了确保对最后一位进行四舍五入得到有效数。
2.2 误差传播
初值误差传播
近似数参加运算后所得值一般也是近似值,含有误差,将这一现象称为误差传播。
误差传播的表现:算法本身可能有截断误差;舍入误差;运算形成新的舍入误差;误差有正有负、运算次数大,不能人为跟踪每一步运算。
初值误差传播:假设每一步都是精确计算,即不考虑截断误差和数据表示引入的舍入误差,仅研究初始数据误差的传播规律。
研究方法:泰勒方法:n元函数、二元函数、一元函数
2.3数值实验与算法性能比较
算法设计时,避免相近数相减
尽可能避免用绝对值较大的数除以绝对值较小的数
尽可能避免大数吃小数
选用数值稳定的算法
三、非线性方程数值解法
3.1引言
非线性方程数值求解过程:
确定有根区间
称仅存在一个实根的有根区间为非线性方程的隔根区间。在有根区间或隔根区间上选取根的初始近似值
选取数值方法
选取某种数值方法逐步提高根的精度,使之满足给定的精度要求。
区间搜索法:有效确定较小隔根区间的实用方法
区间搜索:
一般情况下,只要步长足够小,就能把方程的更小的隔根区间分离出来;
如果隔根区间足够小,如区间长度小于给定的精度要求,则区间内任意一点可视为方程根的一个近似;
减小步长h就能产生逐步提高精度的根的近似值。
3.2 二分法
二分法是求非线性方程实根近似值的最简单的方法
基本思想:
将有根区间分半
通过判别函数值的符号,逐步缩小有根区间
重复以上过程,直到充分逼近方程的根,从而得到满足一定精度要求的某根的近似值
条件、结果、误差估计
误差估计定理
先验误差估计
优点:方法及相应程序简单;对fx性质要求不高(连续)
缺点:不能求复数根;不能直接求偶数重根;收敛速度慢
应用:不单独使用二分法,借助它为其它方法提供初值
3.3 简单迭代法
基本思想:
迭代序列的收敛性与如下因素有关:转变的等价形式(函数fx的零点等价转换为求函数的不动点);初始点的选择
收敛速度
不动点是否是你希望得到的方程的根
相关定理 单调性+导函数绝对值上界 定理结论
误差估计:后验误差估计、先验误差估计 极限 局部收敛性
迭代加速:艾特肯、史蒂芬森
3.4 Newton迭代法
基本思想:非线性方程线性化(系列线性化方程,泰勒公式的线性部分,展开点不断变化)
迭代公式:
几何意义:用一系列切线近似,切线法
简单迭代法
优点:易于构造;迭代速度快
不足:对初值的选取比较敏感,要求初值充分接近真解;对重根收敛速度较慢(仅有线性收敛速度);当函数复杂时,导数计算工作量大。
牛顿下山算法:
加入下山因子λ∈(0,1]
割线法
log函数功能和特性描述
2.1 问题来源
在Silvaco仿真PIN二极管击穿特性时,给阴极加不同电压看结附近电场分布情况,发现线性和log的函数图形有很大不同,浓度曲线也是这样。
电场
线性
浓度
线性
Log
Log
不明白这两个图中间部分为什么不一样,就峰值大小差不多
还没搞清楚log时显示的单位是什么,数字代表什么意思
2.2函数描述
对数函数log(x)对于大的x而言增长非常缓慢,所以使用对数标度来压缩大规模科学数据。可放大细微变化。
故数值差距大时采用log能更直观看出差别。
画图也就明白了。
tonyplot相关复习
3.1 概述
tonyplot是可视化工具,可将仿真时生成的临时文件(结构)、工艺仿真中保存的结构文件、器件编辑器生成的结构文件、器件仿真保存的log文件和提取到的dat文件显示出来。tonyplot也是交互式工具,其内建的计算器可以对数据进行计算。Tonyplot可以相当方便的对仿真结果进行显示,各种应用功能也非常丰富,如测量,截取一维数据,制作动画等。Tonyplot也可以将显示的结果导出,例如将log文件导出称cvs格式文件,将结构文件Cutline之后导出含一维数据分布的dat文件。对于三维结构的显示需要tonyplot3D。
显示的有:浓度分布、结的边界、区域边界、电极名称、各区域的材料和横向、纵向尺寸。由于用颜色表示了电场,由颜色区分材料不可用了。
3.2 File下拉菜单
Open:打开需要显示的文件
Open/Save Set Files:导入或保存显示设置文件
Save as:另存为图片文件
Export:导出数据文件
Save Series:将Tonyplot中显示的多个文件保存为系列图片文件。默认保存为output1.jpg、output2.jpg、output3.jpg……
Command Stream:编写命令语句(Tonyplot Command Stream,TPCS)来定义显示方式,相当于直接书写set文件(注意和自动保存为set文件的方式相区别),点击后将出现TPCS的编辑框。打开某个set文件则可以更清楚地直到TPCS的书写规则。
# TPCS version: 6
# key positions
key contours 1 at 3
key contours 2 at 1
key contours 3 at 6
key electrical at 6
key vectors at 6
key overlay at 2
key regions at 4
select 1
# plot flags, special
show mesh off
show edges on
show materials on
show contours off
show light off
show vectors off
show junctions on
show electrodes on
show threed off
draw 1
# annotation, titles
title main auto
title sub auto
# annotation, footers
footer right none
footer left none
# annotation, show
show xaxis on
show yaxis on
show grid off
show label xaxis on
show label yaxis on
# annotation, axes
range xaxis auto
range yaxis auto
label xaxis "Microns"
label yaxis "Microns"
# zoom
zoom from 0.000000, 0.000000 scale 1.000000, 1.000000
# user labels
# overlay level names
label overlay 0 "mos1ex02_0.str"
draw all
Tonyplot可以打开的文件类型有结构文件(.str)、日志文件(.log)、RSM文件(.rsm)、统计文件(.sta)、用户数据文件(.dat)、压缩文件(.gz)等
tonyplot有三种方式打开要显示的文件,"Add Plot",“Overlay Plot”和“Replace Plot”,默认的是“Add Plot”。器件仿真所得到的特性通常需要用到“Overlay Plot”,例如输出特性就是将几条曲线重叠显示的。
3.3 Edit下拉菜单
Select All:选择Tonyplot显示的所有文件
Swap Two Plots :如果Tonyplot中显示了两个结果且都被选中(执行Select All选中所有图),则将这两个结果的显示顺序更换
Redraw All Plots:更新显示结果
Make Overlay :在后面新开子图,将Tonyplot显示的几个结果重叠在一起显示出来
Split Overlay:将Make Overlay所重叠的图释放出来并在其后新开若干子图,子图的顺序是按照重叠的先后次序来的
Plot Difference:将两个相似的结果的差别显示出来(新开一个子图),两个结果相似主要体现在网格一致和有相同的物理量。例如多次离子注入并不会改变网格,但杂质分布会有变化,这个时候可以用Plot difference来看每一次注入后的变化
Duplicate Selected:将选中的图复制,在最后面新开一个一样的子图
Delete Selected:删除显示的图
Materials:自定义材料的颜色
Functions:函数计算功能:可以对显示的量进行计算。函数有两种类型。一种是Graph Functions,对用XY坐标表示的电学量进行计算。例如计算三极管电流放大倍数β时,可定义集电极电流/基极电流,这时在Tonyplot:Contours的Quantity中选择Function 2,则将显示出β来。另一种是Impurity functions,即对杂质进行计算后显示出来。例如定义 Impurity Func 1 为“(Donor Conc) - (Acceptor Conc)”。
Tonyplot 只有 Function 1 和 Function 2 两个供编辑和显示的函数表达。典型的函数功能如“a+b”,“a-b”,“a/b”,“a*b”,“a^b”,“–a”,“abs(a)”,“log(a)”,“log10(a)”,“exp(a)”, “sqrt(a)”,“sin(a)”,“cos(a)”,“tan(a)”,“asin(a)”,“acos(a)”,“atan(a)”,“sinh(a)”,“cosh(a)”, “mag(a,b)”,“hypot(a,b)”,“max(a,b)”,“min(a,b)”和“dydx(a,b)”等。因为较容易读懂,此处对具体函数表达式不做详细说明。
Preferences:Tonyplot的特性设置。如应用选项中的工具条、快捷方式和窗口设置;文档选项中的画图选项、工具选项、结构颜色、序列颜色、序列标记等。文档选项中经常用到的是序列颜色和序列标记。例如重叠显示由器件仿真得到的多条曲线时,采用显眼的易区分的颜色,加粗线条,增大标记的尺寸等更有利于查看结果。
Preference中的Key Points选项可以定义Tonyplot窗口中标记的位置,这些标记有Contours、Regions、Graphs、Lines、Vectors、levels等。
3.4 Plot下拉菜单
Plot 下拉菜单的功能和直接在显示的图上点右键所出来的选项是一样的,其主要操作如下:
Display:将出现Display(2D mesh)对话框,对仿真数据的显示方式进行设置。
Mesh:显示结构中的网格分布
Edges:显示结构的边界
Regions:显示材料区域
Contours:显示器件结构内部的物理量(有的需要在“output”中列出,如:con.band val.band为导带和价带位置的信息)的分布
Vectors:显示器件内部的矢量信息(如电场分布,电流分布)……
Light:显示光线在器件内部的特性(光强、波长、折射率)
Junction:显示器件结构中的结的边界
Electrodes:显示电极的名称
3D:显示三维信息
Lines:按照颜色来显示
Annotation:显示的注解,可设置标题名称,轴的位置和名称,轴显示的范围。
Labels:在tonyplot界面添加文本标签,增加可读性
Lavel Names:用Overlay的方式进行显示时更改各级的名称,默认是采用文件名
Set Zoom:放大特定区域,区域由x和y坐标值给出。
Zoom Out:从放大状态恢复到完全显示状态
3.5Tools下拉菜单
Cutline:在tonyplot显示区域中划“线”(直线或折现),则将新开一个子图绘制“线”上的数据。Cutline只能用于二维结构中得到一维的显示结果,相应的有Cutplane选项可以在三维显示(Tonyplot3D)中截取二维的面数据。
Cutline窗口:划线的方式可以是竖线、横线、斜线、折线或是由始点和终点连成的直线等多种方式。划线可以在调出Cutline选项框时直接在Tonyplot窗口中划出一条线来,也可以在Cutline选项框选择最后一种方式,填写坐标,然后点击create,这样线上的数据将在新开的一个子图中显示出来
Ruler:测量图中两点的距离。按住鼠标左键并拖动则可以得到起止两点间的距离信息Δx,Δy和Length,两点间的连线和水平线的夹角angle以及斜率slope等。通常使用ruler前先将特定区域放大会使测试更准确,区域放大可按住鼠标左键并拖动,拖曳的范围即会放大到填满整个Tonyplot窗口。
Probe:点Probe菜单,然后用左键在tonyplot显示区域点击某一点就可获得该点的信息。如果点在网格的同一个三角形内,那么显示出来的结果会是相同的,而不是所认为的点的坐标不同结果就不同,这就是网格离散化带来的必然结果,意识到这一点将帮助你更深入地理解TCAD的精髓。
Movie:制作动画:执行Edit-->Selects All选中Tonyplot中的所有plots,这时,Movie就处于可用状态,再点击Tools-->Movie菜单将出现制作动画的界面。其中可以对各帧图片进行预览,设置是否循环,调节各帧的切换速率。点击Export就可以设置导出动画文件的相关参数(如分辨率)。示例图的预览为当前帧“hist_111.str”的结构文件即是在第111行的工艺执行完成之后保存的历史文件。这样结合保存历史文件和制作动画的方式可以更加清晰地了解各工艺的效果。
HP4145:对数据图进行简单的处理。经常会碰到要提取仿真得到的特性曲线的参数的情况,如曲线的斜率、和轴的交点等,如果将数据取出再用专门的数据绘图软件来处理则显得费时费力,Tonyplot的HP4145可以直接在数据图上得到这些结果。
先由“Marker”在数据曲线上标记一个点,然后点击create,得到线的另一点。通过Cursor的四个方向按钮可以调节位置,再点击Line1,就出现了由着两点所连成的直线。直线显示再TOnyplot的原来图窗口中,而直线的数据显示在Tonyplot的HP4145界面。
HP4145只能对数据曲线进行处理,而且是在tonyplot窗口中只打开一个日志文件的时候才可用。
Intergrate:测量单条曲线和横轴之间的面积或两条曲线之间的面积
Tracers:图解二维mesh结构中矢量场的分布,在tonyplot中标记一些点,然后calculate,可得到各点上相应的矢量图。tracers要在Display:2D mesh中选择了Vectors才可用。
Poissonsolver:计算一维结构中电学量的分布。电学量可以是是 Electron QFL、Hole QFL、Electron density、Hole density、Intrinsic conc.、Potential、Electron (e-) Mobility、Hole (h+) Mobility、Electric Field 和 Electrical Conduc-tivity 等。
例子:
重叠显示
tonyplot -overlay mos0_1.log mos0_2.log mos0_3.log -set show.set
由file -->export将format选为“Comma Separated Values”,再将路径及文件名设置好就可以将数据(ATLAS仿真得到的log文件)导出成csv格式,这样可以用Excel和Origin打开和编辑。结构文件可由Cutline显示一维特性,将其导出成“TONYPLOT user data”后就可以查看一维信息了,也可由extract提取出一维特性。
后记
嗯,今天整体复习tonyplot学会了很多,例如set,导出数据,获取点的数据等,真是太妙了
还有掌握了数值方法折半计算 的基本过程,但对其背后更深入的原理了解少
接下来学习许老师推荐的绘图软件origin,并xue学习论文绘制相关的曲线。
还有就是漏电流了
还有熟悉许老师给我发的三个文件
还有保护环结构的设计
加油!
哦对还有遗留问题:log显示时纵坐标到底啥意思呀?
附上一些今天的图
结区电场峰值与外加电压的关系
不同外加电压下结区电场强度分布和大小,可看出电场集中分布在结弯曲程度大的地方