NOTE TO READER: This problem (implying several subproblems to troubleshoot/fix/solve), which turned out to be quite complicated for a young theoretical chemist like me, has been solved thanks to kind help of uwe and antti_karttunen! . The solution of the problem is copied here and is also available in the last post.A reason which would push you to use RI frequency calculations on non-RI optimized structures is that if you did geometry optimizations without RI in COSMO solvation model and want to validate your geometries from frequency calculations. Vibrational frequencies of COSMO-optimized structures can only be evaluated numerically! , that is, using the script Numforce. The problem is that Numforce takes ages to calculate vibrational frequencies for large molecules!! Using Numforce with RI can divide this calculation time by ten. For my structures, the values of vibrational frequencies were approximately identical within 1cm-1 with and without RI for the exact same geometry.
So, you might want to use RI to validate your geometries even if you avoided using it during geometry optimization. To summarize the problem that I wish to address here, simply typing Linux command
nohup NumForce -ri > NumForce.out &
while in the folder of a molecule obtained through a non-RI method will cause you loads of trouble and baffling/cryptic error messages . The purpose of this post is to troubleshoot/fix/solve this specific issue.
Problems you are likely to encounter if try to calculate RI frequencies from non-RI structures from Numforce are generally that some required files are not found by Numforce.Main steps to troubleshoot/fix/solve the problems:1 modify
calculate script (slightly)
2 do single-point calculation with RI from non-RI-optimized structure using the modified
calculate script
3 generate gradient file and add it to the folder containing the single-point-ed structure
Detailed walkthrough to calculate RI frequencies from Numforce using structures optimized without RI(assuming that you already have one folder for each non-RI converged structure)
Note 1: in this example, I assume you used BP86 functional, TZVP basis function, and COSMO solvation model during geometry optimization without RI (a method which may be termed BP-TZVP-COSMO)Note 2 : Each time, when I say "go into each folder", "go into each subfolder", "for each folder", "for each subfolder" and things like that, a script or an iterative Linux command can be used which looks like this:for dir in */
do
.......commands.......
doneenabling to treat all molecules in just one entry and to avoid painstakingly repetitive command-line work- First you need to modify the calculate script as indicated by uwe:Open the file $TURBODIR/calculate_2.4_linux64/TURBO.pm and search for the lines
foreach my $f (@files) {
(-e "$f") && (unlink($f));
}
($unix==1) && system"gzip \"$mdir\"/* >/dev/null 2>/dev/null";
add a # in front of each of the lines and save the file.
- Create a folder for your RI Numforce Frequency calculations, example:mkdir freq_ri- Then, generate a .xyz file for each of your optimized structures. To do so, go into each folder (optimized structure), and use the following Linux commands:
t2x coord > [name_of_molecule].xyz mv [name_of_molecule].xyz [folder/of/your/choice/for/ri/freq/calc] For example, if molecule is water and folder freq_ri is in the folder where all your optimized molecules are stored, go into the folder of water and type:
t2x coord > water.xyzmv water.xyz ../freq_ri- Do a single-point calculation with RITo do so, go to the folder (using, for example
cd ../freq_ri) and use these Linux commands:
ls *.xyz > list
calculate -l list -m BP-TZVP-COSMO-SP &> calculate-list.log &which make single points with RI.
- Generate gradientsTo do so, once all
calculate jobs are finished, use the command
rdgrad &> rdgrad.out & for each subfolder of the folder SolutionBP-TZVP, which is contained in the freq_ri folder of our example.
- At this point, you can launch the frequencies calculations using RI. Case 1. If you have only one node and/or don't want to run into problems related to SMP/MPI computing (which are "easy" to solve once you have some experience but are painstaking for the newcomer), simply go into each subfolder of freq_ri and enter the command:
nohup NumForce -ri > NumForce.out &But take care not to overwhelm your computer since Numforce will quickly saturate your RAM!!
Case 2. If you have a machine with several nodes and want to use the many nodes that your machine contains, script it.
Please note that depending on your machine, and parameters of your account on that machine, permission problems may occur trying to do what I propose here. Searching google (in that respect stackoverflow entries are generally reliable), and asking questions to IT guys may be of help to solve particular problems of each particular machine regarding this concern ...
Note that, notably, issues related to >> Public-Key Based Authentication << may occur. In such case, click on the link, if it is not dead. If it is dead, google "public-key based authentication". This counter-intuitive subject enabled me to fix some permission problems related to SMP computing. It took me painful hours to figure out that "public-key based authentication" was the solution of my permission problem, and I sincerely want to save your precious time For example, write a file called "mfile" with the identity of your machine written one time for each node it contains. Mine has 8 nodes and the file "mfile" contains this:
theophile-HP-Z420-Workstation
theophile-HP-Z420-Workstation
theophile-HP-Z420-Workstation
theophile-HP-Z420-Workstation
theophile-HP-Z420-Workstation
theophile-HP-Z420-Workstation
theophile-HP-Z420-Workstation
theophile-HP-Z420-Workstation"theophile-HP-Z420-Workstation" being the name of my machine.
Then, you can use the following script:
#!/bin/bash
for dir in */
do
echo "$dir"
cd $dir
nohup NumForce -ri -mfile ../mfile -scrpath /tmp > NumForce.out &
wait
cd ..
doneCopy it into a launch_freq_only_ri.sh file that you save in the freq_ri folder, and then execute the command
chmod 777 launch_freq_only_ri.sh in order to alleviate permission problems during script execution as much as you can.
Then simply use the command:
./launch_freq_only_ri.shAnd your frequency calculations will be done one after the other using the specified number of nodes in your mfile file.
_________________________________________________________
ORIGINAL POST:Dear users and support team members,
I don't succeed to run geometry optimizations at BP86-def2-TZVP-RI level with COSMO solvation model.
Before, I wrote a script to, from .xyz files, automatically use define to create input folders for turbomole and run geometry optimizations at BP86-def2-TZVP level with COSMO solvation model. Without RI there was no any problem.
The line I used to call jobex was:
jobex -c 100 -mem 2GB > opt.out &
Then, I modified the script to activate RI, in the "define" menu, and I modified the line to call jobex as:
jobex -ri -c 100 -mem 2GB > opt.out &
To use "define" automatically, I use a "define.in" (complete command line: define coord < ../define_ri.in) file which contains:
a coord
desy
ired
*
b all def2-TZVP
*
eht
y
0
y
dft
on
drv
sec
*
*
*
*
This is the new "define.in" file after adding commands to use RI, that is, "ri" "on" and "[enter]"
a coord
desy
ired
*
b all def2-TZVP
*
eht
y
0
y
dft
on
ri
on
drv
sec
*
*
*
*
Now when I try to launch jobex with the line
jobex -ri -c 100 -mem 2GB > opt.out &
I get in "slave1.output" the following complete message:
<<<<<<<<<<<<<<< OUTPUT FROM PROCESS 0 >>>>>>>>>>>>>>>
distribution of control by ridft_mpi/rdgrad_mpi
operating system is UNIX !
hostname is theophile-HP-Z420-Workstation
data group $actual step is not empty
due to the abend of ridft
this is only a subsequent error message
check reason for abend in the other output files ...
use the command 'actual -r' to get rid of that
quit: process 0 failing ...
MODTRACE: no modules on stack
CONTRL dead = actual step
rdgrad ended abnormally
How to troubleshoot this?
It says "use the command 'actual -r'" but I don't see where exactly I should add this command?
Any help would be greatly appreciated.
Best regards!