welcome: please sign in
location: Diff for "bdfeasyinput"
Differences between revisions 1 and 26 (spanning 25 versions)
Revision 1 as of 2019-11-07 11:43:23
Size: 4332
Editor: bsuo
Comment:
Revision 26 as of 2020-01-11 11:22:11
Size: 2427
Editor: bsuo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
BDF极简输入指南

<<TableOfContents()>>

= BDF输入文件的结构 =

BDF极简输入有四个功能块组成,如下:
{{{
 #!bdf.sh
 B3lyp/TDDFT/3-21G nroots=10

 geometry
 O 0.00000 0.00000 0.36937
 H 0.00000 -0.78398 -0.18468
 H 0.00000 0.78398 -0.18468
 end geometry

 $tddft
  itda
  1
 $tddft
}}}

== 第一输入块 ==
只有一行,以 “#!” 开始,后面为输入脚本名字,例如 #!ch2.bdf

== 第二输入块 ==
从第二行开始,至geometry行前一行结束。
这一输入块,可能由多行组成,是BDF的命令行控制行,用于指定BDF做什么计算任务,采用什么方法,命令行内容以空格作为间隔分开不同的关键词。
Line 3: Line 32:
BDF simplified input == 第三输入块 ==
本块输入几何结构,从 geometry行起始,到end geometry结束。几何结构可以按照直角坐标,内坐标,或指定xyz文件的形式输入。
注意,geometry域可以指定
1 简单分子结构输入。
2 通过指定xyz文件定义分子结构
3 简单内坐标模式
4 内坐标模式,定义势能面扫描
5 内坐标模式,定义冗余内坐标进行结构优化 5 定义分子片,支持FLMO,Onim等计算模式。
Line 5: Line 41:
BDF极简输入包括4部分 例1: 直角坐标形式输入几何结构
{{{
Geometry
O 0.00000 0.00000 0.36937
H 0.00000 -0.78398 -0.18468
H 0.00000 0.78398 -0.18468
End geometry
}}}
Line 7: Line 50:
第一行,以 “#!” 开始,后面为输入脚本名字,例如
#!ch2.bdf

第二行到以 geometry开始的行之前是BDF的命令行控制行,用于指定BDF做什么计算任务,采用什么方法,命令行内容以空格作为间隔分开不同的关键词。

第三部分为几何结构输入,从 geometry行起始,到end geometry结束。几何结构可以按照直角坐标,内坐标,或指定xyz文件的形式输入。
注意,geometry域可以指定 1 简单分子结构输入。2 通过指定xyz文件定义分子结构
3 简单内坐标模式 4 内坐标模式,定义势能面扫描 5 内坐标模式,定义冗余内坐标进行结构优化 5 定义分子片,支持FLMO,Oninm等计算模式。

例: 1直角坐标形式输入几何结构
Geometry
H. 0.00. 0.00 0.00
H. 0.00. 0.00 0.00
End geometry

2 内坐标形式输入
例2: 内坐标形式输入
{{{
Line 28: Line 57:
}}}
Line 29: Line 59:
例3: 内坐标形式输入
{{{
Line 37: Line 69:
}}}
Line 38: Line 71:
#H2O的坐标输入,势能面扫描,键长从0.75 开始,按照0.05 step,计算20个点。 例4: 内坐标形式输入,势能面扫描
H2O的坐标输入,势能面扫描,键长从0.75 开始,按照0.05 step,计算20个点。
{{{
Line 46: Line 81:
}}}
Line 47: Line 83:
End geometry后的行为第四个部分,与BDF的传统输入格式相同,用于精确控制各BDF计算模块的参数。这些参数将被加入BDF输入中,具有最高的控制优先级。 例5: 内坐标形式输入,势能面扫描
H2O的坐标输入,势能面扫描,键长从0.75 开始,按照0.05 step,计算20个点。SCF通过Read获取初始猜测轨道。
{{{
#! h2o.sh
B3lyp/3-21G Scan Guess=read
Line 49: Line 89:
Geometry
O
H 1 R1
H. 1 R1 2 A1
Line 50: Line 94:
BDF simplified input 处理流程 A1 = 109.0
Line 52: Line 96:
Bdftaskflow
    |
read_bdf_simplified_input(inputfile)
    |
bdfenergy, bdfopt, pdfts, bdfscan
    |
Write input into a hide file named “.bdfinput” in BDF_TMPDIR directory
R1 0.75 0.05 20
End geometry
}}}
Line 60: Line 100:
#

1 python函数 read_bdf_simplified,用于读输入文件,返回字典 bdfcontrol, userinput, geom
bdfcotrol包含的键 pecmethod,energymethod, xcfun, basis, keywordlist
pecmethod, pecmethod,energymethod, xcfun, basis, 允许的键值分别定义
在bdfdb.py中的相关列表中
另外的键 nuclearcharge,charge, spin 分别定义总原子核电荷,电荷和自旋多重度,其中charge和spin用于定波函数,spin=2S+1

