Author Topic: Is it possible to use input file names other than "control" in ridft or jobex?  (Read 47132 times)

jsjeon

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
Hello,

I'm currently automating Turbomole calculations and have a question about input file naming.

By default, Turbomole modules like ridft and jobex read from a file named control.

Is there any way to make them read from a differently named input file, such as molecule_name.inp, without manually renaming it to control each time?

This would greatly simplify managing multiple jobs in a parallel workflow.

Thanks in advance for your support!

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 622
  • Karma: +0/-0
Hello,

short answer: No, it is not possible. At least not such that you could use different molecules in the same directory.

Why? Because Turbomole usage is not the simple way to have an input file, run a program and get the output as result while letting the input file untouched:

 tm.exe input.inp > output.out

Every program like ridft or jobex you are calling is working on the data in that directory. Reading, modifying, writing, extending and partly also deleting things. Even if your control file could be renamed, all the other files would need to be renamed too.

With Turbomole it is much easier to work in different directories instead.

What I do:

I have a list of structures in, say, xyz fomat. Then I write a sample control file which might look like this:

Code: [Select]
$coord file=coord
$atoms
  basis=def2-TZVP
$rij
$marij
$dft
  functional=pbe
$end

Then a script like this:

Code: [Select]
for i in *.xyz
do
  name=`basename $i .xyz`
  mkdir -p $name
  cp control $name
  cp $i $name 

  cd $name
  x2t $i > coord
  jobex -c 200

  cd ..
done

That's the most simple way to do it. Afterwards all your jobs are already in directories named like the input structure files and you can easily run e.g. aoforce in each of the directories.

Note that there is also a sdf2coord script which converts sdf files into Turbomole coordinates. And a pdb2coord. Or use openbabel and export to tmole format.

A bit of a more complicated case is to have a mixture of neutral compounds and ions. Input charge can be set by $eht charge=<n> in the control file, but make sure to set it differently for differently charged systems.

If you prefer Python check https://github.com/Matgenix/turbomoleio