TABLE OF CONTENTS


::pwtk::auto_neb

SYNOPSIS

proc ::pwtk::auto_neb {args} {

USAGE

   auto_neb ?-noCI_thr THRESHOLD?  ?-CI_thr THRESHOLD?  ?-onlyCI?  head  

PURPOSE

Perform no-CI + auto-CI NEB calculations.

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 = 'auto' using a full-precision threshold.

OPTIONS

ARGUMENTS

SIDE EFFECTS

"prefix" and outdir_postfix are set to "head", whereas all other modifications are poped away after complition because both calculations are performed with input_pushpop.

SOURCE

    variable noCI_path_thr
    variable neb_options
    
    set narg 1
    set options $neb_options
    set usage "?-noCI_thr threshold?  ?-CI_thr threshold?  ?-onlyCI?  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"
    set head [::pwtk::headname $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 auto CI-NEB
        PATH {
            CI_scheme  = 'auto'
        }
        ifnotempty opt(CI_thr) {
            PATH " path_thr = $opt(CI_thr) "
        }
        runNEB neb.$head.auto
    }
}