Example 9.4 As outlined, the rate of convergence of the iterative optimization process is dependent on a number of factors, one of which is the use of an initial analytic Hessian. This is easily achieved by instructing Q-Chem to calculate an analytic Hessian and proceed then to determine the required critical point. This job runs within Libopt3 driver which retains the reading of analytical Hessian feature.
$molecule 0 1 O H 1 oh H 1 oh 2 hoh oh = 1.1 hoh = 104 $end $rem JOBTYPE freq Calculate an analytic Hessian METHOD hf BASIS 6-31g(d) $end $comment Now proceed with the optimization making sure to read in the analytic Hessian (use other available information too). $end @@@ $molecule read $end $rem JOBTYPE opt METHOD hf BASIS 6-31g(d) SCF_GUESS read GEOM_OPT_HESSIAN read Have the initial Hessian $end @@@ $comment LIBOPT3 driver does not require the need for two jobs, as the exact analytic Hessian can be computed from the optimization job. LIBOPT3 still retains the reading of Hessian for users who wish to split the jobs. $end $molecule 0 1 O H 1 oh H 1 oh 2 hoh oh = 1.1 hoh = 104 $end $rem JOBTYPE opt METHOD hf BASIS 6-31g(d) $end $geom_opt initial_hessian exact !Start with analytic Hessian $end
Example 9.5 Libopt3 has the capability to provide recomputation of the Hessian during optimization. This is useful for difficult optimization jobs, but comes with the additional computational cost of calculating Hessians, every N-cycles.
$comment Recompute Hessian during BFGS geometry optimization. $end $molecule 0 1 ¯7 3.79442 2.45076 -4.34277 ¯6 3.02868 3.04864 -3.23778 ¯6 2.04275 1.98420 -2.78714 ¯6 2.91776 0.76144 -2.89342 ¯6 3.54332 1.00509 -4.25717 ¯1 2.53337 3.99823 -3.53031 ¯1 3.72326 3.26015 -2.39028 ¯1 1.21899 1.90515 -3.53349 ¯1 1.60572 2.16457 -1.78197 ¯1 2.38404 -0.20872 -2.80429 ¯1 3.70935 0.81472 -2.11094 ¯1 2.79274 0.75455 -5.04001 ¯1 4.45076 0.38822 -4.43647 ¯1 4.81196 2.64598 -4.19025 $end $rem basis sto-3g exchange hf jobtype opt $end $geom_opt initial_hessian = exact !Start with Exact Hessian recompute_hessian = recompute !Recompute Hessian !recompute_hessian_cycles = 5 !Recompute Hessian every N cycles $end
Example 9.6 Optimize a structure and then perform vibrational analysis from the recomputed Hessian.
$comment Optimize Ethanol then perform vibrational analysis on final structure. $end $molecule 0 1 ¯ 1 0.0000000 -0.3967597 2.0821274 ¯ 6 0.0000000 0.2658586 1.2077483 ¯ 1 -0.8835614 0.9134896 1.2808899 ¯ 1 0.8835614 0.9134896 1.2808899 ¯ 6 0.0000000 -0.5475180 -0.0737199 ¯ 1 0.8913993 -1.2035918 -0.1244915 ¯ 1 -0.8913993 -1.2035918 -0.1244915 ¯ 8 0.0000000 0.3545729 -1.1566766 ¯ 1 0.0000000 -0.1696628 -1.9456823 $end $rem basis sto-3g exchange hf jobtype opt $end $geom_opt hessian_verify = recomputed !Recompute Exact Hessian for verification final_vibrational_analysis = true !Perform Vibrational Analysis on optimized Hessian $end
Example 9.7 Libopt3 can read in a user defined topology, rather than using the generated topology.
$comment Read in user defined topology $end $molecule 0 1 H -1.6466561 -2.6863748 -0.0117346 O -1.7341224 -2.4422496 0.9441588 O -1.0688554 -1.3124664 1.0588359 H -1.1563217 -1.0683412 2.0147293 $end $rem BASIS = STO-3G JOB_TYPE = OPT METHOD = HF $end $geom_opt user_topology = read $end $geom_opt_topology 6 1 1 2 1 2 3 1 3 4 2 1 3 2 2 2 4 3 4 1 2 3 4 $end