vasp计算中,在哪个文件夹中查看nsw离子步运行了多少步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vasp计算中,在哪个文件夹中查看nsw离子步运行了多少步相关的知识,希望对你有一定的参考价值。
我们平时最常用的研究方法是做单点能计算,结构优化、从头计算的分子动力学和电子结构相关性质的计算.一般我们的研究可以按照这样的过程来进行如果要研究一个体系的最优化构型问题可以首先进行结构弛豫优化,然后对优化后的结构进行性质计算或者单点能计算.如果要研究一个体系的热力学变化过程可以首先进行分子动力学过程模拟,然后在某个温度或压强下进行性质计算或者单点能计算.如果要研究一个体系的热力学结构变化可以首先在初始温度下进行NVT计算,然后进行分子动力学退火,然后在结束温度下进行性质计算研究.什么是单点能计算(singlepointenergy)?如何计算?跟其它软件类似,VASP具有单点能计算的功能.也就是说,对一个给定的固定不变的结构(包括原子、分子、表面或体材料)能够计算其总能,即静态计算功能.单点能计算需要的参数最少,最多只要在KPOINTS文件中设置一下合适的K点或者在INCAR文件中给定一个截断能ENCUT就可以了.还有一个参数就是电子步的收敛标准的设置EDIFF,默认值为EDIFF=1E-4,一般不需要修改这个值.具体来说要计算单点能,只要在INCAR中设置IBRION=-1也就是让离子不移动就可以了.什么是结构优化(structureoptimization)?如何计算?结构优化又叫结构弛豫(structurerelax),是指通过对体系的坐标进行调整,使得其能量或内力达到最小的过程,与动力学退火不同,它是一种在0K下用原子间静力进行优化的方法.可以认为结构优化后的结构是相对稳定的基态结构,能够在实验之中获得的几率要大些(当然这只是理论计算的结果,必须由实验来验证).一般要做弛豫计算,需要设置弛豫收敛标准,也就是告诉系统收敛达成的判据(convergencebreakcondition),当系统检测到能量变化减小到一个确定值时例如EDIFFG=1E-3时视为收敛中断计算,移动离子位置尝试进行下一步计算.EDIFFG这个值可以为负,例如EDIFFG=-0.02,这时的收敛标准是当系统发现所有离子间作用力都小于给定的数值,如0.02eV/A时视为收敛而中断.弛豫计算主要有两种方式:准牛顿方法(quasi-NewtonRMM-DIIS)和共轭梯度法(CG)两种.准牛顿方法计算速度较快,适合于初始结构与平衡结构(势能面上全局最小值)比较接近的情况,而CG方法慢一些,找到全局最小的可能性也要大一些.选择方法为IBRION=1时为准牛顿方法而IBRION=2时为CG方法.具体来说要做弛豫计算,设置IBRION=1或者2就可以了,其它参数根据需要来设置.NSW是进行弛豫的最大步数,例如设置NSW=100,当计算在100步之内达到收敛时计算自动中断,而100步内没有达到收敛的话系统将在第100步后强制中止(平常计算步数不会超过100步,超过100步可能是计算的体系出了问题).参数通常可以从文献中发现,例如收敛标准EDIFFG等.有的时候我们需要一些带限制条件的弛豫计算,例如冻结部分原子、限制自旋的计算等等.冻结部分原子可以在POSCAR文件中设置selectivedynamic来实现.自旋多重度限制可以在INCAR中以NUPDOWN选项来设置.另外ISIF选项可以控制弛豫时的晶胞变化情况,例如晶胞的形状和体积等.费米面附近能级电子分布的smearing是一种促进收敛的有效方法,可能产生物理意义不明确的分数占据态情况,不过问题不大.在INCAR文件中以ISMEAR来设置.一般来说K点只有一两个的时候采用ISMEAR=0,金属体材料用ISMEAR=1或2,半导体材料用ISMEAR=-5等等.不过有时电子步收敛速度依然很慢,还需要设置一些算法控制选项,例如设置ALGO=Very_Fast,减小真空层厚度,减少K点数目等.弛豫是一种非常有效的分析计算手段,虽然是静力学计算但是往往获得一些动力学得不到的结果. 参考技术A OSZICAR中看在mac终端中,如何查看mysql在哪个端口运行?
【中文标题】在mac终端中,如何查看mysql在哪个端口运行?【英文标题】:In mac terminal, how to check which port mysql is running? 【发布时间】:2019-10-14 13:26:12 【问题描述】:我进行了一些研究,发现了一些人们建议使用netstat
来检查特定进程正在使用哪个端口的地方。
但这是我得到的:
myMac:~/Documents$ netstat -ap tcp | grep -i "listen"
tcp4 0 0 localhost.mysql *.* LISTEN
localhost.mysql
对端口号说了什么?我期待一个像 3306 这样的 4 位数字。
有什么想法吗?
【问题讨论】:
数字转换为名称。 /etc/services 有一个映射。将-n
添加到 netstat 将阻止转换。
【参考方案1】:
您应该使用 -n 来让 netstat 将网络地址显示为数字。
netstat -nap tcp | grep -i "listen"
man netstat
-n Show network addresses as numbers (normally netstat interprets addresses and attempts to display them symbolically). This option may be used with any of the display formats.
或者使用 lsof:
lsof -n -P -i TCP -s TCP:LISTEN
或者使用mysql客户端查看mysql端口:
mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';
【讨论】:
感谢您的回答。请注意:netstat -nap tcp | grep -i 'listen'
不起作用,因为您无法从结果中分辨出哪个是 mysql - 结果都是数字,并且没有字符串可以识别 mysqld。但其他解决方案有效。
@Kid_Learning_C 是的,使用-n显示数字(端口),不使用-n显示localhost.mysql,结合结果可以识别mysql端口。
我使用:lsof -n -P -i TCP -s TCP:LISTEN | grep mysql
【参考方案2】:
如果您安装了 Workbench,则只需打开它并检查端口。最有可能的是 3306。 见附截图
【讨论】:
以上是关于vasp计算中,在哪个文件夹中查看nsw离子步运行了多少步的主要内容,如果未能解决你的问题,请参考以下文章
python Python函数,用于从大量复杂的异构日志文件中获取数据,例如由MELTS或VASP生成的日志文件。你只需给它一个fi