侧边栏壁纸
博主头像
琉璃红梅 博主等级

琉璃世界,白雪红梅。

  • 累计撰写 44 篇文章
  • 累计创建 90 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

热电系列-基于Matlab App Designer的TEToolBox

雪穗
2025-01-18 / 0 评论 / 2 点赞 / 160 阅读 / 0 字
温馨提示:
若部分素材不小心影响到您的利益,请联系我删除。

1.TEToolBox简介

TEToolBox即热电工具箱,我们知道在安装Matlab时安装了非常多的工具箱,这里取名为TEToolBox也是与之对应,做到开箱即用。之前我已经将常用的热电材料模型公式及其代码发布在了博客中,但是为了使用起来更加方便,特别是对于Matlab使用不熟练的同学,这次我将普遍使用的热电材料计算代码整合到工具箱中,这样可以通过图像化界面进行操作,从而能够快速得到所需的计算数据,验证材料设计之初的某些猜想。

Matlab的的图形化设计工具App Designer是在2016a版本中加入的,经过了多年的更新迭代,已经具备了非常多的组件和功能,但是与发展更久的Qt相比在界面的美观性、功能性上还是存在一定的差距,在打包上面也是显得“难以接受”,对于理工科而言,Matlab似乎是不可或缺的计算与仿真工具,原本我想直接打包成Matlab工具箱的形式让用户进行安装,而不必打包成独立的应用程序,但是限制条件是用户所安装的Matlab版本应该不低于我所打包的版本,这样可能会导致用户重复下载Matlab,卸载和安装都要耗费不少时间,遂放弃了这种打包想法;大家包括我普遍接受的应该是,用户能够在未安装Matlab的情况下也可以使用,事实是,这一点确实是可以的,不过需要下载Matlab的运行时库(Runtime),而其大小也在好几个GB,但与直接安装动辄几十GB的Matlab相比小了不少,运行时库可以在安装时在线下载,也可以打包是由开发者下载,打包进应用中,为了防止用户因各种问题导致下载失败或者版本匹配问题,这里我选择后者,相应地付出的代价就是安装包要大一些。

2.TEToolBox的安装与卸载

重要的事情:

1.请安装在空白目录下

2.配置MCR的环境变量

TEToolBox的安装与卸载请直接查看我的博文:TEToolBox安装与卸载

3.TEToolBox的登录

众所周知,免费的唾手可得的东西大家往往不会珍惜,当然也是为了使TEToolBox更像一款软件,为此使用前需要先进行登录,密码的获取需要在本博客注册登录后查看,正确提交表单内容后,我会将密码发送至你的邮箱,如果你想匿名,完全可以只查看我之前的博文,该工具箱只是对部分代码进行了整合与改进,属于锦上添花之举。

此处内容已隐藏,「登录可见」

4.TEToolBox的功能模块

提示:

1.示例文件放在了安装目录的 application/examples 目录下,仅供参考与演示,界面中保留的参数是与示例文件对应的,计算时注意修改,但是数据格式请勿修改!

2.大部分图表都有右键功能,比如数据的导入导出、图像的导出,请自行测试。

3.一定要注意单位及参数的数量级

本节主要对TEToolBox中的功能模块做简要介绍,如果在使用过程中有任何问题欢迎评论区留言。

4.1 SPBEMFit模块

4.1.1 简介

源码详解:热电系列-单抛物带模型计算

本模块计算所用的公式中加入了霍尔因子一项

该模块主要是使用单抛物带模型对材料的塞贝克系数与载流子浓度的数据进行拟合,得到材料的态密度有效质量,一般用于计算态密度有效质量相差不大的一组数据,数据主要通过导入文件的形式,具体格式可以参考代码的示例文件,如果只有一个数据点则是计算该数据点下的态密度有效质量,导入的多组数据对应的是同一温度下的不同组分的材料。

态密度有效质量一般用来说明材料的能带结构验证能带结构对材料性质的影响,如果同一温度下不同掺杂组分态密度有效质量相差不大,则说明该材料为刚性能带结构,从而排除态密度有效质量对热电参数的影响。

4.1.2 计算流程

输入计算参数:

1.测试温度,单位为开尔文

2.散射因子,声学声子散射为0,离化杂质散射为2

3.有效质量初猜,对最终结果影响不大

4.导入数据,数据格式请参考示例文件

点击导入数据会弹出文件选择框选择用于计算的文件,导入之后会在文本框中显示所选择的文件名,用于提示,然后点击 开始计算 即可,此时 开始计算 按钮的文字 改变为 计算中...,示例文件的计算结果如下,计算完成可以在图窗区域右键选择保存图像以及导出数据,建议导出数据后拖到专门的作图软件中作图,比如Origin。

TEToolBox_20250118215753.avif

4.2 SPBEM模块

4.2.1 简介

源码详解:热电系列-单抛物带模型计算

本模块计算所用的公式中加入了霍尔因子一项

该模块先使用单抛物带模型对材料塞贝克系数与载流子浓度的数据进行计算得到材料的态密度有效质量,然后将计算得到的态密度有效质量带入到公式中得到Pisarenko曲线。

