DFT+G batch calculations¶
Following the previous tutorial on DFT batch calculations, Here we present how to perform DFT+G batch calculations.
step a: initialize one calculation at the minimal volume point¶
Go to the folder V0 and initialize for DFT+G calculation. Type:
$ cd V0/case
$ ${WIEN_GUTZ_ROOT2}/init_ga.py
The response to the questions is listed below:
- Do you want to BREAK SPIN-SYMMETRY: n (keep spin-symmetry for paramagnetic phase)
- Do you want to COMPLETELY break orbital-symmetry: n (there are still site symmetries which reduces complexility)
- Do you want to take into account the SPIN-ORBIT interaction: y (as we have already added SOI in the previous tutorial)
- Do you want to take into account the CRYSTAL FIELD effect: y (use site symmetry)
- Please select the method to parametrize Coulomb U-matrix: 1 (Slater-Condo parametrization is the most widely used option and also a very good approximation for the real screened Coulomb matrix.)
- Please select method for U-interaction double counting: 12 (most stable option for Fully-localized-limit DC.)
- Symmetrically-equivalent atom indices: y
- atom 0 Ce
- Is this atom correlated: y
- Enter correlated shells: f (f-shell is selected as correlated orbitals)
- Please provide interaction parameters U,J: 6.0 0.7 (adjustable, but they are usually kept fixed.)
- Please provide initial guess of the number of localized f-electrons: 0.5 (estimate according to the valence)
- atom 1 O
- Is this atom correlated: n (not correlated for usual s(p)-bands.)
- Please select the method to solve G-RISB equations: 0 (recommended Modified Powell hybrid method)
- Please select the method to solve embedding Hamiltonian: -1 (valence truncation-based exact diagonalization)
If there are mistakes poping up, please consult an expert. Copy the main CyGutz input files to the template directory:
$ cp init_ga.slog ginit.h5 GPARAM.h5 case.indmfl ../../template/
step b: batch initialize DFT+G jobs¶
Type the following command to automitically initialize the series of DFT+G jobs:
$ ${WIEN_GUTZ_ROOT2}/stepin_wien_gutz.py batch_init_ga
The script simply copies the previously generated DFT+G initialization files (ginit.h5, GPARAM.h5 and case.indmfl) to each job directory.
step c: run a series of DFT+G calculations¶
Use the following command to directly run a series DFT+G calculations. (In case that it is preferable to submit these jobs to the clusters, one has to write own machine-dependent script.) Type:
$ ${WIEN_GUTZ_ROOT2}/stepin_wien_gutz.py batch_run_ga -p 4
It will use 4 processors to run 4 DFT+G jobs each time until all the jobs are done. Depending on machines, the whole jobs may take several hours or one day.
step d: save the DFT+G calculations¶
Save the DFT+G results by typing:
$ ${WIEN_GUTZ_ROOT2}/stepin_wien_gutz.py batch_gsave_u6.0j0.7
It will loop over all the job directories and save the main results to a subfolder named ‘’u6.0j0.7’’. Note here we use the u/j values in the DFT+G calculations to name the subfolder.
step d: energy-volume curve from DFT+G¶
We can easily check the energy vs volume curve by typing:
$ ${WIEN_GUTZ_ROOT2}/stepin_wien_gutz.py -ev u6.0j0.7
The figure is plotted in a pdf file ‘’ev_u6.0j0.7.pdf’’. The numerical data are also stored in metadata file ‘’results.h5’’. Get the pressure-volume curve by typing:
$ ${WIEN_GUTZ_ROOT2}/stepin_wien_gutz.py -pv u6.0j0.7
The energy-volume curve and pressure-volume curve from fitting to the Murnaghan equation of state are saved as ‘’u6.0j0.7_evfit.pdf’’ and ‘’u6.0j0.7_pvfit.pdf’’, the numerical results are also stored in the metadata file ‘’results.h5’’. By typing:
$ h5ls -r results.h5
you will see the new data:
/u6j0.7 Group
/u6j0.7/eosfit Group
/u6j0.7/eosfit/b0 Dataset {SCALAR}
/u6j0.7/eosfit/bp Dataset {SCALAR}
/u6j0.7/eosfit/e0 Dataset {SCALAR}
/u6j0.7/eosfit/e_list Dataset {129}
/u6j0.7/eosfit/p_list Dataset {129}
/u6j0.7/eosfit/v0 Dataset {SCALAR}
/u6j0.7/eosfit/v_list Dataset {129}
/u6j0.7/etot_list Dataset {13}