mirror of https://github.com/QMCPACK/qmcpack.git
253 lines
12 KiB
Python
253 lines
12 KiB
Python
|
|
import testing
|
|
from testing import value_eq,object_eq,text_eq
|
|
|
|
|
|
def test_import():
|
|
from gamess_analyzer import GamessAnalyzer
|
|
#end def test_import
|
|
|
|
|
|
def test_empty_init():
|
|
from gamess_analyzer import GamessAnalyzer
|
|
|
|
GamessAnalyzer()
|
|
#end def test_empty_init
|
|
|
|
|
|
|
|
def test_analyze():
|
|
import os
|
|
from numpy import array,ndarray
|
|
from generic import obj
|
|
from gamess_analyzer import GamessAnalyzer
|
|
|
|
tpath = testing.setup_unit_test_output_directory(
|
|
test = 'gamess_analyzer',
|
|
subtest = 'test_analyze',
|
|
file_sets = ['gms.inp','gms.out'],
|
|
)
|
|
|
|
outpath = os.path.join(tpath,'gms.inp')
|
|
|
|
# no analysis
|
|
ga = GamessAnalyzer(outpath)
|
|
|
|
del ga.info.input
|
|
del ga.info.path
|
|
|
|
ga_ref = obj(
|
|
info = obj(
|
|
exit = False,
|
|
initialized = True,
|
|
prefix = 'gms',
|
|
files = obj(
|
|
aabb41 = 'gms.F41',
|
|
aoints = 'gms.F08',
|
|
bbaa42 = 'gms.F42',
|
|
bbbb43 = 'gms.F43',
|
|
casints = 'gms.F13',
|
|
ccdiis = 'gms.F71',
|
|
ccints = 'gms.F72',
|
|
ccquads = 'gms.F78',
|
|
ccrest = 'gms.F70',
|
|
cct1amp = 'gms.F73',
|
|
cct2amp = 'gms.F74',
|
|
cct3amp = 'gms.F75',
|
|
ccve = 'gms.F77',
|
|
ccvm = 'gms.F76',
|
|
ciints = 'gms.F14',
|
|
civectr = 'gms.F12',
|
|
csfsave = 'gms.F17',
|
|
dafl30 = 'gms.F30',
|
|
dasort = 'gms.F20',
|
|
dcphfh2 = 'gms.F67',
|
|
dftgrid = 'gms.F22',
|
|
dftints = 'gms.F21',
|
|
dictnry = 'gms.F10',
|
|
drtfile = 'gms.F11',
|
|
efmof = 'gms.F103',
|
|
efmoi = 'gms.F102',
|
|
efpind = 'gms.F25',
|
|
eomdg12 = 'gms.F89',
|
|
eomhc1 = 'gms.F83',
|
|
eomhc2 = 'gms.F84',
|
|
eomhhhh = 'gms.F85',
|
|
eomhl1 = 'gms.F98',
|
|
eomhl2 = 'gms.F99',
|
|
eomlvec = 'gms.F97',
|
|
eompppp = 'gms.F86',
|
|
eomramp = 'gms.F87',
|
|
eomrtmp = 'gms.F88',
|
|
eomstar = 'gms.F80',
|
|
eomvec1 = 'gms.F81',
|
|
eomvec2 = 'gms.F82',
|
|
eomvl1 = 'gms.F95',
|
|
eomvl2 = 'gms.F96',
|
|
fockder = 'gms.F18',
|
|
hessian = 'gms.F38',
|
|
input = 'gms.inp',
|
|
jkfile = 'gms.F23',
|
|
mcqd50 = 'gms.F50',
|
|
mcqd51 = 'gms.F51',
|
|
mcqd52 = 'gms.F52',
|
|
mcqd53 = 'gms.F53',
|
|
mcqd54 = 'gms.F54',
|
|
mcqd55 = 'gms.F55',
|
|
mcqd56 = 'gms.F56',
|
|
mcqd57 = 'gms.F57',
|
|
mcqd58 = 'gms.F58',
|
|
mcqd59 = 'gms.F59',
|
|
mcqd60 = 'gms.F60',
|
|
mcqd61 = 'gms.F61',
|
|
mcqd62 = 'gms.F62',
|
|
mcqd63 = 'gms.F63',
|
|
mcqd64 = 'gms.F64',
|
|
mltpl = 'gms.F28',
|
|
mltplt = 'gms.F29',
|
|
mmciitr = 'gms.F94',
|
|
mmcivc1 = 'gms.F93',
|
|
mmcivec = 'gms.F92',
|
|
mmhpp = 'gms.F91',
|
|
mmpp = 'gms.F90',
|
|
moints = 'gms.F09',
|
|
nmrint1 = 'gms.F61',
|
|
ordint = 'gms.F24',
|
|
output = 'gms.out',
|
|
pcmdata = 'gms.F26',
|
|
pcmints = 'gms.F27',
|
|
punch = 'gms.F07',
|
|
quadsvo = 'gms.F79',
|
|
remd = 'gms.F44',
|
|
restart = 'gms.F35',
|
|
soccdat = 'gms.F40',
|
|
traject = 'gms.F04',
|
|
work15 = 'gms.F15',
|
|
work16 = 'gms.F16',
|
|
work19 = 'gms.F19',
|
|
),
|
|
)
|
|
)
|
|
|
|
assert(object_eq(ga.to_obj(),ga_ref))
|
|
|
|
|
|
# full analysis
|
|
ga = GamessAnalyzer(outpath,analyze=True)
|
|
|
|
del ga.info.input
|
|
del ga.info.path
|
|
del ga.info.files
|
|
|
|
ga_ref = obj(
|
|
ao_populations = obj(
|
|
lowdin = array(
|
|
[8.3070e-02, 2.5080e-02, 5.2000e-04, 2.3000e-04, 7.3660e-02, 0.0000e+00,
|
|
0.0000e+00, 1.3479e-01, 0.0000e+00, 0.0000e+00, 6.2610e-02, 0.0000e+00,
|
|
0.0000e+00, 2.1910e-02, 3.4700e-02, 3.4700e-02, 1.2332e-01, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 2.3050e-02, 2.3050e-02, 1.2369e-01, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 9.8720e-02, 0.0000e+00,
|
|
1.6890e-02, 0.0000e+00, 1.6890e-02, 0.0000e+00, 0.0000e+00, 0.0000e+00,
|
|
3.0345e-01, 1.7130e-02, 7.4000e-04, 7.0500e-03, 2.4783e-01, 0.0000e+00,
|
|
0.0000e+00, 5.0000e-05, 0.0000e+00, 0.0000e+00, 1.1000e-03, 0.0000e+00,
|
|
0.0000e+00, 4.7200e-03, 6.1080e-02, 6.1080e-02, 6.1380e-02, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 1.0230e-01, 1.0230e-01, 1.3176e-01, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 7.6000e-04, 0.0000e+00,
|
|
2.1000e-04, 0.0000e+00, 2.1000e-04, 0.0000e+00, 0.0000e+00, 0.0000e+00],
|
|
dtype=float),
|
|
lowdin_shell = array(
|
|
[8.3070e-02, 2.5080e-02, 5.2000e-04, 2.3000e-04, 7.3660e-02, 3.0345e-01,
|
|
1.7130e-02, 7.4000e-04, 7.0500e-03, 2.4783e-01, 1.3479e-01, 6.2610e-02,
|
|
2.1910e-02, 5.0000e-05, 1.1000e-03, 4.7200e-03, 1.9272e-01, 1.6979e-01,
|
|
1.8354e-01, 3.3636e-01, 1.3250e-01, 1.1800e-03],
|
|
dtype=float),
|
|
mulliken = array(
|
|
[ 7.4225e-01, 1.1141e-01, -1.0500e-03, -4.9000e-04, -4.5679e-01, 0.0000e+00,
|
|
0.0000e+00, 4.6670e-01, 0.0000e+00, 0.0000e+00, -2.0338e-01, 0.0000e+00,
|
|
0.0000e+00, 2.5550e-02, 2.3860e-02, 0.0000e+00, 0.0000e+00, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 1.4390e-02, 0.0000e+00, 0.0000e+00, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 6.2800e-03,
|
|
0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
|
|
1.5046e+00, 2.9270e-02, 1.8600e-03, 2.0000e-05, -2.6496e-01, 0.0000e+00,
|
|
0.0000e+00, 3.0000e-05, 0.0000e+00, 0.0000e+00, 8.3000e-04, 0.0000e+00,
|
|
0.0000e+00, -4.2000e-04, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 6.0000e-05, 0.0000e+00, 0.0000e+00, 0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00,
|
|
0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00],
|
|
dtype=float),
|
|
mulliken_shell = array(
|
|
[ 7.4225e-01, 1.1141e-01, -1.0500e-03, -4.9000e-04, -4.5679e-01, 1.5046e+00,
|
|
2.9270e-02, 1.8600e-03, 2.0000e-05, -2.6496e-01, 4.6670e-01, -2.0338e-01,
|
|
2.5550e-02, 3.0000e-05, 8.3000e-04, -4.2000e-04, 2.3860e-02, 1.4390e-02,
|
|
0.0000e+00, 6.0000e-05, 6.2800e-03, 0.0000e+00],
|
|
dtype=float),
|
|
basis = obj(
|
|
angular = array(
|
|
['S','S','S','S','S','X','Y','Z','X','Y','Z','X','Y','Z','XX','YY','ZZ',
|
|
'XY','XZ','YZ','XX','YY','ZZ','XY','XZ','YZ','XXX','YYY','ZZZ','XXY',
|
|
'XXZ','YYX','YYZ','ZZX','ZZY','XYZ','S','S','S','S','S','X','Y','Z','X',
|
|
'Y','Z','X','Y','Z','XX','YY','ZZ','XY','XZ','YZ','XX','YY','ZZ','XY',
|
|
'XZ','YZ','XXX','YYY','ZZZ','XXY','XXZ','YYX','YYZ','ZZX','ZZY','XYZ']),
|
|
d = array([14,15,16,17,18,19,20,21,22,23,24,25,50,51,52,53,54,55,56,57,58,59,60,61],dtype=int),
|
|
element = array(
|
|
['Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li',
|
|
'Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li','Li',
|
|
'Li','Li','Li','Li','Li','Li','Li','Li','H','H','H','H','H','H','H','H',
|
|
'H','H','H','H','H','H','H','H','H','H','H','H','H','H','H','H','H','H',
|
|
'H','H','H','H','H','H','H','H','H','H']),
|
|
f = array([26,27,28,29,30,31,32,33,34,35,62,63,64,65,66,67,68,69,70,71],dtype=int),
|
|
g = array([],dtype=int),
|
|
p = array([ 5,6,7,8,9,10,11,12,13,41,42,43,44,45,46,47,48,49],dtype=int),
|
|
s = array([ 0,1,2,3,4,36,37,38,39,40],dtype=int),
|
|
spec_index = array([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,
|
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],dtype=int),
|
|
),
|
|
lowdin_angular = obj(
|
|
d = 0.88241,
|
|
f = 0.13368,
|
|
g = 0.0,
|
|
p = 0.22518,
|
|
s = 0.75876,
|
|
),
|
|
mulliken_angular = obj(
|
|
d = 0.03831,
|
|
f = 0.00628,
|
|
g = 0.0,
|
|
p = 0.28931,
|
|
s = 1.666119999999999,
|
|
),
|
|
shell = obj(
|
|
d = array([16,17,18,19],dtype=int),
|
|
f = array([20,21],dtype=int),
|
|
g = array([],dtype=int),
|
|
p = array([10,11,12,13,14,15],dtype=int),
|
|
s = array([0,1,2,3,4,5,6,7,8,9],dtype=int),
|
|
),
|
|
),
|
|
counts = obj(
|
|
cao = 72,
|
|
mos = 62,
|
|
shells = 22,
|
|
),
|
|
energy = obj(
|
|
electron_electron_potential = 0.4814819907,
|
|
nuclear_repulsion = 0.3317933721,
|
|
nucleus_electron_potential = -2.199450924,
|
|
nucleus_nucleus_potential = 0.3317933721,
|
|
one_electron = -1.5640017754,
|
|
total = -0.7507264125,
|
|
total_kinetic = 0.6354491487,
|
|
total_potential = -1.3861755612,
|
|
two_electron = 0.4814819907,
|
|
),
|
|
info = obj(
|
|
exit = False,
|
|
initialized = True,
|
|
prefix = 'gms',
|
|
),
|
|
)
|
|
|
|
assert(object_eq(ga.to_obj(),ga_ref))
|
|
|
|
#end def test_analyze
|