AFIRサンプル

GRRM linked with MOLPRO2015

GRRM linked with MOLPRO2015
Yasuhiro Shigemitsu June 25, 2019, 11:45 a.m. #75

Dear GRRM developers,

I'm trying to use GRRM17 combined with MOLPRO2015 but the combination does not work.  The GRRM tutorial reads that the version 2006, 2008,2010,2012 were successfully tested with GRRM. Kind helps or information would appreciated to use the combination, GRRM17 plus MOLPRO2015.

Best regards,

Yasuhiro Shigemitsu

  • GRRM17 linked with Molpro 2015 or later
    Kenichiro Saita

    GRRM17 does not recognize the keyword "%link=molpro2015" or later.  Consequently, GRRM17 is officially compatible with Molpro 2006, 2008, 2010, and 2012. However, you can use Molpro 2015 or later at your own risk.

     

    With Molpro 2015: 

    Whereas we have not fully tested Molpro2015 jobs, the formats of output files of Molpro 2015 seems to be the same as those of Molpro2012, and GRRM17 will work with Molpro2015 by using the link keyword "%link=molpro2012". 

     

    With Molpro 2018 or later: 

    GRRM17 knows a Molpro job has been terminated normally if the string "Variable memory released" is appeared in the Molpro output file (XXX_MolJOB.out), because Molpro2015 or earlier prints the string in the last line of the output. But, Molpro2018 or later uses "Molpro calculation terminated" instead of "Variable memory released". Thus, GRRM17 will never understand the termination of the Molpro2018 (or later) calculation, and then GRRM17 program will stop with an error.  This issue will be evaded by using the TEXT card in Molpro input. For example: 

    Molpro Input
    BASIS=6-311+G(d,p)

    {MCSCF,maxit=39,GRADIENT=1.d-8
    {ITERATIONS;DO,UNCOUPLE,11,TO,39;}
    START,*
    ORBITAL,*
    Occ,12;
    Closed,4;
    WF,16,1,0;
    STATE,2;}

    {RS2,Mix=2,Root=2,SHIFT=0.3,MaxIt=99,MaxIti=999;
    ORBITAL,IGNORE_ERROR;
    WF,16,1,0;
    STATE,2;}

    FORCE;
    IF(STATUS.LT.0) STOP
    $STR='Variable memory'
    TEXT,$STR released
    ---
    RSPT2 STATE 2.1
    END

    We are aware of another issue; the format of the punch file (XXX_moljob.pun) is different from that of Molpro2015 or earlier, then GRRM17 cannot read the energies from the punch file. This issue will be evaded by setting "submol" command to the shellscript in which the punch file format to be converted. For example: 

       setenv submol "./script.csh"   (csh/tcsh case)

    and prepare "script.csh" like as 

    #!/bin/csh -f
    set PUN=`echo $2:r.pun | tr \[A-Z\] \[a-z\]`
    set TMP='tmp'

    molpro -W./ -d./ $1 $2

    grep "Energy" ${PUN} > ${TMP}
    set i = 1
    set n = `wc -l ${TMP} | awk '{print $1}'`
    while ( $i <= $n )
       set line = `head -n $i ${TMP} | tail -n 1`
       echo $line >> ${PUN}
       @ i = $i + 1
    end
    \rm -f ${TMP}
    unset i, n, line
    unset PUN, TMP

    exit

    Alternatively, you can use the general interface in GRRM17. Please see "General interface with external ab initio programs".

    We are aware of another issue; the format of the punch file (XXX_moljob.pun) is bit different from that of Molpro2015 or earlier, then GRRM17 cannot read the energies from the punch file. For example:

    RSPT2 STATE 1.1 Energy    -114.21130105   (Molpro2015 or earlier)

    RSPT2 STATE  1.1 Energy    -114.21130105   (Molpro2018 or later)

    So, make sure whether you provide an appropriate string to the Molpro Input section. For example,

    Molpro Input

    IF(STATUS.LT.0) STOP
    $STR='Variable memory'
    TEXT,$STR released
    ---
    RSPT2 STATE  2.1
    END

     

    We have made several tests using Molpro 2015.1 (patch level 33), Molpro 2018.2, and Molpro 2019.1.2, but we cannot give any warranty.