Skip to content

Latest commit

 

History

History
83 lines (74 loc) · 4.02 KB

Relaxation-get-started-and-input-examples.md

File metadata and controls

83 lines (74 loc) · 4.02 KB

Relaxation get started and input examples

The relaxation of a structure should be carried out before calculating all other properties.

First, we need input parameter file and we name it relax.json here. All the relaxation calculations should be taken either by VASP, ABACUS, or LAMMPS. Here are two input examples for VASP and LAMMPS respectively.

An example of the input file for relaxation by VASP:

{
    "structures":            ["confs/std-*"],
    "interaction": {
            "type":           "vasp",
            "incar":          "vasp_input/INCAR",
            "potcar_prefix":  "vasp_input",
            "potcars":       {"Al": "POTCAR.al"}
	},
    "relaxation": {
            "cal_type":       "relaxation",
            "cal_setting":   {"relax_pos":       true,
                              "relax_shape":     true,
                              "relax_vol":       true,
                              "ediff":           1e-6,
                              "ediffg":         -0.01,
                              "encut":           650,
                              "kspacing":        0.1,
                              "kgamma":          false}
	}
}
Key words data structure example description
structures List of String ["confs/std-*"] path of different structures
interaction Dict See above description of the task type and atomic interaction
type String "vasp" task type
incar String "vasp_input/INCAR" path for INCAR file in vasp
potcar_prefix String "vasp_input" prefix of path for POTCAR file in vasp, default = ""
potcars Dict {"Al": "POTCAR.al"} key is element type and value is potcar name
relaxation Dict See above calculation type and setting for relaxation
cal_type String "relaxation" or "static" calculation type
cal_setting Dict See above calculation setting
relax_pos Boolean true relax atomic position or not, default = true for relaxation
relax_shape Boolean true relax box shape or not, default = true for relaxation
relax_vol Boolean true relax box volume or not, default = true for relaxation
ediff Float 1e-6 set EDIFF parameter in INCAR files
ediffg Float -0.01 set EDIFFG parameter in INCAR files
encut Int 650 set encut parameter in INCAR files
kspacing Float 0.1 set KSPACING parameter in INCAR files
kgamma Boolean false set KGAMMA parameter in INCAR files

An example of the input file for relaxation by LAMMPS:

{
    "structures":         ["confs/std-*"],
    "interaction": {
            "type":        "deepmd",
            "model":       "frozen_model.pb",
            "in_lammps":   "lammps_input/in.lammps",
            "type_map":   {"Al": 0}
	},
    "relaxation": {
            "cal_setting":{"etol": 0,
                           "ftol": 1e-10,
                           "maxiter": 5000,
                           "maximal": 500000}
	}
}

Other key words different from vasp:

Key words data structure example description
model String or List of String "frozen_model.pb" model file for atomic interaction
in_lammps String "lammps_input/in.lammps" input file for lammps commands
type_map Dict {"Al": 0} key is element type and value is type number. DP starts from 0, others starts from 1
etol Float 0 stopping tolerance for energy
ftol Float 1e-10 stopping tolerance for force
maxiter Int 5000 max iterations of minimizer
maxeval Int 500000 max number of force/energy evaluations

For LAMMPS relaxation and all the property calculations, package will help to generate in.lammps file for user automatically according to the property type. We can also make the final changes in the minimize setting (minimize etol ftol maxiter maxeval) in in.lammps. In addition, users can apply the input file for lammps commands in the interaction part. For further information of the LAMMPS relaxation, we refer users to minimize command.