TABLE OF CONTENTS


22-artn

DESCRIPTION

This example shows how to perform ARTN-aware pw.x calculation with PWTK. The system considered is a vacancy in Al bulk.

BEWARE

For this example, QE needs to be compiled with the ARTN plugin enabled.

EXAMPLE SOURCE FILE

artn.pwtk

SOURCE

# the pw.x input data are imported from Al-vacancy.pwtk with ::pwtk::import
import Al-vacancy.pwtk


# ARTN input data

ARTN_PARAMETERS {
    engine_units = 'QE'
    verbose = 2

    ninit = 3

    forc_thr = 1.0d-3
    push_step_size = 0.3

    !! parameters for the push
    push_mode = 'list'
    ! define which atoms are to be pushed and the constraints ...
    push_ids = 1
    push_add_const(1,1) = 1.0
    push_add_const(2,1) = 0.0
    push_add_const(3,1) = 1.0
    push_add_const(4,1) = 0.0

    !! lanczos parameters
    lanczos_disp = 0.1D-1 
    lanczos_max_size = 16

    !! eigenpush parms
    eigval_thr = -0.005 
    eigen_step_size = 0.3
    lpush_final = .true.
}

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

artn on

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

runPW relax.Al-vacancy.w-artn

# when the ARTN plugin is activated, a restart of pw.x calculation
# with ::pwtk::rerunPW correcly handles also the ARTN restart,
# i.e., PWTK knows that ARTN_PARAMETERS { lrestart = .true. } is needed

rerunPW relax.Al-vacancy.w-artn_restarted