TABLE OF CONTENTS


::pwtk::manual_neb

SYNOPSIS

proc ::pwtk::manual_neb {args} {

USAGE

   ::pwtk::manual_neb  ?-noCI_thr THRESHOLD?  ?-CI_thr THRESHOLD?  ?-CI CI_LIST?  ?-onlyCI?  ?-artn?  HEAD

PURPOSE

Perform no-CI + manual-CI NEB calculations, and plot the resulting energy profile along MEP (minimum-energy path).

First, the "no-CI" NEB is performed up to a reduced threshold to stabilize the minimum-energy path and then CI-NEB is restarted with CI_scheme = 'manual' using a full-precision threshold.

After the NEB calculations are finished, the activation energy can be refined with the ARTn plugin by specifying the -artn option (it requires QE compiled with the ARTn plugin enabled). For ARTn, if the ARTN_PARAMETERS namelist is undefined or empty, PWTK uses its default (stored in $::pwtk::default_ARTN_PARAMETERS).

OPTIONS

ARGUMENTS

SIDE EFFECTS

"prefix" and outdir_postfix are set to HEAD, whereas all other modifications are popped away after completion because both calculations are performed with input_pushpop.

SOURCE

    variable noCI_path_thr
    variable neb_options

    print NEB "no-CI + manual-CI NEB calculation\n"

    set narg 1
    set options [concat $neb_options {
        {CI.arg   {} "list of climbing images for the CLIMBING_IMAGES card"}
    }]
    set usage "?-noCI_thr THRESHOLD?  ?-CI_thr THRESHOLD?  ?-CI CI_LIST?  ?-onlyCI?  ?-artn?  HEAD"
    ::pwtk::parseOpt_
    ::pwtk::checkOType_ -noCI_thr $opt(noCI_thr) {number posreal} "positive real number"
    ::pwtk::checkOType_ -CI_thr   $opt(CI_thr)   {number posreal} "positive real number"
    ::pwtk::checkOType_ -CI       $opt(CI)    {numberlist posint} "list of positive integer numbers"
    set head $args

    ifset opt(noCI_thr) $noCI_path_thr

    outdir_postfix $head
    CONTROL " prefix = '$head' "

    ::pwtk::input::pushpop {
        # 1. run no-CI NEB
        if { ! $opt(onlyCI) } {
            ::pwtk::input::pushpop {
                PATH "
                   CI_scheme = 'no-CI'
                   path_thr  = $opt(noCI_thr)
                "
                runNEB neb.$head.no-CI
            }
            PATH {
                restart_mode = 'restart'
            }
        }

        # 2. run manual CI-NEB
        PATH {
            CI_scheme    = 'manual'
        }
        ifnotempty opt(CI_thr) {
            PATH " path_thr = $opt(CI_thr) "
        }
        ifnotempty opt(CI) {
            CLIMBING_IMAGES $opt(CI)
        }
        runNEB neb.$head.manual

        # 3. plot MEP
        neb_plot $head

        # 4. ARTn refinement of the activation energy
        if { $opt(artn) } {
            neb_refine_artn $head
        }
    }
}