init_bulk 参数设置
init_bulk param.json 设置
init_bulk 初始训练集制备,包含对构型(VASP、PWmat等格式)进行驰豫、阔胞、缩放、微扰和AIMD(支持 DFTB、PWMAT、VASP)设置。参数列表如下。
data_format
用于设置init_bulk 执行结束后的得到的数据格式,默认为扩展的xyz格式 extxyz。
reserve_work
是否保留临时工作目录,默认值为 false , 不保存。
interval
用于设置提取数据时,从轨迹中选取结构的间隔,即在轨迹中,每隔多少个结构选取一个构型,默认值为1。
sys_config_prefix
用于设置初始构型的路径前 缀,可选参数,与 sys_configs/config 配合设置。可以是绝对路径或者相对路径,相对路径为当前目录。
例子:"sys_config_prefix":"/data/structure", "config":"atom.config", 则 atom.config 的实际路径是 /data/structure/atom.config
sys_configs
设置构型的文件路径、驰豫(relax)、阔胞(super cell)、缩放晶格(scale)、微扰原子位置(pertub)、AIMD。完整的参数如下例所示。
config
设置构型的文件路径,如果设置了 sys_config_prefix 则进行路径拼接,否则使用 config 中设置的路径作为config路径。
format
设置构型的文件类型,支持 VASP 的 POSCAR 或者 PWMAT 的 atom.config 格式。如果是 POSCAR 文件,则值为 "vasp/poscar", 默认值为 "pwmat/config"。
relax
是否对 config 做驰豫,默认值为 "true"。
relax_input_idx
设置驰豫使用的控制文件,与 relax_input 配合使用,指定控制文件的位置,如 例子 中所示,使用 relax_input 中设置的 relax_etot1.input 文件作为 PWMAT 控制文件。默认值为0,即使用 relax_input 中的第一个文件作为控制文件。
super_cell
用于阔胞设置,可选参数,如不设置,则对结构不做阔胞。数据格式为 list,支持如下格式输入:[1, 1, 2] 或 [[1,0,0],[0, 2, 0],[0,0,1]] 或 [1,0,0,0, 2, 0,0,0,1]。
scale
用于对晶格的缩放设置,可选参数,如不设置,则对结构不做缩放。数据格式为 list,如 [0.9, 0.95,0.96, 0.97],表示对结构晶格分别进行 0.9, 0.95,0.96, 0.97 微扰,将得到四个微扰后的结构。
perturb
对结构的原子位置做扰动,配合 cell_pert_fraction 、atom_pert_distance 使用,perturb 值为扰动后生成的结构数量。可选参数,不设置则不做扰动。
cell_pert_fraction
对晶格的扰动。对 9 个晶格值分别加上从[-cell_pert_fraction,cell_pert_fraction]范围内的均匀分布中随机采样的值,默认值为 0.03。
atom_pert_distance
原子坐标的扰动(Angstrom)。对每个原子的三个坐标值,分别加上从 [-atom_pert_distance,atom_pert_distance] 范围内的均匀分布中随机采样的值。默认值为 0.01。
aimd
是否对结构做分子动力学模拟,默认值为 true。
aimd_input_idx
设置 AIMD 使用的控制文件,与 aimd_input 配合使用,指定控制文件的位置,如 例子 中所示,使用 aimd_input 中设置的 aimd_etot.input 文件作为 PWMAT 控制文件。默认值为0,即 使用 aimd_input 中的第一个文件作为控制文件。
bigmodel
是否使用大模型运行 MD,默认值为 False
bigmodel_input_idx
设置 bigmodel 使用的脚本,与 bigmodel_input 配合使用,指定脚本文件的位置。
direct
设置 是否使用 direct 方法筛选结构,默认值 False, 与 direct_input 配合使用,direct 为 True 时,必须在 direct_input 中指定 direct的 脚本文件所在位置。
sys_config 设置例子
"sys_config_prefix": "../../si_example/init_bulk",
"sys_configs": [{"config":"./structures/49.config",
"relax":true,
"_relax_input_idx":0,
"super_cell":[1, 1, 2],
"scale":[0.9,0.95],
"perturb":3,
"cell_pert_fraction":0.03,
"atom_pert_distance":0.01,
"aimd":true,
"_aimd_input_idx":0
},
{"config":"./structures/44_POSCAR",
"format":"vasp/poscar",
"relax":false,
"super_cell":[[1,0,0],[0, 2, 0],[0,0,1]],
"perturb":2,
"aimd":true,
"aimd_input_idx": 1
}
]
这里设置了49.config 和 44_POSCAR 两个结构,分别是 pwmat/config (默认格式)和 vasp/poscar格式。
- 对 49.config 操作如下:step1. 对 49.config 做 relax,使用的 relax 控制文件为
relax_input中的第一个文件;step2.对relax得到的结构,分别对晶格做0.9, 0.95缩放,缩放方式参考;step3. 对缩放后得到两个文件做晶格和原子位置微扰,各自微扰出3个结构,微扰方式参考;step4. 对微扰后得到的6个结构做 AIMD,使用的 md 控制文件为aimd_input中设置的第1个文件。init_bulk执行结束后将得到6条 AIMD 轨迹。 - 对 44_POSCAR 操作如下:step1. 对 49.config 做阔胞,按照 [1,0,0],[0, 2, 0],[0,0,1] 阔胞,阔胞方式参考;step2. 对阔胞后的结构做微扰;step3. 对微扰后得到的2个结构做 AIMD,使用的 md 控制文件为
aimd_input中设置的第2个文件。init_bulk 执行结束后将得到2条AIMD轨迹。
因此init_bulk执 行结束后将得到6条轨迹,之后会自动将轨迹提取为data_format中指定的文件格式。
dft_style
设置 Relax 和 AIMD 使用哪种DFT计算软件,默认值为 pwmat, 也支持 VASP格式,如果是 VASP 格式,则设置为 vasp。
pseudo
设置 PWMAT 或 VASP 赝势文件所在路径,为list格式,赝势文件路径可以为绝对路径或相对路径(相对于当前路径)。
gaussian_param
CP2K 或 PWMAT 高斯基组参数设置,
basis_set_file 和 potential_file 指定基组和势函数文件路径。
atom_list, basis_set_list, potential_list 配合使用,分别指定元素对应的基组和势函数设置。kspacing 用于设置 K点,用法与 PWMAT KSPACKING 设置 相同。
"gaussian_param": {
"basis_set_file":"./init_bulk/BASIS_MOLOPT_1",
"potential_file":"./init_bulk/POTENTIAL_1",
"atom_list":["Si"],
"kspacing" :0.4,
"basis_set_list":["SZV-MOLOPT-SR-GTH"],
"potential_list":["GTH-PBE-q4"]
}
relax_input
设置 Relax 的 输入控制文件。如果存在多个 relax 控制文件,则按照list 格式组织。详细的设置请参考下面的例子。