userinput 中返回用户在第四个输入域中输入的BDF个计算模块的控制参数,将被直接插入BDF个模块输入,userinput的控制参数具有最高的优先级,可以覆盖程序默认的参数。

geom返回几何结构信息。

2 bdfenergy产生BDF能量计算任务的输入,并返回到列表inputli中,runlist返回BDF给定能量计算任务所调用的模块顺序,

bdfenergy(method,geom,basis,keywords,userinput)
参数method指定能量计算方法,SCF,TDDFT,MCSCF,MP2等
Geom 分子结构
basis 基组
keywords 用户在BDF输入中指定的关键词及其值,所许可的关键词定义在bdfdb.py中的bdfcontrlkeys中。这些关键词可能用于控制BDF计算模块的参数,也可控制计算流程。
Userinput 是用户定义的高级输入,将被直接插入BDF输入文件。
  

bdfenergy的处理流程
1 确定runlist
2 根据runlist产生最小输入文件,插入默认关键词及值
3 在compass中插入几何结构,基组
4 根据具体计算任务插入或删除默认关键词
5 根据BDF输入第二部分控制域关键词修改runlist中相应计算模块的关键词
6 根据userinput插入用户定义的控制关键词, 注意,userinput最后处理,所有有最高的控制优先级。

BDF输入类 class_bdfmoduleinp
BDF的输入处理采用了面向对象的编程思想,类class class_bdfmoduleinp的数据段为字典input,字典input的键对应着BDF计算模块控制关键词,键值是关键词的值。

class_bdfmoduleinp的操作有:
init_bdfmoduleinp操作,对每个BDF的计算模块,class_bdfmoduleinput在初始化时产生该模块的默认输入集合,默认关键词与值在bdfdb.py中的字典bdfinpdb中定义。

ResetKeywords操作,重新初始化本模块的输入
AddKeywords操作, 插入关键词及值,如果关键词已存在,用新值覆盖旧值,本操作通过调用SetKeywordValue操作实现。

DeleteKeyword 操作, 删除指定关键词

SetKeywordValue 操作, 设置关键词及值,注意:这个操作会根据已登记的BDF关键词检查输入数据是否合法。
== 第四输入块 ==
End geometry行后的所有行为第四个部分,与BDF的传统输入格式相同,用于精确控制各BDF计算模块的参数。这些参数将被加入BDF输入中,具有最高的控制优先级。

BDF极简输入指南

BDF输入文件的结构

BDF极简输入有四个功能块组成,如下:

 #!bdf.sh
 B3lyp/TDDFT/3-21G nroots=10

 geometry 
 O  0.00000   0.00000    0.36937
 H  0.00000  -0.78398   -0.18468 
 H  0.00000   0.78398   -0.18468 
 end geometry 

 $tddft
  itda
  1
 $tddft

第一输入块

只有一行,以 “#!” 开始,后面为输入脚本名字,例如 #!ch2.bdf

第二输入块

从第二行开始,至geometry行前一行结束。 这一输入块,可能由多行组成,是BDF的命令行控制行,用于指定BDF做什么计算任务,采用什么方法,命令行内容以空格作为间隔分开不同的关键词。

第三输入块

本块输入几何结构,从 geometry行起始,到end geometry结束。几何结构可以按照直角坐标,内坐标,或指定xyz文件的形式输入。 注意,geometry域可以指定 1 简单分子结构输入。 2 通过指定xyz文件定义分子结构 3 简单内坐标模式 4 内坐标模式,定义势能面扫描 5 内坐标模式,定义冗余内坐标进行结构优化 5 定义分子片,支持FLMO,Onim等计算模式。

例1: 直角坐标形式输入几何结构

Geometry
O  0.00000   0.00000    0.36937
H  0.00000 -0.78398   -0.18468 
H  0.00000   0.78398   -0.18468 
End geometry

例2: 内坐标形式输入

Geometry
O
H  1   0.9
H. 1   0.9. 2. 109.0
End geometry

例3: 内坐标形式输入

Geometry
O
H  1   R1
H. 1   R1.  2  A1

R1 = 0.9
A1 = 109.
End geometry

例4: 内坐标形式输入,势能面扫描 H2O的坐标输入,势能面扫描,键长从0.75 开始,按照0.05 step,计算20个点。

Geometry
O
H  1   R1
H. 1   R1  2  109

R1. 0.75 0.05 20
End geometry

例5: 内坐标形式输入,势能面扫描 H2O的坐标输入,势能面扫描,键长从0.75 开始,按照0.05 step,计算20个点。SCF通过Read获取初始猜测轨道。

B3lyp/3-21G Scan Guess=read

Geometry
O
H  1   R1
H. 1   R1  2  A1

A1 = 109.0

R1 0.75 0.05 20
End geometry

第四输入块

End geometry行后的所有行为第四个部分,与BDF的传统输入格式相同,用于精确控制各BDF计算模块的参数。这些参数将被加入BDF输入中,具有最高的控制优先级。

bdfeasyinput (last edited 2020-08-16 04:59:35 by bsuo)