Skip to main content
Version: Next

init_bulk Parameters

init_bulk param.json Configuration​

init_bulk prepares an initial training set by applying relaxation, supercell construction, scaling, perturbation, and AIMD to structures in formats such as VASP and PWmat. AIMD supports DFTB, PWmat, and VASP. The parameters are described below.

data_format​

Sets the output data format after init_bulk completes. The default is extended XYZ (extxyz).

reserve_work​

Whether to retain temporary working directories. The default is false.

interval​

Sets the interval for extracting structures from trajectories. A value of N selects every N-th structure. The default is 1.

sys_config_prefix​

Optional path prefix for initial configurations, used together with sys_configs/config. It may be absolute or relative to the current directory.

Example: with "sys_config_prefix":"/data/structure" and "config":"atom.config", the resolved path is /data/structure/atom.config.

sys_configs​

Configures structure paths, relaxation, supercell construction, lattice scaling, atomic-position perturbation, and AIMD. A complete example appears below.

config​

Sets the structure-file path. If sys_config_prefix is set, the prefix and config are joined; otherwise, the value of config is used directly.

format​

Sets the structure format. Supported values are VASP POSCAR ("vasp/poscar") and PWmat atom.config ("pwmat/config", the default).

relax​

Whether to relax the configuration. The default is true.

relax_input_idx​

Selects the relaxation control file from relax_input. The default is 0, selecting the first file. For example, an index may select relax_etot1.input as the PWmat control file.

super_cell​

Optional supercell setting. If omitted, no supercell is created. Accepted list forms include [1, 1, 2], [[1,0,0],[0,2,0],[0,0,1]], and [1,0,0,0,2,0,0,0,1].

scale​

Optional lattice-scaling list. For example, [0.9, 0.95, 0.96, 0.97] produces four structures by multiplying the lattice by each factor. If omitted, no scaling is applied.

perturb​

Sets the number of perturbed structures generated using cell_pert_fraction and atom_pert_distance. If omitted, no perturbation is applied.

cell_pert_fraction​

Perturbs each of the nine lattice components by a value sampled uniformly from [-cell_pert_fraction, cell_pert_fraction]. The default is 0.03.

atom_pert_distance​

Perturbs atomic coordinates in ångströms. Each coordinate is shifted by a value sampled uniformly from [-atom_pert_distance, atom_pert_distance]. The default is 0.01.

aimd​

Whether to run molecular dynamics on the structure. The default is true.

aimd_input_idx​

Selects the AIMD control file from aimd_input. The default is 0, selecting the first file. For example, an index may select aimd_etot.input as the PWmat control file.

bigmodel​

Whether to run MD with a foundation model. The default is false.

bigmodel_input_idx​

Selects the foundation-model script from bigmodel_input.

direct​

Whether to select structures with DIRECT. The default is false. When direct is true, direct_input must specify the DIRECT script.

sys_config Example​

    "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
}
]

This example configures 49.config in the default pwmat/config format and 44_POSCAR in vasp/poscar format.

  • For 49.config: Step 1 relaxes the structure with the first file in relax_input. Step 2 scales the relaxed lattice by 0.9 and 0.95; see lattice scaling. Step 3 applies lattice and coordinate perturbations to each scaled structure, generating three variants from each; see perturbation. Step 4 runs AIMD on the resulting six structures using the first file in aimd_input. The workflow produces six AIMD trajectories.
  • For 44_POSCAR: Step 1 creates a supercell with [[1,0,0],[0,2,0],[0,0,1]]; see supercell construction. Step 2 perturbs the supercell. Step 3 runs AIMD on the two perturbed structures using the second file in aimd_input. The workflow produces two AIMD trajectories.

After init_bulk completes, trajectories are automatically extracted into the format specified by data_format.

dft_style​

Sets the DFT software used for relax and AIMD. The default is pwmat; use vasp for VASP.

pseudo​

List of PWmat or VASP pseudopotential files. Paths may be absolute or relative to the current directory.

gaussian_param​

Gaussian-basis parameters for CP2K or PWmat. basis_set_file and potential_file specify basis-set and potential files. atom_list, basis_set_list, and potential_list map elements to basis sets and potentials. kspacing configures k-points in the same way as the PWmat kspacing setting.

"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​

Sets relaxation control files. Use a list when multiple files are provided. See the examples below.

aimd_input​

Sets AIMD control files. Use a list for multiple files; a dictionary is also accepted for a single file.

input​

Sets the input-control-file path, either absolute or relative to the current directory.

kspacing​

Optional PWmat k-point setting. Use it only when MP_N123 is absent from etot.input; configuring both causes an error.

If neither MP_N123 nor kspacing is set, kspacing defaults to 0.5.

Do not set MP_N123 and kspacing simultaneously.

flag_symm​

Optional PWmat symmetry setting. The default is 0 for relaxation or SCF and 3 for AIMD.

bigmodel_input​

Sets foundation-model scripts. Use a list for multiple scripts.

For interface configuration, see the si_direct_bigmodel example.

direct_input​

Sets the DIRECT sampling script as a single file path.

For interface configuration, see the si_direct_bigmodel example.

