|
本帖最后由 exity 于 2019-11-19 21:02 编辑
最近一段时间在做溶剂对各个分子的HOMO、LUMO能量、以及GAP的影响,Multiwfn查看这些内容固然方便,但是每次都要复制屏幕内容再手动添加到txt或者excel有点不舒服,就自己折腾了一下,实现了以下功能(也可能Multiwfn早就有了这个功能,但是俺没好好读手册)。
1 批量处理一系列的chk或gbw文件,把对应的HOMO LUMO 等内容输出到对应名字的txt里
2 把HOMO LUMO的内容再次集中汇总到一个txt里
具体实践如下,假设Multiwfn已经写入了你的系统路径
1. 新建批处理文件1.bat,内容如下:
for /f %%i in ('dir *.fchk /b') do (
Multiwfn %%i < HOMOLUMOGAP.mf > 1.txt
rename 1.txt %%~ni_GAP.txt
)
2. 新建一个txt文本文件,改名为HOMOLUMOGAP.mf(我习惯把Multiwfn批处理步骤的txt后缀改成mf,以示区别),内容如下(对,你没看错,一个0就可以了。):
0
3. 把计算好的fch,gbw文件和1,2两步的文件放入同一个文件夹,双击1.bat,就能得到一系列包含HOMO等信息的txt文件了(其实就是把Multiwfn查看分子的前2个屏幕输入到txt)
4. 再新建一个2.bat,内容如下
@echo off
pushd "%~dp0"
Powershell -NoProfile -Command "Get-Item -Path .\*.txt | ForEach-Object { if ([System.IO.File]::ReadAllText($_.FullName, [System.Text.Encoding]::Default) -match 'Note:(?:.*\n){2}.*') { $_.BaseName; $Matches[0]; ''; } } | Set-Content -Path .\IAMfACkINGAWESOME.txt -Encoding oem "
popd
pause
exit /b
5. 双击2.bat,就能在IAMfACkINGAWESOME里看到各个分子HOMO信息的汇总啦,看起来和下面是一样的(数据我乱改过,没用)。
PGRE_YDD_GAP
Note: Orbital 105 is HOMO, energy: -1111111 a.u. -1111111 eV
Orbital 106 is LUMO, energy: -0.1111111 a.u. -0.1111111 eV
HOMO-LUMO gap: 0.1111111 a.u. 11111119 eV 11111117 kJ/mol
REWAA_EtOH_GAP
Note: Orbital 105 is HOMO, energy: -1111111 a.u. 1111111 eV
Orbital 106 is LUMO, energy: -1111111 a.u. -1111111 eV
HOMO-LUMO gap: 1111111 a.u. 1111111 eV 1111111 kJ/mol
HRTA_H2O_GAP
Note: Orbital 105 is HOMO, energy: -11111116 a.u. -111111118 eV
Orbital 106 is LUMO, energy: -11111111 a.u. -111111128 eV
HOMO-LUMO gap: 11111115 a.u. 11111110 eV 111111156 kJ/mol
HJWA_MeOH_GAP
Note: Orbital 105 is HOMO, energy: -11111115 a.u. -11111110 eV
Orbital 106 is LUMO, energy: 1111111 a.u. -11111114 eV
HOMO-LUMO gap: 111111157 a.u. 111111156 eV 111111192 kJ/mol
PS:好吧,我承认,第二个bat俺是从“批处理之家”问来的......233333333
|
评分 Rate
-
查看全部评分 View all ratings
|