«

OpenMolcas提取inporb轨道的问题

叫个啥名字 发布于 阅读:424 linux


2022.5.18注:inporb与molden仅排序不同,基函数相同。

标量相对论计算使用Cartesian基函数,会出现数值不稳定,所以在标量相对论计算中只能使用球谐函数。

OpenMolcas的molden格式使用球谐函数(5D 7F),至于inporb的格式不太清楚,应该也是球谐函数(5D 7F)。源程序中有体现:rdvec是从文件里读取数据到数组(read vector)、wrvec是写入到文件(write vector)。

源程序太长,结合Multiwfn以及MOKIT可以完美转换inporb为fch。

#!/bin/bash
moldenname_molden=`ls *.guessorb.molden`   
moldenname=${moldenname_molden%.*}
inporb=$1
echo -e "100\n2\n7\n$moldenname.fch\n0\nq" | Multiwfn $moldenname.molden    -isilent    #将含有坐标基组等信息的molden转为fch作为模板
mv $moldenname.fch $inporb.fch              
orb2fch $inporb $inporb.fch            #将inporb转为               

用Multiwfn读入球谐函数的fch或molden时,把settings.ini里的iloadasCart设为1,则载入后将处于笛卡尔型基函数状态,之后可以用Multiwfn导出成笛卡尔基函数的fch或molden等文件。

Gaussian 对于3-21G、6-31G系列等少数基组,Gaussian默认用笛卡尔型D基函数,而对>=F角动量的默认用球谐型(6D,7F); 对于6-311G系列、def2系列、cc-pVnZ等系列,以及用gen的时候,Gaussian默认用球谐型(5D, 7F).
在Gamess中,默认使用笛卡尔函数,即(6D,10F,15G,21H);
在PySCF中,默认使用球面波函数,即(5D,7F,9G,11H);
在 ORCA 中,仅支持球面波函数。

NWChem中,无论输入啥基组,都默认用笛卡尔。

请先 登录 再评论