ben-albrecht / qcl

Quantum Chemistry Laboratory package
MIT License
19 stars 5 forks source link

Z-Matrix generator produces 0 degree dihedrals #1

Open berquist opened 9 years ago

berquist commented 9 years ago

This XYZ input:

17

Cu  0.000000000  0.000000000  0.000000000
 N  2.050000000  0.000000000  0.000000000
 N  0.000000000  2.050000000  0.000000000
 N -2.050000000  0.000000000  0.000000000
 N  0.000000000 -2.050000000  0.000000000
 H  0.000000000 -2.429870000 -0.989595000
 H  0.857015000 -2.429870000  0.494798000
 H -0.857015000 -2.429870000  0.494798000
 H -2.429870000  0.000000000 -0.989595000
 H -2.429870000 -0.857015000  0.494798000
 H -2.429870000  0.857015000  0.494798000
 H -0.857014341  2.429870000  0.494797619
 H  0.857015207  2.429870000  0.494797642
 H  0.000000000  2.429870000 -0.989595761
 H  2.429870000  0.000000000 -0.989595000
 H  2.429870000  0.857015000  0.494798000
 H  2.429870000 -0.857015000  0.494798000

Produces this z-matrix:

Cu
N  1  r2
N  1  r3  2  a3
N  1  r4  2  a4  3  d4
N  1  r5  2  a5  3  d5
H  5  r6  1  a6  2  d6
H  5  r7  1  a7  2  d7
H  5  r8  1  a8  2  d8
H  4  r9  1  a9  2  d9
H  4  r10  1  a10  2  d10
H  4  r11  1  a11  2  d11
H  3  r12  1  a12  2  d12
H  3  r13  1  a13  2  d13
H  3  r14  1  a14  2  d14
H  2  r15  1  a15  3  d15
H  2  r16  1  a16  3  d16
H  2  r17  1  a17  3  d17
Variables:
r2= 2.0500
r3= 2.0500
a3=  90.00
r4= 2.0500
a4= 180.00
d4=   0.00
r5= 2.0500
a5=  90.00
d5= 180.00
r6= 1.0600
a6= 111.00
d6= 270.00
r7= 1.0600
a7= 111.00
d7=  30.00
r8= 1.0600
a8= 111.00
d8= 150.00
r9= 1.0600
a9= 111.00
d9=   0.00
r10= 1.0600
a10= 111.00
d10=   0.00
r11= 1.0600
a11= 111.00
d11=   0.00
r12= 1.0600
a12= 111.00
d12= 210.00
r13= 1.0600
a13= 111.00
d13= 330.00
r14= 1.0600
a14= 111.00
d14=  90.00
r15= 1.0600
a15= 111.00
d15= 270.00
r16= 1.0600
a16= 111.00
d16=  30.00
r17= 1.0600
a17= 111.00
d17= 150.00

Which leads to this sort of error in Q-Chem:

Ambiguous definition of dihedral angle.  3 atoms in a line.

The generator should probably keep trying new atoms for the last index until it comes up with a non-zero value.

berquist commented 9 years ago

Here is the z-matrix produced by Open Babel:

Cu  1                                                                                                                 
N   1 2.050                                                                                                           
N   1 2.050  2  90.000                                                                                                
N   1 2.050  1  45.000  2 180.0                                                                                       
N   1 2.050  2  90.000  3 180.0                                                                                       
H   5 1.060  1 111.000  2 270.0                                                                                       
H   5 1.060  1 111.000  2  30.0                                                                                       
H   5 1.060  1 111.000  2 150.0                                                                                       
H   4 1.060  1 111.000  2 180.0                                                                                       
H   4 1.060  1 111.000  2 180.0                                                                                       
H   4 1.060  1 111.000  2 180.0                                                                                       
H   3 1.060  1 111.000  2 210.0                                                                                       
H   3 1.060  1 111.000  2 330.0                                                                                       
H   3 1.060  1 111.000  2  90.0                                                                                       
H   2 1.060  1 111.000  3 270.0                                                                                       
H   2 1.060  1 111.000  3  30.0                                                                                       
H   2 1.060  1 111.000  3 150.0