首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

智能算法 | 又一大进步,软件测试开销过大的问题这样解决!

近年来,在软件开发过程中(如图一)据统计有50%的开销来自于测试环节。软件测试的主要目的是以最少的人力、物力和时间找出软件中潜在的各种缺陷和错误,通过修正缺陷和错误提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患。其中黑盒测试和白盒测试是两种常见的测试类型,黑盒测试着重于评估测试程序的表现,白盒测试则能够揭露程序逻辑上的潜在缺陷。而测试用例自动生成问题(ATCG)是一类迫切需要解决的白盒测试问题,以往测试用例的自动生成大多通过人工手段实现,ATCG问题的解决可以有效帮助减少软件测试过程中的人力、物力资源的开销。

02

PyVibMS更新:支持ORCA、xtb、Q-Chem输出

题中所述三种程序是比较流行的量子化学计算程序,笔者近期对PyVibMS插件进行了改进,使它能够原生支持ORCA、xtb和Q-Chem程序计算得到的振动分析输出。如果是第一次接触PyVibMS,请参见 《使用PyVibMS可视化分子和固体中的振动模式》一文。本文涉及的例子文件都在GitHub的档案中。 下面就ORCA、xtb和Q-Chem这三种量子化学计算程序,演示如何用PyVibMS显示分子振动。 1. ORCA 4 打开一个干净的PyMOL窗口,开启PyVibMS插件窗口后,在输入文件处选定 examples/ORCA/h2o/h2o.hess,在弹出的对话框内将文件类型调成 ORCA Hess File (*.hess)。确认选定后,将PyVibMS窗口的XYZ下拉菜单调成 ORCA 4 (.hess file)。因为这个文件包含了振动分析的结果,因此我们需勾选 Has Vib. Info. 然后点击Load载入即可。 ORCA产生的 .hess文件并非ORCA计算的主输出文件,它是振动分析产生的额外输出文件。 目前支持ORCA 4及以上的版本,但需要注意的是ORCA在处理多原子直线分子时似乎有个错误。例如对于二氧化碳分子(examples/ORCA/co2),ORCA只给出了3个振动而实际为4个。 2. xtb xtb程序在进行 --hess或--ohess 计算之后,会产生一个模仿高斯振动分析输出的g98.out文件,我们可以把这个文件载入PyVibMS进行振动可视化。 在新开启的PyVibMS窗口中,在输入文件处选定 examples/xtb-640/co2/g98.out,在弹出的对话框内将文件类型调成 Output File (*.out)。确认选定后,将PyVibMS窗口的XYZ下拉菜单调成 xtb (g98.out file), 勾选 Has Vib. Info. 后点击Load 载入即可。 3. Q-Chem PyVibMS插件支持Q-Chem计算的振动分析(freq) 输出和结构优化+振动分析(opt+freq) 输出,并且解析Hessian和数值Hessian情况下的振动结果都可以被分析。在新开启的PyVibMS窗口中,在输入文件处选定 examples/Q-Chem/h2o/ h2o-opt-f.log,在弹出的对话框内将文件类型调成 Log File (*.log). 确认选定后,将PyVibMS窗口的XYZ下拉菜单调成 Q-Chem 4/5, 勾选 Has Vib. Info. 后点击Load 载入即可。 4. 其他量子化学程序 除了以上几个比较常用的量子化学程序,我们还可能会用到CFOUR、MOLCAS等其他程序。对于这些程序计算得到的振动分析结果,我们可以先使用UniMoVib程序(https://github.com/zorkzou/UniMoVib)处理,导出PyVibMS可以读取的XYZ坐标和mode文本文件,再使用PyVibMS进行振动可视化。关于UniMoVib程序的情况,可参见“分子振动频率和热化学计算程序UniMoVib”一文(http://bbs.keinsci.com/thread-5793-1-1.html)。具体流程请见后续推送:“使用UniMoVib+PyVibMS显示其他量化程序振动分析结果”。

02

使用UniMoVib+PyVibMS显示其他量化程序振动分析结果

1. 前言 在之前的《使用PyVibMS可视化分子和固体中的振动模式》一文中,笔者介绍了PyVibMS插件的基本使用方法。目前对于量子化学程序计算的分子体系,PyVibMS已经可以原生支持高斯、ORCA、xtb和Q-Chem四款主流软件。然而对于CFOUR、MOLPRO、BDF等较少使用的量子化学程序计算的振动分析的结果,PyVibMS支持通过先载入XYZ坐标文件、再载入mode文本文件的方式进行振动可视化。其中,mode文本文件的准备可能需要用户有一定的脚本编写水平。 本文介绍一种不需要用户编写脚本制作mode文件就可以对非主流量子化学程序计算得到的振动分析结果进行可视化的方法。此方法的基本原理是先利用UniMoVib程序读取量子化学计算程序给出的Hessian矩阵信息,然后生成可以让PyVibMS读取的统一格式的XYZ和mode文件,最后将这两个文件载入PyVibMS即可。 UniMoVib是一款可以从近30种量子化学计算程序中读取Hessian、坐标等数据计算谐振频率和(可选)红外强度的Fortran程序。可以将它理解成一个加强版的freqchk程序。目前UniMoVib的代码、手册和例子文件在GitHub上托管:

02

关于职业发展的思考

转眼间毕业四年有余,大学所学专业是冶金,毕业后看冶金行业机械化程度较高,但是自动化、智能化程度与想象的还是有差距。就有想法学习自动化,软件编程方面的知识,用机械,程序代替反复机械的人工劳作,简化生产过程,提高生成效率和质量。于是去了北京一家和钢铁生产相关的自动化设备生产厂家工作,这便开始了我艰苦的转行生涯,公司是做硬件的,但是我却安排做软件开发和cad绘制等打杂的工作。怀着大学刚毕业的青涩和天真,在这家几个月发一次工资的公司,干了一年多。学过很多东西,最熟悉,用的最多的是c#,后面便按照这个方向来找工作。又经历两家公司,两年多的时间,一家做高速公里监控软件,一家做科研,没有产品。3年多的时间,没有真正熟悉了解一个领域。唯一熟悉的就只有c#,asp.net编程。

01
领券