banner
𝖀𝖓𝖘𝖊𝖕𝖙𝖚𝖓𝖎𝖚𝖒

Autoopt (for ORCA)

Scroll down

Autoopt (for ORCA)

如果opt遇到虚频则调用orca_pltvib向虚频方向调整结构,然后继续opt,直到没有虚频

也可以使用ORCA的Compound Methods实现,见手册9.47 (ORCA 5.0.3) 我试了半天一直报错

食用方法: 更改orca_path,将opt,freq任务的ORCA输入文件命名为1.inp
如果遇到虚频将会创建2.inp继续优化

封面为直线$D_{ih}$ F3$^{+}$在B3LYP/def2-TZVP下优化
1.inp $\to$ 2.inp $\to$ 3.inp
$D_{ih} \to C_{ih} \to C_{2v}$
可视化使用VSCode插件Protein Viewer (mol*的VSCode版)

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
n=2   # 取orca_pltvib的第多少帧


# orca路径
orca_path=/home/usu171/downloads/orca_5_0_4

i=1
while true
do

$orca_path/orca $i.inp |tee $i.out

a=$(grep "\*\*\*imaginary mode\*\*\*" $i.out | head -1 | awk '{sub(/:/, "");print $1}')
if [ -n "$a" ]; then
$orca_path/orca_pltvib $i.hess $a


xyzfilename=$i.hess.v00$a.xyz

number=$(awk '{print $1}' $xyzfilename | head -1)

startline=$((3 + ( $n - 1 )*( $number + 2 )))
endline=$((startline + number - 1))

sed -n "${startline},${endline-1}p" $xyzfilename | awk '{print $1,$2,$3,$4}' > temp.txt


j=$((i+1))
cp $i.inp $j.inp

new_startline=$(grep -nE '\*\s+xyz' $i.inp | head -1 | awk -F : '{print $1}')
new_endline=$((new_startline + number))
new_startline=$((new_startline + 1))

sed -i -e "${new_startline}r temp.txt" -e "${new_startline},${new_endline}d" $j.inp

rm temp.txt
i=$((i+1))
else
break
fi

done

F3$^{+}$输入文件

1
2
3
4
5
6
7
8
! B3LYP D3 def2-TZVP def2/J RIJCOSX opt freq tightSCF noautostart miniprint nopop
%maxcore 1000
%pal nprocs 8 end
* xyz 1 1
F 1.4 0 0
F 0 0 0
F -1.4 0 0
*
其他文章
  1. 1. Autoopt (for ORCA)
请输入关键词进行搜索