Ionic Structure
Relaxation:
Perform a simple structural minimization:
relaxation $structure $modification_1 $modification_2 ...
$structure refers to the base structure while $modification_n (optional) refers to additional moddifications to be added to the base structure (like addvacancy, addsubstitution, addadsorbate, etc. (see crystals, surfaces)).
Besides the ones found in Tags / Variables, the following INCAR tags will also be added to the INCAR file. You can also modify these as any other variable:
- IBRION - Default = 2 (*)
- EDIFFG - Default = -0.001 (*)
- NSW - Default = 100 (*)
- POTIM - Default = 0.5 (*)
- ISIF - Default = 3 (*)
(*) Notice how these defaults do not allways reflect the defaults as they are found in the VASP wiki.
You can also set the variable RELREPETITIONS (integer). It specifies how often relaxation should be repeated on sequential CONTCARs. - Default = 1 (one repetition)
At the end, if UPDATEVARIABLES=true, the values stored in structural variables (like VOLUME_$structure, C_A_RATIO_$structure, LAYER_HIGHTS_$structure, etc.) will be updated.
Phonon Dispersion Relation:
Calculate the phonon dispersion relation:
phonondispersion $structure $highsymmetrypath
$structure refers to the structure while $highsymmetrypath refers to a string containing the high symmetry points (gamma is refered to as G, a comma "," indicates a jump). If $highsymmetrypaths = "defaultpath" a default path that depends on the Bravais lattice is chosen. The default paths are as follows:
- FCC -> "G X U , K G L W X"
- BCC -> "G H P G N"
- CUB -> "G X M G R"
- HEX -> "G K M G"
Besides the ones found in Tags / Variables, the following INCAR tags will also be added to the INCAR file. These cannot be modified:
- LPHON_DISPERSION = .TRUE.
- IBRION = 6
- NSW = 1
- POTIM = 0.015
- ISIF = 2
Dont forget to use supercells. Also set EDIFF to a reasonably low value: EDIFF=1E-08. Also PREC=Accurate is recomended.
A gnuplot input file will also be prepared automatically: phonondispersion_gnup_$structure_$GGA
Elastic Constants:
Calculate the elastic constants:
elasticmoduli $structure
$structure refers to the structure in question.
Besides the ones found in Tags / Variables, the following INCAR tags will also be added to the INCAR file. These cannot be modified:
- IBRION = 6
- NSW = 1
- POTIM = 0.015
- ISIF = 3
Training Machine Learned Force Fields (MLFFs):
Train a force field on-the-fly in an MD simulation:
trainmlff $name1 $name2 $structure $modification_1 $modification_2
$name2 (string, no spaces) is an arbitrary name you assign to the output training data (ML_ABN, ML_FFN). $name1 (string, no spaces) on the other hand has to be set to "new" if training is started from scratch. Otherwise it refers to the assigned name of the input training data (ML_ABN file) on which training should be continued. $structure refers to the structure on which the MD simulation should be performed on. $modification_n refers to optional modifications that should be added to the base structure. (like addvacancy, addsubstitution, addadsorbate, etc. (see crystals, surfaces)).
Note that the output training data (ML_ABN, ML_FFN) will be stored in $MAINDIR/mlffs/$name2.
Besides the ones found in Tags / Variables, the following INCAR tags will also be added to the INCAR file. You can also modify these as any other variable:
- TEBEG - Default = 100 (*)
- TEEND - Default = 500 (*)
- NSW - Default = 100 (*) # Be sure to allways reset this one - 100 way too low for MLFF training!!!
- POTIM - Default = 0.5 (*) # Try to increase this one (2.0 is often a good choice).
- ISIF - Default = 3 (*) # isobaric-isothermal NpT, Langevin thermostat
- MDALGO - Default = 3 (*)
- LANGEVIN_GAMMA - Default = "1*5.0" (*)
- LANGEVIN_GAMMA_L - Default = "1*5.0" (*)
- ML_CTIFOR - Default = 0.002
- ML_ICRITERIA - Default = 1
- ML_MB - Default = 5000 (*)
- ML_MCONF - Default = 5000 (*)
- ML_RCUT1 - Default = 8.0 (*)
- ML_RCUT2 - Default = 5.0 (*)
These tags on the other hand will also be added but cannot be modified:
- IBRION = 0
- ML_LMLFF = .TRUE.
- ML_ISTART = 0 if $name1="new", 1 otherwise
ISYM will also be turned off automatically.
(*) Notice how these defaults do not allways reflect the defaults as they are found in the VASP wiki.
If the variable ADDASYMMETRY (true/false) is set to true (Default = true), a tiny asymetry will be added to the last atom in the POSCAR. This often facilitates sarting new training runs.
Three gnuplot input files will also be prepared automatically: mlff_forceerrors_gnup_$structure_$name2_$GGA, mlff_energyerrors_gnup_$structure_$name2_$GGA, mlff_stresserrors_gnup_$structure_$name2_$GGA.
Applying Machine Learned Force Fields (MLFFs):
Apply a machine learned force field that has been trained using the trainmlff function to an arbitrary task:
applymlff $name $task
The force field that shall be used is specified by $name, which refers to the name assigned to it while training. $task refers to any 23vaspAS task that shall be performed using said force field (for example phonondispersion sup_fcc defaultpath).
This function will copy the relevant ML_FF file and add the following tags to INCAR files:
- ML_LMLFF = .TRUE.
- ML_ISTART = 2
Energy-Volume Curves:
Build energy-volume, pressure-volume, and enthalpy-pressure curves:
energyvolumecurves "$structure_1 $structure_2 $structure_3 ..." $number $interval
$structure_n refers to the names of the structures whose energy-volume curves shall be computed. No modifications (addvacancy, addsubstitution, etc.) to these structures possible yet. At $number points around the value stored in $VOLUME_$structure_n (in the interval +-$interval %), the free energy is calculated using the function relaxation (for this particular relaxation, ISIF is automatically set to 4). If you prefer not to relax, just set NSW=0.
Three gnuplot input files will also be prepared automatically: energyvolumecurves_gnup_${GGA}, pressurevolumecurves_gnup_${GGA}, enthapypressurecurves_gnup_${GGA}
Murnaghan Equation of State:
Fit the Murnaghan equation of state (EOS):
fitmurnaghan $number $interval $structure $modification_1 $modification_2 ...
$structure refers to the structure whose energy-volume curves shall be fitted with the Murnaghan EOS. At $number points around the value stored in $VOLUME_$structure_n (in the interval +-$interval%), the free energy is calculated using the function relaxation (for this particular relaxation, ISIF is automatically set to 4). If you prefer not to relax, just set NSW=0.
The fit is done using gnuplot. It is thus mandatory to set the variable GNUPLOT to excecute this function.
A gnuplot input file will also be prepared automatically: fitmurnaghan_gnup_$structure_$GGA
At the end, if UPDATEVARIABLES=true, the value stored in VOLUME_$structure will be updated.
Birch-Murnaghan Equation of State:
Fit the Birch-Murnaghan equation of state (EOS):
fitbirchmurnaghan $number $interval $structure $modification_1 $modification_2 ...
$structure refers to the structure whose energy-volume curves shall be fitted with the Birch-Murnaghan EOS. At $number points around the value stored in $VOLUME_$structure_n (in the interval +-$interval%), the free energy is calculated using the function relaxation (for this particular relaxation, ISIF is automatically set to 4). If you prefer not to relax, just set NSW=0.
The fit is done using python and numpy rather than gnuplot. So setting GNUPLOT is not strictly necessary. However python and numpy must be installed.
A gnuplot input file will also be prepared automatically: fitbirchmurnaghan_gnup_$structure_$GGA
At the end, if UPDATEVARIABLES=true, the value stored in VOLUME_$structure will be updated.
...