welcome: please sign in

Include all attachments?

location: bdfeasyinputdevguid

BDF easy input developing guide

Bdftaskflow

| read_bdf_simplified_input(inputfile)

| bdfenergy, bdfopt, pdfts, bdfscan

| Write input into a hide file named “.bdfinput” in BDF_TMPDIR directory

#

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关键词检查输入数据是否合法。

bdfdb.py中登记了bdf的模块,控制关键词,模块关键词等。

bdfinpdb -- 类型: python字典,键为BDF的模块名,每个键的值是个字典组成数组,字典数组的每个元素的键是模块关键词名,值为字典数组,定义默认值、可选值、类型、是否最小输入需添加的关键词、说明。 bdfinpdb["compass"] = {

这里,compass是BDF的模块名,compass中有两个关键词,分别为“title”和“geom”,每个关键词中键“value”,定义可选值,如 "value":[value1,value2], 其中第一个为默认值; “type”,关键词类型; “mini”,最小输入时是否添加到模块输入,“exclude”,是否与其他关键词相排斥,如果排斥,用列表给出关键词如: "exclude": ["key1","kye2"];"checkvalue",是否检查输入有效;"usage",关键词的说明。