该模块既可以用于计算同一温度不同组分的态密度有效质量,也可以用于计算不同温度同一组分的态密度有效质量,同样用来验证材料的能带结构在组分或温度的影响下是否为刚性结构。

4.2.2 计算流程

输入计算参数:

1.数据类型,相同温度为导入的数据为同一测试温度下的数据,这也是默认选项,不同温度为变温测试的数据

2.测试温度,单位为开尔文,只有在数据类型选择相同温度时有效

3.散射因子,声学声子散射为0,离化杂质散射为2

4.导入数据,数据格式请参考示例文件

点击导入数据会弹出文件选择框选择用于计算的文件,导入之后会在文本框中显示所选择的文件名,用于提示,并且在表格中对数据进行呈现。

4.2.2.1 相同温度

示例数据呈现

计算结果如图所示,表格数据和图窗数据均可右键导出

4.2.2.3 不同温度

示例数据呈现,数据类型为不同温度的数据时,测试温度参数无效

计算结果如图所示,表格数据和图窗数据均可右键导出

4.3 MinKL模块

4.3.1 简介

源码详解:热电系列-德拜-卡拉威(Debye-Callaway)模型

该模块用于得到材料的最小晶格热导率,最小晶格热导率一般与晶格热导率放在一起对比,一般用于说明掺杂后的材料不断降低的晶格热导率得到了最大的优化限度。

4.3.2 计算流程

输入计算参数:

1.测试温度,单位开尔文

2.纵波声速,单位m/s

3.横波声速,单位m/s

示例文件计算结果,晶格热导率单位为W/m/K

4.4 DCKLFit模块

4.4.1 简介

源码详解:热电系列-德拜-卡拉威(Debye-Callaway)模型

改模块基于Debye-Callaway模型拟合材料的晶格热导率得到各种散射机制的前置散射因子,然后将拟合得到的前置散射因子代入模型公式求得谱晶格热导率与晶格热导率,这里的谱即为声子频谱。主要考虑了四种散射机制,分别为点缺陷、声子U过程、电声散射、晶界散射,如果不考虑该散射机制可以将该参数的初猜值和上下限值设置为0,这样该散射机制对晶格热导率的贡献为0。在参数拟合的时候初猜值和上下限值都是非常关键的参数直接决定者参数拟合的好坏,并且需要注意,在数学上对晶格热导率的拟合可以达到非常好的效果,但由此得到的拟合参数是否具有物理上的合理性需要用户自行参考文献定夺。此外也需要说明,多参数的非线性拟合本就具有很大的不可靠性,因为在拟合过程中很容易陷入局部最小值中。

谱晶格热导率一般用于说明不同散射机制对不同频率声子的散射情况,比如点缺陷由于尺度较小一般会对高频声子散射较强。

4.4.2 计算流程

输入计算参数:

拟合散射参数设置 页面

1.德拜温度,单位开尔文

2.平均声速,单位m/s

3.谱晶格热导率拟合温度,单位开尔文

4.起始温度与终止温度,为晶格热导率拟合数据的温度范围,单位开尔文

5.导入拟合参数的初始化数据,在表格区域右键导入即可

晶格热导率实验数据 页面

1.导入你所测的晶格热导率数据,在表格区域右键导入即可

示例数据呈现

示例文件计算结果如下,同样的你可以右键将表格数据与图像数据导出

4.5 DCKL模块

4.5.1 简介

源码详解:热电系列-德拜-卡拉威(Debye-Callaway)模型

改模块基于Debye-Callaway模型将用户输入的参数导入到公式中计算材料的谱晶格热导率与晶格热导率,这里考虑了非常多的散射机制,如果不考虑该散射机制可以将该参数的值设置为0,这样该散射机制对晶格热导率的贡献为0,但是需要注意不要将公式中在分母位置的参数设置为0。

4.5.2 计算流程

输入计算参数:

散射参数设置 页面

1.起始温度与终止温度,为晶格热导率拟合数据的温度范围,单位开尔文

2.材料的化学式,在表格区域右键导入即可

3.用计算的散射因子等参数,需要由你实验或计算得到,温度值也是计算谱晶格热导率的所用的温度值

晶格热导率实验数据 页面

1.导入你所测的晶格热导率数据,在表格区域右键导入即可

示例数据呈现

示例文件计算结果如下,同样的你可以右键将表格数据与图像数据导出

5.TEToolBox的后续计划

目前只加入了这五个模块,并且都有与之相对应的博文能够参考,当然还存在很多改进的地方,比如用户可能希望DCKLFit模块中考虑更多的散射机制,或者希望DCKLFit模块能够和DCKL模块一样对每个单独的参数进行拟合,从而得到难以用仪器或者无法测量获取的参数;另外在错误提示方面也需要逐步完善毕竟bug是修不完的,使用过程中很可能出现始料未及的错误。有需求就会有动力,后面功能的改进与加入就看有没有人用了。鉴于加入其他的某些模块需要输入的参数的太多可能暂不考虑添加进来,比如计算材料的无序因子,计算这一参数需要输入原子的占位信息,这一点在组分多于两种元素时难以直接判断。

2

评论区