-
Notifications
You must be signed in to change notification settings - Fork 1
/
note.txt
116 lines (108 loc) · 6.46 KB
/
note.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
orca安裝:
http://sobereva.com/451
xtb安裝:
// xtb-python is for pygsm
https://github.com/grimme-lab/xtb-python
// xtb is for ard delta H filter
http://sobereva.com/421
pygsm安裝:
// 目前測試到 16a17b9657f66168c7f689f6a31a8d9c913385cf 這個branch
// 如果要用orca記得在pygsm/level_of_theory/orca.py,runscr ='/tmp/'+pbsID+'/'+orcasc改成runscr ='/tmp/'+pbsID+'/'+orcascr
// 第三步直接在conda環境中 python setup install就可以了 不需要--prefix
https://github.com/ZimmermanGroup/pyGSM
2021/06/09:
目前測試到 branch : ef70a7f25f411d792a2b00307ea2237095ace031
我有修正fronzen atom bug
pysisphus安裝:
//注意他的numpy版本 如果不能裝改用pip
https://pysisyphus.readthedocs.io/en/dev/installation.html
2021/06/09:
pysisyphus使用最新版本即可,我有協助Johannes debug
請記得改.pysisyphusrc
[orca]
# ORCA needs the full path to its binary, so please provide the full path.
cmd=/opt/ORCA/orca_4_2_1_linux_x86-64_openmpi314/orca
[xtb]
# Cmd to execute. Please ensure that xtb is on your $PATH.
cmd=/opt/xTB/xtb-6.4.0/bin/xtb
----
參考我的.bashrc
// MKL_DEBUG_CPU_TYPE is for orca 我們的cluster用的是AMD CPU,orca會call intel mkl還有avx指令集
// 如果不改效率會變差,指定5就是讓我們的CPU被intel mkl認為是intel的cpu
export MKL_DEBUG_CPU_TYPE=5
export PATH=/home/jianyi/ORCA/openmpi/bin:$PATH
export LD_LIBRARY_PATH=/home/jianyi/ORCA/openmpi/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jianyi/ORCA/orca_4_2_1_linux_x86-64_openmpi314:/home/jianyi/xtb/xtb-bleed/lib
export orcadir=/home/jianyi/ORCA/orca_4_2_1_linux_x86-64_openmpi314
export XTBPATH=/home/jianyi/xtb/xtb-bleed/shard/xtb
export PATH=$PATH:/home/jianyi/ORCA/orca_4_2_1_linux_x86-64_openmpi314:/home/jianyi/xtb/xtb-bleed/bin
export PATH=$orcadir:$PATH
2021/06/09 update
orca與xtb路徑已安裝於module,後續不需調整
直接module load orca or module load xtb
使用orca方式為: $orcadir/orca opt.inp >> opt.out
---
注意事項:
1.
在目前的orca 4.2.1中 optimize ts with xtb時候似乎沒有檢查scf convergence
所以說有可能會fail請注意
另外就是當你使用不同的核心數有可能會導致scf不收斂 進而影響結果
不過xtb算很快所以說都用1也無妨
另外我這邊說xtb是指orca call xtb而不是單純xtb
2.
orca在4.2.1使用的是mpi而不是openmp
所以在我們cluster多核心運作時應該是使用
#PBS -l select=1:ncpus=8:mpiprocs=8:ompthreads=1
沒記錯未來(5.0)好像會改部分為openmp,假設有更改的話用
#PBS -l select=1:ncpus=8:mpiprocs=1:ompthreads=8
不過我和shihcheng測試ompthreads好像會使運算速度變慢
3.
orca計算時會使用ri, rijcosx, rijk等方法來加速運算 <-- 具體請自行查閱orca document
這些approximation方法有時後會導致很小的imaginary frequency產生(ORCA 5.0後預設格點變高,其實不太需要改格點),而我目前的過濾器有嚴格限制
irc opt 之後成功的product必須沒有imaginary frequency
解決方法: rijcosx等方法在運算時使用較高的格點 EX: grid3
目前上面的example參數都是我測試過得
另外如果用明尼蘇達method(M06-2x, etc...), grid6以上才會比較準但是會非常耗時請注意
至於選用method與basis set請參閱
http://bbs.keinsci.com/thread-536-1-1.html
http://sobereva.com/336
4.
有關於transition state等相關概念,除了參考zimmerman paper也可以看看
http://sobereva.com/44
5.
當ts refine計算想要用不同的core數量時(default:1),由於是調用xtb (openmp)+ orca(openmpi),因此job file應該使用
#PBS -l select=1:ncpus=8:mpiprocs=1:ompthreads=8
此設定為hybrid openmp and openmpi
6.
目前SnBEA + hydroxyacetone所找到的acrolein路徑其實本來並不是要找acrolein的 (ie. 不小心找到的)
其原因為,SSM只是從你給定的driving coordinate(DC)去找ts,假設initial geometry差,調整的過程已經需要跨過小barrier,則此barrier可能會被視為TS guess
再者,有時候SSM只是朝DC去找,其實也不保證能找到你預期的product
最後一點hydroxyacetone-->acrolein為endothermic reaction,以DFT level計算enthalpy difference ~= 18 kcal/mol,而semi-empirical (GFN2-xTB)算出來大概是45kcal/mol
因此會被deltaH filter過濾掉,但是假設調高deltaH threshold又會導致products過多,it's a trade off。 請後人考慮
另外就是有時候有一些products被過濾是因為form bond distance(預計生成的bond中經過arrange與openbabel constrained optimization後最長的距離),如果遇到也可以考慮調整(Default:6 angstrom)。
7.
2021/06/09 update:
曾經遇到過qmmm (SnBEA zeolite)不論如何計算都會有imaginary frequency(其值freq+opt之後都差不多),經過交叉比對發現是force field parameters的問題
本來打算使用別人train的Sn metal ff parameter但是由於這個值沒有在q-chem train過因此不能直接用,所以後來解決辦法是移除active site上面所有的atom type
也就是說 QM region = reactant + active site,只要是active site的atom type都設定為0,PS:有關lewis acid open site上面的proton也用0
8.
2021/6/20 update:
由於openbabel等軟體判斷carbonyl group與Sn metal center之間的bond並不是特別準確
因此以inchikey或者smiles等來判斷是否相同其實不是很合理
e.g.
active site smiles: [Sn][SiH3]@%$^%#&!#@!
reactant:OCC=CO
假設判斷有bond --> OCC=CO[Sn][SiH3]@%$^%#&!#@! 或者 [Sn][SiH3](OCC=CO)@%$^%#&!#@!
此時inchikey為 AAAAA-BBBBB-C
但是如果判斷沒有bond則為
smiles:OCC=CO.[Sn][SiH3]@%$^%#&!#@! 或者 [Sn][SiH3]@%$^%#&!#@!.OCC=CO
inchikey: QDQGQKOP-QERFQKJGQ-N
但實際上你看結構不一定能分辨出差異
目前irc_equal以smiles的reactant部份與inchikey作為判斷,對於qmmm結束後之結構並沒有確認其結構經過優化是否等同於irc forward and backward結構
實際上有遇到過上面的case導致結構相似但是卻判斷成不同inchikey導致下一個generation當成initial reactant時候發生問題
例如以irc當成下一輪reactant此時inchikey為A後續irc equal判斷則利用A 但是qmmm如果判斷B則後續irc equal則利用B
這邊的問題是 加入到reaction collection是用irc equal判斷 因此可能會導致network無法連結
9.
2021/06/27 update:
或許可以考慮ssm ts irc ircopt 從頭到尾都用gfn2-xtb沒問題的時候再用dft level + qmmm check
或者先用gfn2-xtb生成network