TABLE OF CONTENTS


::pwtk::neb_plot

SYNOPSIS

proc ::pwtk::neb_plot {args} {

USAGE

   ::pwtk::neb_plot  ?-wp WITH?  ?-artn ACTIVATION_ENERGY?  ?-aw WITH?  ?PLOTTING-OPTIONS?  ?HEAD?

OPTIONS

PLOTTING OPTIONS

See ::pwtk::plot (N.B. the -u option is ignored)

ARGUMENT

DESCRIPTION

Plot the neb.x calculated MEP (minimum-energy path) along the reaction coordinate.

SOURCE

    if { [auto_execok gnuplot] == {} } {
        ::pwtk::error "[procName] requires gnuplot, but gnuplot was not found"
        return
    }
    
    ::pwtk::gp::defaultCmdlineOpts_ plot options usage workflow

    ignoredOpts_ -u $args

    addOpts_ options usage {
        {wp.arg   "Gnuplot's \"with\" splot specification for NEB energy points"}
        {artn.arg "the refined value of the activation energy calculated with the ARTn plugin"}
        {aw.arg   "Gnuplot's \"with\" plot specs for the ARTn activation-energy line"}
    } {
        {-wp WITH} {-artn ACTIVATION_ENERGY}  {-aw WITH}
    }
    setOpts_ options [subst {
        xl  {'Reaction coordinate (relative units)'}
        yl  {'{/${::pwtk::gp::gp(font)}-Italic E} ∠{/${::pwtk::gp::gp(font)}-Italic E}_{IS} (eV)'}
        xf  '%.1f'
        xt  0,0.2
        mx  4
        my  2
        xr  0:1
        wp  {p lt 1 lw 4 pt 7 ps 1.2}
        w   {l lt 2 lw 4}
        aw  {l lt 3 lw 4}
        t   eps
        artn {}
    }]
    #yf  '%.2f'

    set narg 1
    set usage "[fmtUsage_ $usage]  HEAD"
    parseOpt_
    ::pwtk::gp::checkCmdlineOpts_ opt
    set head $args

    if { $opt(artn) eq {} } {
        set plot $head
        print NEB "Plotting MEP along the reaction coordinate\n"
    } else {
        # N.B. the gnuplot file for ::pwtk::neb_refine_artn is artn.$head.gp
        set plot $head
        set head [::pwtk::trim_prefix artn $head]
        print NEB+ARTn "Plotting MEP along the reaction coordinate\n"
    }

    fileMustExist $head.dat "neb.x DAT file"
    fileMustExist $head.int "neb.x INT file"

    set gp [::pwtk::gp::plot new -s $opt(s) $plot.$opt(t)]

    $gp cmdlineOpts opt
    if { $opt(artn) eq {} } {
        $gp unset key
        $gp plot "'$head.int' w $opt(w), '$head.dat' w $opt(wp)"
    } else {
        # -artn option
        $gp set key opaque
        $gp plot "'$head.int' not w $opt(w), '$head.dat' t 'NEB' w $opt(wp), $opt(artn) t 'ARTn' w $opt(aw)"
    }

    return [::pwtk::gp::execDisplay_ $gp opt]
}