Complete Example​

    {
"reserve_work": true,
"sys_configs":[{
"config":"atom.config",
"relax":true,
"relax_input_idx":1,
"super_cell":[1, 1, 2],
"scale":[0.9,0.95],
"perturb":20,
"cell_pert_fraction":0.03,
"atom_pert_distance":0.01,
"aimd":true,
"aimd_input_idx":0
}],

"dft_style":"PWmat",
"pseudo" : ["/path/Si.SG15.PBE.UPF"],

"relax_input":[{
"input":"relax_etot.input",
"kspacing":0.5,
"flag_symm":"0"
},{
"input":"relax_etot1.input",
"kspacing":0.3,
"flag_symm":"0"
},{
"input":"relax_etot2.input",
"kspacing":0.4,
"flag_symm":"0",
"_flag":"One integer: 0 for relax or SCF, 3 for AIMD, and 2 for magnetic systems"
}],

"aimd_input":[{
"input":"aimd_etot.input",
"kspacing":0.5,
"flag_symm":"3"
},{
"input":"aimd_etot1.input",
"kspacing":0.5,
"flag_symm":"3"
}]
}

The configuration above:

  • Relaxes atom.config.
  • Creates a (1,1,2) supercell.
  • Scales the supercell lattice by 0.9 and 0.95.
  • Perturbs atomic positions in each scaled structure, generating 20 structures from each.
  • Runs AIMD on the 40 perturbed structures.
  • Extracts the AIMD trajectories automatically into PWdata as pretraining data.

relax_input and aimd_input​

kspacing and flag_symm configure PWmat k-points when MP_N123 is absent from etot.input. If MP_N123 is already present, relax_input and aimd_input can be abbreviated as follows:

    "relax_input":[
"relax_etot.input",
"relax_etot1.input",
"relax_etot2.input"
],

"aimd_input":[
"aimd_etot.input"
"aimd_etot1.input"
]

If every structure in sys_configs uses the same relaxation or AIMD input, abbreviate the parameters further:

    "relax_input":"relax_etot.input",
"aimd_input": "aimd_etot.input"

In this case, omit relax_input_idx and aimd_input_idx from sys_configs:

    "sys_configs":[{
"config":"atom.config",
"relax":true,
"super_cell":[1, 1, 2],
"scale":[0.9,0.95],
"perturb":20,
"cell_pert_fraction":0.03,
"atom_pert_distance":0.01,
"aimd":true
}]

PWmat Examples​

Set PWmat k-points with MP_N123 in the control file:

    "dft_style":"PWmat",
"relax_input":["relax-agau-etot.input", "relax_ag-etot.input", "relax_au-etot.input"],
"aimd_input": ["aimd_agau-etot.input", "aimd_ag-etot.input", "aimd_au-etot.input" ],
"pseudo" : ["../Ag.SG15.PBE.UPF", "../Au.SG15.PBE.UPF"]

Or set PWmat k-points with kspacing:

    "dft_style":"PWmat",
"relax_input":[{
"input":"relax_etot0.input",
"kspacing":0.5,
"flag_symm":"0"
},{
"input":"relax_etot1.input",
"kspacing":0.3,
"flag_symm":"0"
},{
"input":"relax_etot2.input",
"kspacing":0.4,
"flag_symm":"0",
"_flag":"One integer: 0 for relax or SCF, 3 for AIMD, and 2 for magnetic systems"
}],

"aimd_input":[{
"input":"aimd_etot0.input",
"kspacing":0.5,
"flag_symm":"3"
},{
"input":"aimd_etot1.input",
"kspacing":0.5,
"flag_symm":"3"
}],
"pseudo" : ["../Ag.SG15.PBE.UPF", "../Au.SG15.PBE.UPF"]

PWmat Gaussian-basis example:

    "dft_style":"PWmat",
"relax_input":["relax_etot.input", "relax_etot1.input","relax_etot2.input"],
"aimd_input": ["aimd_etot1.input", "aimd_etot2.input"],
"gaussian_param": {
"basis_set_file":"./BASIS_MOLOPT_1",
"potential_file":"./POTENTIAL_1",
"atom_list":["Si"],
"basis_set_list":["SZV-MOLOPT-SR-GTH"],
"potential_list":["GTH-PBE-q4"]
}

VASP Example​

    "dft_style":"vasp",
"relax_input":["INCAR_relax_AgAu", "INCAR_relax_Ag", "INCAR_relax_Au"],
"aimd_input": ["INCAR_md_AgAu", "INCAR_md_Ag", "INCAR_md_Au" ],
"pseudo" : ["../Ag_POTCAR", "../Au_POTCAR"]

CP2K Example​

    "dft_style":"cp2k",
"gaussian_param": {
"basis_set_file":"../BASIS_MOLOPT_1",
"potential_file":"../POTENTIAL_1",
"atom_list":["Ag", "Au"],
"basis_set_list":["SZV-MOLOPT-SR-GTH-q11", "SZV-MOLOPT-SR-GTH-q11"],
"potential_list":["GTH-PBE", "GTH-PBE"],
"kspacing":0.5
},
"aimd_input":["aimd_cp2k_AgAu.inp", "aimd_cp2k_Ag.inp", "aimd_cp2k_Au.inp"],
"relax_input":["relax_cp2k_AgAu.inp", "relax_cp2k_Ag.inp", "relax_cp2k_Au.inp"]