Author Topic: EHT in command line  (Read 673 times)

djelenfi

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
EHT in command line
« on: March 05, 2020, 10:10:21 am »
Dear all,

I would like to optimize an excited state with jobex in ricc2 level, but this program gives dscf convergence error each second step, because the MOs go wrong. If I create new MOs, the dscf convergence problem is eliminated, but after pair cycles the program stop again with convergence error, so I would like to write a script which create new MOs and restart jobex if the program stopped.
I need that I can use EHT in command line. How can I run this in command line or are there other options this problem?

Thanks,
David
« Last Edit: March 05, 2020, 11:32:17 am by djelenfi »

antti_karttunen

  • Sr. Member
  • ****
  • Posts: 210
  • Karma: +1/-0
Re: EHT in command line
« Reply #1 on: March 06, 2020, 08:04:12 am »
Hi David,

You might be able to achieve this by running define in a scripted way. I'm attaching below here a script named "defrec", which shows how it is done. Basically, just two commands are needed, so the script is bit overkill, but at the same time it also includes short instructions on how to use it.

While the above approach might be what you are looking for, resetting the MOs during the excited state optimization sounds a bit dangerous to me. I have the feeling that perhaps there would be some better way to fix the issue.

Best wishes,
Antti

Code: [Select]
#!/bin/bash
# defrec 2008-07-01 AK
# defrec: Record define session to file for later usage

OUTNAME=define.in

program_usage(){
cat <<EOF

*****************************************************************
*    defrec: Record define session to file for later usage      *
*****************************************************************

Usage: defrec

- defrec records all commands given to define into file $OUTNAME
- Useful when you need to construct many similar Turbomole jobs.
- After define finishes, finish defrec with one more Return (or Ctrl+C)
- The command file $OUTNAME can then be re-executed later:

  define < $OUTNAME

EOF
}

# Check parameters
while [[ $# -gt 0 ]]
do
  case "$1" in
    "-h" | "-help" | "--help" ) program_usage ; exit 1 ;;
    *  ) program_usage ; exit 1 ;;
  esac
done

tee $OUTNAME | define

uwe

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 477
  • Karma: +0/-0
Re: EHT in command line
« Reply #2 on: March 06, 2020, 10:33:59 am »
Hi,

seconding Antti I'd also recommend to first check why SCF is not converging.

And I'd like to provide a sneak peek on the coming 7.5 version of Turbomole: There it will be sufficient to remove the keyword scfmos from the control file before dscf or ridft is being called. In a script (in your own one or in a local copy of jobex) one would simply call " kdg scfmo " -- kdg is Turbomoles own script to remove data groups from the input.

Regards,
Uwe