TABLE OF CONTENTS


::pwtk::vc-relax_fromXSF

SYNOPSIS

proc ::pwtk::vc-relax_fromXSF {engine args} {

USAGE

   vc-relax_fromXSF engine [options] xsfFile

 more specifically:
 
   vc-relax_fromXSF engine ?-npass npass?  ?-fix_first n?  ?-fix_last n?  ?-fix fixIndexList?  ?-fix_string fixString? \
                           ?-head headName?  ?-cell? xsfFile

PURPOSE

Load the structure from the XSF file and make a pw.x or cp.x 'vc-relax' calculation, depending on the 'engine' specs, i.e.:

OPTIONS

For the description of other options, see ::pwtk::run_fromXSF

SIDE EFFECTS

"calculation", "prefix", "outdir_postfix", and "nat" are set to appropriate values.

RETURN VALUE

The name of the output file, i.e. vc-relax.$head.out

SOURCE

    # check the engine argument
    engine_
    
    # strip the "-npass value" specs from $args
    set options {
        {npass.arg  1  "number of consecutive vc-relax runs for a given case"}
    }
    array set opt [::cmdline::getKnownOptions args $options]
    checkOTypeStrict_ -npass $opt(npass) {number posint} "positive integer"

    # printout for npass > 1
    vc-relaxPrintout_

    # run the 1st calc
    ::pwtk::print "Setting calculation = 'vc-relax'\n"
    CONTROL " calculation = 'vc-relax' "
    IONS ""
    CELL ""
    set out [eval run_fromXSF $engine $args]

    # run subsequent calcs
    vc-relaxSubsequent_

    return $out
}