TABLE OF CONTENTS


23-oscdft

DESCRIPTION

This example shows how to perform OSCDFT-aware pw.x calculation with PWTK. The system considered is the anatase TiO2 bulk (this example is taken from the QE's test-suite/oscdft_pw/).

EXAMPLE SOURCE FILE

oscdft.pwtk

BEWARE

For this example, QE needs to be compiled with the OSCDFT plugin enabled (e.g., by adding -D__OSCDFT to DFLAGS in QE's make.inc).

SOURCE

# the pw.x input is imported from scf.anatase.in
# with ::pwtk::pwi::load_fromPWI
load_fromPWI scf.anatase.in


# OSCDFT input data

OSCDFT {
    warm_up_niter = 5
    convergence_type = 'gradient'
    optimization_method = 'gradient descent'
    iteration_type = 0
    min_conv_thr = 0.1
    max_conv_thr = 0.5
    final_conv_thr = 0.001
    conv_thr_multiplier = 0.9
    print_occupation_matrix = .true.
    print_occupation_eigenvectors = .true.
    min_gamma_n = 0.5
    get_ground_state_first = .false.
    n_oscdft = 2
    debug_print = .true.
}
TARGET_OCCUPATION_NUMBERS {
    T 1 2(3d) 5 0.9758 0.0
    F 2 2(3d)
}


# the OSCDFT plugin is activated with ::pwtk::oscdft, i.e.,
# "oscdft on" activates and "oscdft off" deactivates the OSCDFT plugin

oscdft on


# the OSCDFT aware pw.x calculation can now be performed with ::pwtk::runPW

runPW scf.TiO2-anatase