Esempio n. 1
0
# build transformation matrix from regular internal coordinates (in zmat order)
# to C2-symmetrized internal coordinates for HOOH/DOD
n = 1 / np.sqrt(2)
U = np.array(
#      rOH,   rOO,  fHOO,  rOH', fHOO', tHOOH
  [[    +n,     0,     0,    +n,     0,     0], # s1
   [     0,    +1,     0,     0,     0,     0], # s2
   [     0,     0,    +n,     0,    +n,     0], # s3
   [     0,     0,     0,     0,     0,    +1], # s4
   [    +n,     0,     0,    -n,     0,     0], # s5
   [     0,     0,    +n,     0,    -n,     0]] # s6
)

# compute the G matrices for HOOH and DOOD

G = hooh.compute_g_matrix() # compute G matrix in unsymmetrized internal coordinate basis
m = hooh.masses
r = hooh.distance
f = hooh.angle
t = hooh.torsion
G = np.dot(U, np.dot(G, U.T)) # G -> U * G * U.T, transform to symmetrized internal coordinate basis
vib_hooh = IntCoVibAnalysis(F, G, blockdims=(4, 2))
print("HOOH G matrix")
print G.round(14)

G = dood.compute_g_matrix() # compute G matrix in unsymmetrized internal coordinate basis
G = np.dot(U, np.dot(G, U.T)) # G -> U * G * U.T, transform to symmetrized internal coordinate basis
vib_dood = IntCoVibAnalysis(F, G, blockdims=(4, 2))
print("DOOD G matrix")
print G.round(14)
Esempio n. 2
0
from molecule import Molecule

hooh = Molecule("""
H
O 1 0.9625
O 2 1.4535 1 99.64
H 3 0.9625 2 99.64 1 113.7
""")

print(hooh.compute_g_matrix())
Esempio n. 3
0
from molecule import Molecule

h2o = Molecule(
"""
O
H 1 1.09520
H 1 1.09520 2 109.0000
"""
)

print( h2o.compute_g_matrix() )

Esempio n. 4
0
n = 1 / np.sqrt(2)
U = np.array(
    #      rOH,   rOO,  fHOO,  rOH', fHOO', tHOOH
    [
        [+n, 0, 0, +n, 0, 0],  # s1
        [0, +1, 0, 0, 0, 0],  # s2
        [0, 0, +n, 0, +n, 0],  # s3
        [0, 0, 0, 0, 0, +1],  # s4
        [+n, 0, 0, -n, 0, 0],  # s5
        [0, 0, +n, 0, -n, 0]
    ]  # s6
)

# compute the G matrices for HOOH and DOOD

G = hooh.compute_g_matrix(
)  # compute G matrix in unsymmetrized internal coordinate basis
m = hooh.masses
r = hooh.distance
f = hooh.angle
t = hooh.torsion
G = np.dot(
    U, np.dot(G, U.T)
)  # G -> U * G * U.T, transform to symmetrized internal coordinate basis
vib_hooh = IntCoVibAnalysis(F, G, blockdims=(4, 2))
print("HOOH G matrix")
print G.round(14)

G = dood.compute_g_matrix(
)  # compute G matrix in unsymmetrized internal coordinate basis
G = np.dot(
    U, np.dot(G, U.T)
Esempio n. 5
0
from molecule import Molecule

h2o = Molecule("""
O
H 1 1.09520
H 1 1.09520 2 109.0000
""")

print(h2o.compute_g_matrix())
Esempio n. 6
0
import numpy as np
from vib import IntCoVibAnalysis
from molecule import Molecule

h2cn = Molecule("""
N
C 1 1.253338969095741
H 2 1.095130571925020 1 121.213471579853874
H 2 1.095130571925020 1 121.213471579853874 3 180.000000000000000
""")

G = h2cn.compute_g_matrix()  ## unsymmetrized internal coordinate basis

print(G)
Esempio n. 7
0
import numpy as np
from vib import IntCoVibAnalysis
from molecule import Molecule

h2cn = Molecule(
"""
N
C 1 1.253338969095741
H 2 1.095130571925020 1 121.213471579853874
H 2 1.095130571925020 1 121.213471579853874 3 180.000000000000000
"""
)


G = h2cn.compute_g_matrix()  ## unsymmetrized internal coordinate basis

print(G)
Esempio n. 8
0
from molecule import Molecule

hooh = Molecule(
"""
H
O 1 0.9625
O 2 1.4535 1 99.64
H 3 0.9625 2 99.64 1 113.7
"""
)

print( hooh.compute_g_matrix() )