mirror of https://github.com/QMCPACK/qmcpack.git
Merge branch 'develop' into htxelatex_for_html_output
This commit is contained in:
commit
af9e2586e8
|
@ -16,7 +16,6 @@
|
|||
\usepackage{verbatim}
|
||||
\usepackage{caption}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{epsfig}
|
||||
|
||||
% making listing behave properly
|
||||
% with setting below, listings now render correctly
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
from nexus import settings,job,run_project,obj
|
||||
from nexus import generate_physical_system
|
||||
from nexus import generate_gamess
|
||||
|
||||
settings(
|
||||
pseudo_dir = './pseudopotentials',
|
||||
results = '',
|
||||
status_only = 0,
|
||||
generate_only = 0,
|
||||
sleep = 3,
|
||||
machine = 'ws16',
|
||||
ericfmt = '/your/path/to/ericfmt.dat'
|
||||
)
|
||||
|
||||
gms_job = job(cores=16,app='gamess.x')
|
||||
|
||||
h2o = generate_physical_system(
|
||||
# full atomic/electronic structure
|
||||
elem = ['O','H','H'],
|
||||
pos = [[0.000000, 0.000000, 0.000000],
|
||||
[0.000000,-0.757160, 0.586260],
|
||||
[0.000000, 0.757160, 0.586260]],
|
||||
units = 'A', # Angstroms
|
||||
net_spin = 0, # multiplicity=1, nup-ndown=0
|
||||
O = 6, # Zeff=6 for BFD ECP
|
||||
H = 1, # Zeff=1 for BFD ECP
|
||||
# C2v symmetry structure
|
||||
folded_elem = ['O','H'],
|
||||
folded_pos = [[0.000000, 0.000000, 0.000000],
|
||||
[0.000000, 0.757160, 0.586260]],
|
||||
)
|
||||
|
||||
sims = []
|
||||
|
||||
rhf = generate_gamess(
|
||||
identifier = 'rhf',
|
||||
path = 'pp_casscf',
|
||||
job = gms_job,
|
||||
system = h2o,
|
||||
pseudos = ['O.BFD_V5Z.gms','H.BFD_V5Z_ANO.gms'],
|
||||
scftyp = 'rohf',
|
||||
runtyp = 'energy',
|
||||
exetyp = 'run',
|
||||
ispher = 1,
|
||||
maxit = 200,
|
||||
memory = 150000000,
|
||||
dirscf = True,
|
||||
guess = 'huckel',
|
||||
symmetry = 'Cnv 2',
|
||||
prtmo = True,
|
||||
)
|
||||
sims.append(rhf)
|
||||
|
||||
cas = generate_gamess(
|
||||
identifier = 'cas',
|
||||
path = 'pp_casscf',
|
||||
job = gms_job,
|
||||
system = h2o,
|
||||
pseudos = ['O.BFD_V5Z.gms','H.BFD_V5Z_ANO.gms'],
|
||||
scftyp = 'mcscf',
|
||||
runtyp = 'energy',
|
||||
exetyp = 'run',
|
||||
ispher = 1,
|
||||
maxit = 200,
|
||||
memory = 150000000,
|
||||
dirscf = True,
|
||||
symmetry = 'Cnv 2',
|
||||
drt = obj(
|
||||
group = 'C2v',
|
||||
nmcc = 0,
|
||||
ndoc = 4,
|
||||
nalp = 0,
|
||||
nval = 4,
|
||||
istsym = 1,
|
||||
mxnint = 500000,
|
||||
fors = True,
|
||||
),
|
||||
mcscf = obj(
|
||||
cistep = 'guga',
|
||||
maxit = 1000,
|
||||
fullnr = True,
|
||||
acurcy = 1e-5,
|
||||
),
|
||||
dependencies = (rhf,'orbitals')
|
||||
)
|
||||
sims.append(cas)
|
||||
|
||||
run_project(sims)
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
from nexus import settings,job,run_project,obj
|
||||
from nexus import generate_physical_system
|
||||
from nexus import generate_gamess
|
||||
|
||||
settings(
|
||||
pseudo_dir = './pseudopotentials',
|
||||
results = '',
|
||||
status_only = 0,
|
||||
generate_only = 0,
|
||||
sleep = 3,
|
||||
machine = 'ws16',
|
||||
ericfmt = '/your/path/to/ericfmt.dat'
|
||||
)
|
||||
|
||||
gms_job = job(cores=16,app='gamess.x')
|
||||
|
||||
h2o = generate_physical_system(
|
||||
# full atomic/electronic structure
|
||||
elem = ['O','H','H'],
|
||||
pos = [[0.000000, 0.000000, 0.000000],
|
||||
[0.000000,-0.757160, 0.586260],
|
||||
[0.000000, 0.757160, 0.586260]],
|
||||
units = 'A', # Angstroms
|
||||
net_spin = 0, # multiplicity=1, nup-ndown=0
|
||||
O = 6, # Zeff=6 for BFD ECP
|
||||
H = 1, # Zeff=1 for BFD ECP
|
||||
# C2v symmetry structure
|
||||
folded_elem = ['O','H'],
|
||||
folded_pos = [[0.000000, 0.000000, 0.000000],
|
||||
[0.000000, 0.757160, 0.586260]],
|
||||
)
|
||||
|
||||
sims = []
|
||||
|
||||
rhf = generate_gamess(
|
||||
identifier = 'rhf',
|
||||
path = 'pp_cisd',
|
||||
job = gms_job,
|
||||
system = h2o,
|
||||
pseudos = ['O.BFD_V5Z.gms','H.BFD_V5Z_ANO.gms'],
|
||||
scftyp = 'rohf',
|
||||
runtyp = 'energy',
|
||||
exetyp = 'run',
|
||||
ispher = 1,
|
||||
maxit = 200,
|
||||
memory = 150000000,
|
||||
dirscf = True,
|
||||
guess = 'huckel',
|
||||
symmetry = 'Cnv 2',
|
||||
prtmo = True,
|
||||
)
|
||||
sims.append(rhf)
|
||||
|
||||
cisd = generate_gamess(
|
||||
identifier = 'cisd',
|
||||
path = 'pp_cisd',
|
||||
job = gms_job,
|
||||
system = h2o,
|
||||
pseudos = ['O.BFD_V5Z.gms','H.BFD_V5Z_ANO.gms'],
|
||||
scftyp = 'none',
|
||||
cityp = 'guga',
|
||||
runtyp = 'energy',
|
||||
exetyp = 'run',
|
||||
ispher = 1,
|
||||
maxit = 200,
|
||||
memory = 150000000,
|
||||
dirscf = True,
|
||||
symmetry = 'Cnv 2',
|
||||
cidrt = obj(
|
||||
group = 'C2v',
|
||||
nfzc = 0,
|
||||
ndoc = 4,
|
||||
nalp = 0,
|
||||
nval = 60,
|
||||
nprt = 2,
|
||||
istsym = 1,
|
||||
iexcit = 2,
|
||||
mxnint = 500000,
|
||||
),
|
||||
gugdia = obj(
|
||||
prttol = 0.001,
|
||||
cvgtol = 1.0e-5,
|
||||
itermx = 1000,
|
||||
),
|
||||
dependencies = (rhf,'orbitals')
|
||||
)
|
||||
sims.append(cisd)
|
||||
|
||||
run_project(sims)
|
|
@ -0,0 +1,55 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
from nexus import settings,job,run_project
|
||||
from nexus import generate_physical_system
|
||||
from nexus import generate_gamess
|
||||
|
||||
settings(
|
||||
pseudo_dir = './pseudopotentials',
|
||||
results = '',
|
||||
status_only = 0,
|
||||
generate_only = 0,
|
||||
sleep = 3,
|
||||
machine = 'ws16',
|
||||
ericfmt = '/your/path/to/ericfmt.dat'
|
||||
)
|
||||
|
||||
gms_job = job(cores=16,app='gamess.x')
|
||||
|
||||
h2o = generate_physical_system(
|
||||
# full atomic/electronic structure
|
||||
elem = ['O','H','H'],
|
||||
pos = [[0.000000, 0.000000, 0.000000],
|
||||
[0.000000,-0.757160, 0.586260],
|
||||
[0.000000, 0.757160, 0.586260]],
|
||||
units = 'A', # Angstroms
|
||||
net_spin = 0, # multiplicity=1, nup-ndown=0
|
||||
O = 6, # Zeff=6 for BFD ECP
|
||||
H = 1, # Zeff=1 for BFD ECP
|
||||
# C2v symmetry structure
|
||||
folded_elem = ['O','H'],
|
||||
folded_pos = [[0.000000, 0.000000, 0.000000],
|
||||
[0.000000, 0.757160, 0.586260]],
|
||||
)
|
||||
|
||||
sims = []
|
||||
|
||||
rhf = generate_gamess(
|
||||
identifier = 'rhf',
|
||||
path = 'pp_hf',
|
||||
job = gms_job,
|
||||
system = h2o,
|
||||
pseudos = ['O.BFD_V5Z.gms','H.BFD_V5Z_ANO.gms'],
|
||||
scftyp = 'rohf',
|
||||
runtyp = 'energy',
|
||||
exetyp = 'run',
|
||||
ispher = 1,
|
||||
maxit = 200,
|
||||
memory = 150000000,
|
||||
dirscf = True,
|
||||
guess = 'huckel',
|
||||
symmetry = 'Cnv 2',
|
||||
)
|
||||
sims.append(rhf)
|
||||
|
||||
run_project(sims)
|
|
@ -0,0 +1,68 @@
|
|||
H 1 0. 0. 0.
|
||||
s 6 1.00
|
||||
1 6.359201 -0.004943
|
||||
2 3.546637 0.049579
|
||||
3 1.493442 0.037176
|
||||
4 0.551948 0.287908
|
||||
5 0.207203 0.009543
|
||||
6 0.079234 0.770084
|
||||
s 6 1.00
|
||||
1 6.359201 -0.016672
|
||||
2 3.546637 -0.005774
|
||||
3 1.493442 -0.227982
|
||||
4 0.551948 -0.285652
|
||||
5 0.207203 -1.071579
|
||||
6 0.079234 1.423767
|
||||
s 6 1.00
|
||||
1 6.359201 -0.018886
|
||||
2 3.546637 -0.058854
|
||||
3 1.493442 -0.556988
|
||||
4 0.551948 -1.084022
|
||||
5 0.207203 2.721525
|
||||
6 0.079234 -1.458091
|
||||
s 6 1.00
|
||||
1 6.359201 -0.081999
|
||||
2 3.546637 -0.069460
|
||||
3 1.493442 -2.075555
|
||||
4 0.551948 4.125180
|
||||
5 0.207203 -3.407591
|
||||
6 0.079234 1.264873
|
||||
s 6 1.00
|
||||
1 6.359201 0.624292
|
||||
2 3.546637 -3.954593
|
||||
3 1.493442 5.614244
|
||||
4 0.551948 -4.299981
|
||||
5 0.207203 2.379542
|
||||
6 0.079234 -0.749499
|
||||
s 1 1.00
|
||||
1 0.102700 1.000000
|
||||
p 1 1.00
|
||||
1 4.516000 1.000000
|
||||
p 1 1.00
|
||||
1 1.712000 1.000000
|
||||
p 1 1.00
|
||||
1 0.649000 1.000000
|
||||
p 1 1.00
|
||||
1 0.246000 1.000000
|
||||
d 1 1.00
|
||||
1 2.950000 1.000000
|
||||
d 1 1.00
|
||||
1 1.206000 1.000000
|
||||
d 1 1.00
|
||||
1 0.493000 1.000000
|
||||
f 1 1.00
|
||||
1 1.397000 1.000000
|
||||
f 1 1.00
|
||||
1 2.506000 1.000000
|
||||
f 1 1.00
|
||||
1 0.875000 1.000000
|
||||
g 1 1.00
|
||||
1 2.358000 1.000000
|
||||
|
||||
|
||||
H-QMC GEN 0 0
|
||||
3
|
||||
1.00000000 1 4.47692410
|
||||
4.47692410 3 2.97636451
|
||||
-4.32112340 2 3.01841596
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
O 8 0. 0. 0.
|
||||
s 9 1.00
|
||||
1 0.125346 0.055741
|
||||
2 0.268022 0.304848
|
||||
3 0.573098 0.453752
|
||||
4 1.225429 0.295926
|
||||
5 2.620277 0.019567
|
||||
6 5.602818 -0.128627
|
||||
7 11.980245 0.012024
|
||||
8 25.616801 0.000407
|
||||
9 54.775216 -0.000076
|
||||
s 1 1.00
|
||||
1 0.160664 1.000000
|
||||
s 1 1.00
|
||||
1 0.384526 1.000000
|
||||
s 1 1.00
|
||||
1 0.935157 1.000000
|
||||
s 1 1.00
|
||||
1 1.937532 1.000000
|
||||
p 9 1.00
|
||||
1 0.083598 0.044958
|
||||
2 0.167017 0.150175
|
||||
3 0.333673 0.255999
|
||||
4 0.666627 0.281879
|
||||
5 1.331816 0.242835
|
||||
6 2.660761 0.161134
|
||||
7 5.315785 0.082308
|
||||
8 10.620108 0.039899
|
||||
9 21.217318 0.004679
|
||||
p 1 1.00
|
||||
1 0.130580 1.000000
|
||||
p 1 1.00
|
||||
1 0.372674 1.000000
|
||||
p 1 1.00
|
||||
1 1.178227 1.000000
|
||||
p 1 1.00
|
||||
1 1.589967 1.000000
|
||||
d 1 1.00
|
||||
1 0.401152 1.000000
|
||||
d 1 1.00
|
||||
1 1.174596 1.000000
|
||||
d 1 1.00
|
||||
1 2.823972 1.000000
|
||||
d 1 1.00
|
||||
1 4.292433 1.000000
|
||||
f 1 1.00
|
||||
1 0.708666 1.000000
|
||||
f 1 1.00
|
||||
1 2.006788 1.000000
|
||||
f 1 1.00
|
||||
1 3.223721 1.000000
|
||||
g 1 1.00
|
||||
1 1.207657 1.000000
|
||||
g 1 1.00
|
||||
1 3.584495 1.000000
|
||||
|
||||
|
||||
O-QMC GEN 2 1
|
||||
3
|
||||
6.00000000 1 9.29793903
|
||||
55.78763416 3 8.86492204
|
||||
-38.81978498 2 8.62925665
|
||||
1
|
||||
38.41914135 2 8.71924452
|
||||
|
|
@ -1699,6 +1699,20 @@ example_information = dict(
|
|||
('pwscf' ,'input','quantum_espresso/relax_Ge_T_vs_kpoints/runs/relax/kgrid_666/relax.in'),
|
||||
],
|
||||
),
|
||||
gamess_H2O = dict(
|
||||
scripts = [
|
||||
'gamess/H2O/h2o_pp_hf.py',
|
||||
'gamess/H2O/h2o_pp_cisd.py',
|
||||
'gamess/H2O/h2o_pp_casscf.py',
|
||||
],
|
||||
files = [
|
||||
('gamess' ,'input','gamess/H2O/runs/pp_hf/rhf.inp'),
|
||||
('gamess' ,'input','gamess/H2O/runs/pp_cisd/rhf.inp'),
|
||||
('gamess' ,'input','gamess/H2O/runs/pp_cisd/cisd.inp'),
|
||||
('gamess' ,'input','gamess/H2O/runs/pp_casscf/rhf.inp'),
|
||||
('gamess' ,'input','gamess/H2O/runs/pp_casscf/cas.inp'),
|
||||
],
|
||||
),
|
||||
qmcpack_H2O = dict(
|
||||
scripts = [
|
||||
'qmcpack/H2O/H2O.py',
|
||||
|
@ -1846,8 +1860,13 @@ def user_examples(label):
|
|||
failed = True
|
||||
# if difference due to periodically equivalent points
|
||||
# then it is not a failure
|
||||
check_pbc = code=='qmcpack' and len(dgen)==1 and len(dref)==1 and dgen.keys()[0].endswith('/position') and dref.keys()[0].endswith('/position')
|
||||
check_pbc |= code=='pwscf' and len(dgen)==1 and len(dref)==1 and dgen.keys()[0].endswith('/positions') and dref.keys()[0].endswith('/positions')
|
||||
check_pbc = False
|
||||
if len(dgen)==1 and len(dref)==1:
|
||||
kgen = dgen.keys()[0].rsplit('/',1)[1]
|
||||
kref = dref.keys()[0].rsplit('/',1)[1]
|
||||
check_pbc |= code=='qmcpack' and kgen==kref=='position'
|
||||
check_pbc |= code=='pwscf' and kgen==kref=='positions'
|
||||
#end if
|
||||
if check_pbc:
|
||||
try:
|
||||
# extract Structure objects from SimulationInput objects
|
||||
|
@ -1972,7 +1991,7 @@ def regenerate_reference(update=False,overwrite=True):
|
|||
|
||||
# execute all example scripts in generate_only mode
|
||||
for label,einfo in example_information.iteritems():
|
||||
for script_path in einfo.scripts:
|
||||
for script_path in einfo['scripts']:
|
||||
print ' generating reference data for '+script_path
|
||||
path,script = os.path.split(script_path)
|
||||
path = os.path.join(refgen_example_dir,path)
|
||||
|
@ -1990,9 +2009,10 @@ def regenerate_reference(update=False,overwrite=True):
|
|||
|
||||
# update the reference set of example files
|
||||
if update:
|
||||
overwrite = False
|
||||
ref_example_dir = os.path.join(reference_dir,'user_examples')
|
||||
for label,filelist in example_files.iteritems():
|
||||
for code,filetype,filepath in filelist:
|
||||
for label,einfo in example_information.iteritems():
|
||||
for code,filetype,filepath in einfo['files']:
|
||||
ref_filepath = os.path.join(ref_example_dir,filepath)
|
||||
gen_filepath = os.path.join(refgen_example_dir,filepath)
|
||||
if overwrite or not os.path.exists(ref_filepath):
|
||||
|
@ -2098,7 +2118,7 @@ if __name__=='__main__':
|
|||
for test in NexusTest.test_list:
|
||||
if regex is None:
|
||||
tests.append(test)
|
||||
elif re.match(regex,test.name):
|
||||
elif re.search(regex,test.name):
|
||||
tests.append(test)
|
||||
#end if
|
||||
#end for
|
||||
|
|
|
@ -1032,7 +1032,7 @@ def generate_any_gamess_input(**kwargs):
|
|||
|
||||
invalid_names = kwset-GamessInput.all_name_aliases
|
||||
if len(invalid_names)>0:
|
||||
GamessInput.class_error('invalid group names or keywords encountered\ninvalid names/keywords provided: {0}\nplease check if these group names or keywords are actually valid GAMESS inputs\nif so, unsupported groups can be generated by providing the keywords as a single argument:\n generate_gamess_input(\n ...,\n group_name = obj(assign keywords),\n ...,\n )'.format(sorted(invalid_names)),'generate_gamess_input')
|
||||
GamessInput.class_error('invalid group names or keywords encountered\ninvalid names/keywords provided: {0}\nplease check if these group names or keywords are actually valid GAMESS inputs\nif so, unsupported groups can be generated by providing the keywords as a single argument:\ngenerate_gamess_input(\n ...,\n group_name = obj(assign keywords),\n ...,\n )'.format(sorted(invalid_names)),'generate_gamess_input')
|
||||
#end if
|
||||
|
||||
gi = GamessInput()
|
||||
|
@ -1062,9 +1062,9 @@ def generate_any_gamess_input(**kwargs):
|
|||
elif name in GamessInput.key_groups:
|
||||
gi[name] = KeywordGroup(**group_info)
|
||||
elif name in GamessInput.card_groups:
|
||||
GamessInput.class_error('card group {0} cannot be generated from a keyword list\n keyword list provided:\n {1}'.format(name,group_info),'generate_gamess_input')
|
||||
GamessInput.class_error('card group {0} cannot be generated from a keyword list\nkeyword list provided:\n{1}'.format(name,group_info),'generate_gamess_input')
|
||||
elif name in GamessInput.formatted_groups:
|
||||
GamessInput.class_error('formatted group {0} cannot be generated from a keyword list\n keyword list provided:\n {1}'.format(name,group_info),'generate_gamess_input')
|
||||
GamessInput.class_error('formatted group {0} cannot be generated from a keyword list\nkeyword list provided:\n{1}'.format(name,group_info),'generate_gamess_input')
|
||||
else:
|
||||
gi[name] = KeywordGroup(**group_info) # assume keyword group
|
||||
#end if
|
||||
|
@ -1090,7 +1090,7 @@ def generate_any_gamess_input(**kwargs):
|
|||
#end if
|
||||
#end for
|
||||
if len(kwrem)>0:
|
||||
GamessInput.class_error('encountered unrecognized keywords\n unrecognized keywords: {0}\n these keywords may belong to groups not fully implemented here\n fully supported groups: {1}\n unsupported groups can be generated by providing the keywords as a single argument: group_name = obj(assign keywords)'.format(sorted(kwrem),GamessInput.keyspec_group_order))
|
||||
GamessInput.class_error('encountered unrecognized keywords\nunrecognized keywords: {0}\nthese keywords may belong to groups not fully implemented here\nfully supported groups: {1}\nunsupported groups can be generated by providing the keywords as a single argument: group_name = obj(assign keywords)'.format(sorted(kwrem),GamessInput.keyspec_group_order))
|
||||
#end if
|
||||
|
||||
# handle nexus specific input generation keywords
|
||||
|
@ -1101,12 +1101,20 @@ def generate_any_gamess_input(**kwargs):
|
|||
if not 'contrl' in gi:
|
||||
gi.contrl = ContrlGroup()
|
||||
#end if
|
||||
gi.contrl.set(
|
||||
# allow user override of charge and multiplicity from physical system
|
||||
gi.contrl.set_optional(
|
||||
icharg = system.net_charge,
|
||||
mult = system.net_spin+1
|
||||
mult = system.net_spin+1,
|
||||
)
|
||||
elem = system.structure.elem
|
||||
pos = system.structure.pos
|
||||
s = system.structure
|
||||
if s.has_folded():
|
||||
sf = s.folded_structure
|
||||
else:
|
||||
sf = s
|
||||
#end if
|
||||
elem_ecp = s.elem
|
||||
elem = sf.elem
|
||||
pos = sf.pos
|
||||
pskw.symmetry = pskw.symmetry.strip()
|
||||
data = '{0}\n{1}\n'.format(pskw.descriptor,pskw.symmetry)
|
||||
if pskw.symmetry!='C1':
|
||||
|
@ -1134,16 +1142,19 @@ def generate_any_gamess_input(**kwargs):
|
|||
coord = 'unique',
|
||||
ecp = 'read'
|
||||
)
|
||||
ecp = ''
|
||||
pps = nexus_noncore.pseudopotentials.pseudos_by_atom(*pskw.pseudos)
|
||||
atoms = set()
|
||||
for i in range(len(elem)):
|
||||
a = elem[i]
|
||||
for i,a in enumerate(elem):
|
||||
Z = pt[a].atomic_number
|
||||
data+='{0} {1} {2:16.8f} {3:16.8f} {4:16.8f}\n'.format(a,Z,*pos[i])
|
||||
if a in pps:
|
||||
data += pps[a].basis_text+'\n\n'
|
||||
#end if
|
||||
#end for
|
||||
ecp = ''
|
||||
atoms = set()
|
||||
for i,a in enumerate(elem_ecp):
|
||||
if a in pps:
|
||||
pp = pps[a]
|
||||
data += pp.basis_text+'\n\n'
|
||||
if a in atoms:
|
||||
ecp += pp.pp_name+'\n'
|
||||
else:
|
||||
|
|
|
@ -270,25 +270,37 @@ class PhysicalSystem(Matter):
|
|||
#end if
|
||||
|
||||
self.folded_system = None
|
||||
if self.structure.folded_structure!=None:
|
||||
vratio = structure.volume()/structure.folded_structure.volume()
|
||||
ncells = int(round(vratio))
|
||||
if abs(vratio-ncells)>1e-4:
|
||||
self.error('volume of system does not divide evenly into folded system')
|
||||
#end if
|
||||
if net_charge%ncells!=0:
|
||||
self.error('net charge of system does not divide evenly into folded system')
|
||||
#end if
|
||||
if isinstance(net_spin,str):
|
||||
net_spin_fold = net_spin
|
||||
elif net_spin%ncells!=0:
|
||||
self.error('net_spin of system does not divide evenly into folded system')
|
||||
if self.structure.has_folded():
|
||||
if self.structure.is_tiled():
|
||||
vratio = structure.volume()/structure.folded_structure.volume()
|
||||
ncells = int(round(vratio))
|
||||
if abs(vratio-ncells)>1e-4:
|
||||
self.error('volume of system does not divide evenly into folded system')
|
||||
#end if
|
||||
if net_charge%ncells!=0:
|
||||
self.error('net charge of system does not divide evenly into folded system')
|
||||
#end if
|
||||
if isinstance(net_spin,str):
|
||||
net_spin_fold = net_spin
|
||||
elif net_spin%ncells!=0:
|
||||
self.error('net_spin of system does not divide evenly into folded system')
|
||||
else:
|
||||
net_spin_fold = net_spin/ncells
|
||||
#end if
|
||||
net_charge_fold = net_charge/ncells
|
||||
elif not self.structure.has_axes(): # folded molecule
|
||||
# net charge/spin are not physically meaningful
|
||||
# for a point group folded molecule
|
||||
# set them to safe values; they will not be used later
|
||||
net_charge_fold = 0
|
||||
net_spin_fold = 'low'
|
||||
else:
|
||||
net_spin_fold = net_spin/ncells
|
||||
self.error('folded structure is not correctly integrated with full structure\nfolded physical system cannot be constructed')
|
||||
#end if
|
||||
|
||||
self.folded_system = PhysicalSystem(
|
||||
structure = structure.folded_structure,
|
||||
net_charge = net_charge/ncells,
|
||||
net_charge = net_charge_fold,
|
||||
net_spin = net_spin_fold,
|
||||
particles = particles,
|
||||
**valency
|
||||
|
|
|
@ -674,12 +674,30 @@ class Structure(Sobj):
|
|||
#end def set_operations
|
||||
|
||||
|
||||
def __init__(self,axes=None,scale=1.,elem=None,pos=None,mag=None,
|
||||
center=None,kpoints=None,kweights=None,kgrid=None,kshift=None,
|
||||
permute=None,units=None,tiling=None,rescale=True,dim=3,
|
||||
magnetization=None,magnetic_order=None,magnetic_prim=True,
|
||||
operations=None,background_charge=0,frozen=None,bconds=None,
|
||||
posu=None):
|
||||
def __init__(self,
|
||||
axes = None,
|
||||
scale = 1.,
|
||||
elem = None,
|
||||
pos = None,
|
||||
mag = None,
|
||||
center = None,
|
||||
kpoints = None,
|
||||
kweights = None,
|
||||
kgrid = None,
|
||||
kshift = None,
|
||||
permute = None,
|
||||
units = None,
|
||||
tiling = None,
|
||||
rescale = True,
|
||||
dim = 3,
|
||||
magnetization = None,
|
||||
magnetic_order = None,
|
||||
magnetic_prim = True,
|
||||
operations = None,
|
||||
background_charge = 0,
|
||||
frozen = None,
|
||||
bconds = None,
|
||||
posu = None):
|
||||
|
||||
if center is None:
|
||||
if axes is not None:
|
||||
|
@ -820,7 +838,7 @@ class Structure(Sobj):
|
|||
def operate(self,operations):
|
||||
for op in operations:
|
||||
if not op in self.operations:
|
||||
self.error('{0} is not a known operation\n valid options are:\n {1}'.format(op,list(self.operations.keys())))
|
||||
self.error('{0} is not a known operation\nvalid options are:\n {1}'.format(op,list(self.operations.keys())))
|
||||
else:
|
||||
self.operations[op](self)
|
||||
#end if
|
||||
|
@ -828,6 +846,16 @@ class Structure(Sobj):
|
|||
#end def operate
|
||||
|
||||
|
||||
def has_tmatrix(self):
|
||||
return 'tmatrix' in self and self.tmatrix is not None
|
||||
#end def has_tmatrix
|
||||
|
||||
|
||||
def is_tiled(self):
|
||||
return self.has_folded() and self.has_tmatrix()
|
||||
#end def is_tiled
|
||||
|
||||
|
||||
def set_folded(self,folded):
|
||||
self.set_folded_structure(folded)
|
||||
#end def set_folded
|
||||
|
@ -844,19 +872,26 @@ class Structure(Sobj):
|
|||
|
||||
|
||||
def set_folded_structure(self,folded):
|
||||
if not isinstance(folded,Structure):
|
||||
self.error('cannot set folded structure\nfolded structure must be an object with type Structure\nreceived type: {0}'.format(folded.__class__.__name__))
|
||||
#end if
|
||||
self.folded_structure = folded
|
||||
self.tmatrix = self.tilematrix(folded)
|
||||
if self.has_axes():
|
||||
self.tmatrix = self.tilematrix(folded)
|
||||
#end if
|
||||
#end def set_folded_structure
|
||||
|
||||
|
||||
def remove_folded_structure(self):
|
||||
self.folded_structure = None
|
||||
self.tmatrix = None
|
||||
if 'tmatrix' in self:
|
||||
del self.tmatrix
|
||||
#end if
|
||||
#end def remove_folded_structure
|
||||
|
||||
|
||||
def has_folded_structure(self):
|
||||
return self.folded_structure!=None
|
||||
return self.folded_structure is not None
|
||||
#end def has_folded_structure
|
||||
|
||||
|
||||
|
@ -2932,7 +2967,7 @@ class Structure(Sobj):
|
|||
|
||||
ts.recenter()
|
||||
ts.unique_kpoints()
|
||||
if self.folded_structure!=None:
|
||||
if self.is_tiled():
|
||||
ts.tmatrix = dot(tilematrix,self.tmatrix)
|
||||
ts.folded_structure = self.folded_structure.copy()
|
||||
else:
|
||||
|
@ -3180,7 +3215,7 @@ class Structure(Sobj):
|
|||
self.unique_kpoints()
|
||||
#end if
|
||||
self.recenter_k() #added because qmcpack cannot handle kpoints outside the box
|
||||
if self.folded_structure!=None:
|
||||
if self.is_tiled():
|
||||
kp,kw = self.kfold(self.tmatrix,kpoints,kweights)
|
||||
self.folded_structure.add_kpoints(kp,kw,unique=unique)
|
||||
#end if
|
||||
|
@ -5261,7 +5296,17 @@ def generate_structure(type='crystal',*args,**kwargs):
|
|||
|
||||
|
||||
|
||||
def generate_atom_structure(atom=None,units='A',Lbox=None,skew=0,axes=None,kgrid=(1,1,1),kshift=(0,0,0),bconds=tuple('nnn'),struct_type=Structure):
|
||||
def generate_atom_structure(
|
||||
atom = None,
|
||||
units = 'A',
|
||||
Lbox = None,
|
||||
skew = 0,
|
||||
axes = None,
|
||||
kgrid = (1,1,1),
|
||||
kshift = (0,0,0),
|
||||
bconds = tuple('nnn'),
|
||||
struct_type = Structure
|
||||
):
|
||||
if atom is None:
|
||||
Structure.class_error('atom must be provided','generate_atom_structure')
|
||||
#end if
|
||||
|
@ -5279,7 +5324,19 @@ def generate_atom_structure(atom=None,units='A',Lbox=None,skew=0,axes=None,kgrid
|
|||
#end def generate_atom_structure
|
||||
|
||||
|
||||
def generate_dimer_structure(dimer=None,units='A',separation=None,Lbox=None,skew=0,axes=None,kgrid=(1,1,1),kshift=(0,0,0),bconds=tuple('nnn'),struct_type=Structure,axis='x'):
|
||||
def generate_dimer_structure(
|
||||
dimer = None,
|
||||
units = 'A',
|
||||
separation = None,
|
||||
Lbox = None,
|
||||
skew = 0,
|
||||
axes = None,
|
||||
kgrid = (1,1,1),
|
||||
kshift = (0,0,0),
|
||||
bconds = tuple('nnn'),
|
||||
struct_type = Structure,
|
||||
axis = 'x'
|
||||
):
|
||||
if dimer is None:
|
||||
Structure.class_error('dimer atoms must be provided to construct dimer','generate_dimer_structure')
|
||||
#end if
|
||||
|
@ -5308,7 +5365,22 @@ def generate_dimer_structure(dimer=None,units='A',separation=None,Lbox=None,skew
|
|||
#end def generate_dimer_structure
|
||||
|
||||
|
||||
def generate_trimer_structure(trimer=None,units='A',separation=None,angle=None,Lbox=None,skew=0,axes=None,kgrid=(1,1,1),kshift=(0,0,0),struct_type=Structure,axis='x',axis2='y',angular_units='degrees',plane_rot=None):
|
||||
def generate_trimer_structure(
|
||||
trimer = None,
|
||||
units = 'A',
|
||||
separation = None,
|
||||
angle = None,
|
||||
Lbox = None,
|
||||
skew = 0,
|
||||
axes = None,
|
||||
kgrid = (1,1,1),
|
||||
kshift = (0,0,0),
|
||||
struct_type = Structure,
|
||||
axis = 'x',
|
||||
axis2 = 'y',
|
||||
angular_units = 'degrees',
|
||||
plane_rot = None
|
||||
):
|
||||
if trimer is None:
|
||||
Structure.class_error('trimer atoms must be provided to construct trimer','generate_trimer_structure')
|
||||
#end if
|
||||
|
@ -5381,34 +5453,61 @@ def generate_jellium_structure(*args,**kwargs):
|
|||
|
||||
|
||||
|
||||
def generate_crystal_structure(lattice=None,cell=None,centering=None,
|
||||
constants=None,atoms=None,basis=None,
|
||||
basis_vectors=None,tiling=None,cscale=None,
|
||||
axes=None,units=None,angular_units='degrees',
|
||||
magnetization=None,magnetic_order=None,magnetic_prim=True,
|
||||
kpoints=None,kweights=None,kgrid=None,kshift=(0,0,0),permute=None,
|
||||
structure=None,shape=None,element=None,scale=None, #legacy inputs
|
||||
operations=None,
|
||||
struct_type=Crystal,elem=None,pos=None,frozen=None,
|
||||
posu=None):
|
||||
def generate_crystal_structure(
|
||||
lattice = None,
|
||||
cell = None,
|
||||
centering = None,
|
||||
constants = None,
|
||||
atoms = None,
|
||||
basis = None,
|
||||
basis_vectors = None,
|
||||
tiling = None,
|
||||
cscale = None,
|
||||
axes = None,
|
||||
units = None,
|
||||
angular_units = 'degrees',
|
||||
magnetization = None,
|
||||
magnetic_order = None,
|
||||
magnetic_prim = True,
|
||||
kpoints = None,
|
||||
kweights = None,
|
||||
kgrid = None,
|
||||
kshift = (0,0,0),
|
||||
permute = None,
|
||||
operations = None,
|
||||
struct_type = Crystal,
|
||||
elem = None,
|
||||
pos = None,
|
||||
frozen = None,
|
||||
posu = None,
|
||||
folded_elem = None,
|
||||
folded_pos = None,
|
||||
folded_units = None,
|
||||
#legacy inputs
|
||||
structure = None,
|
||||
shape = None,
|
||||
element = None,
|
||||
scale = None,
|
||||
):
|
||||
|
||||
if structure!=None:
|
||||
if structure is not None:
|
||||
lattice = structure
|
||||
#end if
|
||||
if shape!=None:
|
||||
if shape is not None:
|
||||
cell = shape
|
||||
#end if
|
||||
if element!=None:
|
||||
if element is not None:
|
||||
atoms = element
|
||||
#end if
|
||||
if scale!=None:
|
||||
if scale is not None:
|
||||
constants = scale
|
||||
#end if
|
||||
|
||||
#interface for total manual specification
|
||||
# this is only here because 'crystal' is default and must handle other cases
|
||||
s = None
|
||||
if elem is not None and (pos is not None or posu is not None):
|
||||
return Structure(
|
||||
s = Structure(
|
||||
axes = axes,
|
||||
elem = elem,
|
||||
pos = pos,
|
||||
|
@ -5426,18 +5525,33 @@ def generate_crystal_structure(lattice=None,cell=None,centering=None,
|
|||
operations = operations,
|
||||
posu = posu)
|
||||
elif isinstance(structure,Structure):
|
||||
if tiling!=None:
|
||||
structure = structure.tile(tiling)
|
||||
s = structure
|
||||
if tiling is not None:
|
||||
s = s.tile(tiling)
|
||||
#end if
|
||||
if kpoints!=None:
|
||||
structure.add_kpoints(kpoints,kweights)
|
||||
if kpoints is not None:
|
||||
s.add_kpoints(kpoints,kweights)
|
||||
#end if
|
||||
if kgrid!=None:
|
||||
structure.add_kmesh(kgrid,kshift)
|
||||
if kgrid is not None:
|
||||
s.add_kmesh(kgrid,kshift)
|
||||
#end if
|
||||
return structure
|
||||
#end if
|
||||
|
||||
if s is not None:
|
||||
# add point group folded molecular system if present
|
||||
if folded_elem is not None and folded_pos is not None:
|
||||
if folded_units is None:
|
||||
folded_units = units
|
||||
#end if
|
||||
fs = Structure(
|
||||
elem = folded_elem,
|
||||
pos = folded_pos,
|
||||
units = folded_units,
|
||||
rescale = False,
|
||||
)
|
||||
s.set_folded(fs)
|
||||
#end if
|
||||
return s
|
||||
#end if
|
||||
|
||||
s=Crystal(
|
||||
lattice = lattice ,
|
||||
|
|
|
@ -0,0 +1,144 @@
|
|||
$contrl coord=unique ecp=read exetyp=run icharg=0 ispher=1
|
||||
maxit=200 mult=1 runtyp=energy scftyp=mcscf $end
|
||||
$system memory=150000000 $end
|
||||
$scf dirscf=.true. $end
|
||||
$drt fors=.true. group=C2v istsym=1 mxnint=500000 nalp=0 ndoc=4
|
||||
nmcc=0 nval=4 $end
|
||||
$mcscf acurcy=1d-05 cistep=guga fullnr=.true. maxit=1000 $end
|
||||
$ECP
|
||||
O-QMC GEN 2 1
|
||||
3
|
||||
6.00000000 1 9.29793903
|
||||
55.78763416 3 8.86492204
|
||||
-38.81978498 2 8.62925665
|
||||
1
|
||||
38.41914135 2 8.71924452
|
||||
H-QMC GEN 0 0
|
||||
3
|
||||
1.00000000 1 4.47692410
|
||||
4.47692410 3 2.97636451
|
||||
-4.32112340 2 3.01841596
|
||||
H-QMC
|
||||
$END
|
||||
$DATA
|
||||
A molecule.
|
||||
Cnv 2
|
||||
|
||||
O 8 0.00000000 0.00000000 0.00000000
|
||||
s 9 1.00
|
||||
1 0.125346 0.055741
|
||||
2 0.268022 0.304848
|
||||
3 0.573098 0.453752
|
||||
4 1.225429 0.295926
|
||||
5 2.620277 0.019567
|
||||
6 5.602818 -0.128627
|
||||
7 11.980245 0.012024
|
||||
8 25.616801 0.000407
|
||||
9 54.775216 -0.000076
|
||||
s 1 1.00
|
||||
1 0.160664 1.000000
|
||||
s 1 1.00
|
||||
1 0.384526 1.000000
|
||||
s 1 1.00
|
||||
1 0.935157 1.000000
|
||||
s 1 1.00
|
||||
1 1.937532 1.000000
|
||||
p 9 1.00
|
||||
1 0.083598 0.044958
|
||||
2 0.167017 0.150175
|
||||
3 0.333673 0.255999
|
||||
4 0.666627 0.281879
|
||||
5 1.331816 0.242835
|
||||
6 2.660761 0.161134
|
||||
7 5.315785 0.082308
|
||||
8 10.620108 0.039899
|
||||
9 21.217318 0.004679
|
||||
p 1 1.00
|
||||
1 0.130580 1.000000
|
||||
p 1 1.00
|
||||
1 0.372674 1.000000
|
||||
p 1 1.00
|
||||
1 1.178227 1.000000
|
||||
p 1 1.00
|
||||
1 1.589967 1.000000
|
||||
d 1 1.00
|
||||
1 0.401152 1.000000
|
||||
d 1 1.00
|
||||
1 1.174596 1.000000
|
||||
d 1 1.00
|
||||
1 2.823972 1.000000
|
||||
d 1 1.00
|
||||
1 4.292433 1.000000
|
||||
f 1 1.00
|
||||
1 0.708666 1.000000
|
||||
f 1 1.00
|
||||
1 2.006788 1.000000
|
||||
f 1 1.00
|
||||
1 3.223721 1.000000
|
||||
g 1 1.00
|
||||
1 1.207657 1.000000
|
||||
g 1 1.00
|
||||
1 3.584495 1.000000
|
||||
|
||||
H 1 0.00000000 0.75716000 0.58626000
|
||||
s 6 1.00
|
||||
1 6.359201 -0.004943
|
||||
2 3.546637 0.049579
|
||||
3 1.493442 0.037176
|
||||
4 0.551948 0.287908
|
||||
5 0.207203 0.009543
|
||||
6 0.079234 0.770084
|
||||
s 6 1.00
|
||||
1 6.359201 -0.016672
|
||||
2 3.546637 -0.005774
|
||||
3 1.493442 -0.227982
|
||||
4 0.551948 -0.285652
|
||||
5 0.207203 -1.071579
|
||||
6 0.079234 1.423767
|
||||
s 6 1.00
|
||||
1 6.359201 -0.018886
|
||||
2 3.546637 -0.058854
|
||||
3 1.493442 -0.556988
|
||||
4 0.551948 -1.084022
|
||||
5 0.207203 2.721525
|
||||
6 0.079234 -1.458091
|
||||
s 6 1.00
|
||||
1 6.359201 -0.081999
|
||||
2 3.546637 -0.069460
|
||||
3 1.493442 -2.075555
|
||||
4 0.551948 4.125180
|
||||
5 0.207203 -3.407591
|
||||
6 0.079234 1.264873
|
||||
s 6 1.00
|
||||
1 6.359201 0.624292
|
||||
2 3.546637 -3.954593
|
||||
3 1.493442 5.614244
|
||||
4 0.551948 -4.299981
|
||||
5 0.207203 2.379542
|
||||
6 0.079234 -0.749499
|
||||
s 1 1.00
|
||||
1 0.102700 1.000000
|
||||
p 1 1.00
|
||||
1 4.516000 1.000000
|
||||
p 1 1.00
|
||||
1 1.712000 1.000000
|
||||
p 1 1.00
|
||||
1 0.649000 1.000000
|
||||
p 1 1.00
|
||||
1 0.246000 1.000000
|
||||
d 1 1.00
|
||||
1 2.950000 1.000000
|
||||
d 1 1.00
|
||||
1 1.206000 1.000000
|
||||
d 1 1.00
|
||||
1 0.493000 1.000000
|
||||
f 1 1.00
|
||||
1 1.397000 1.000000
|
||||
f 1 1.00
|
||||
1 2.506000 1.000000
|
||||
f 1 1.00
|
||||
1 0.875000 1.000000
|
||||
g 1 1.00
|
||||
1 2.358000 1.000000
|
||||
|
||||
$END
|
|
@ -0,0 +1,142 @@
|
|||
$contrl coord=unique ecp=read exetyp=run icharg=0 ispher=1
|
||||
maxit=200 mult=1 runtyp=energy scftyp=rohf $end
|
||||
$system memory=150000000 $end
|
||||
$scf dirscf=.true. $end
|
||||
$guess guess=huckel prtmo=.true. $end
|
||||
$ECP
|
||||
O-QMC GEN 2 1
|
||||
3
|
||||
6.00000000 1 9.29793903
|
||||
55.78763416 3 8.86492204
|
||||
-38.81978498 2 8.62925665
|
||||
1
|
||||
38.41914135 2 8.71924452
|
||||
H-QMC GEN 0 0
|
||||
3
|
||||
1.00000000 1 4.47692410
|
||||
4.47692410 3 2.97636451
|
||||
-4.32112340 2 3.01841596
|
||||
H-QMC
|
||||
$END
|
||||
$DATA
|
||||
A molecule.
|
||||
Cnv 2
|
||||
|
||||
O 8 0.00000000 0.00000000 0.00000000
|
||||
s 9 1.00
|
||||
1 0.125346 0.055741
|
||||
2 0.268022 0.304848
|
||||
3 0.573098 0.453752
|
||||
4 1.225429 0.295926
|
||||
5 2.620277 0.019567
|
||||
6 5.602818 -0.128627
|
||||
7 11.980245 0.012024
|
||||
8 25.616801 0.000407
|
||||
9 54.775216 -0.000076
|
||||
s 1 1.00
|
||||
1 0.160664 1.000000
|
||||
s 1 1.00
|
||||
1 0.384526 1.000000
|
||||
s 1 1.00
|
||||
1 0.935157 1.000000
|
||||
s 1 1.00
|
||||
1 1.937532 1.000000
|
||||
p 9 1.00
|
||||
1 0.083598 0.044958
|
||||
2 0.167017 0.150175
|
||||
3 0.333673 0.255999
|
||||
4 0.666627 0.281879
|
||||
5 1.331816 0.242835
|
||||
6 2.660761 0.161134
|
||||
7 5.315785 0.082308
|
||||
8 10.620108 0.039899
|
||||
9 21.217318 0.004679
|
||||
p 1 1.00
|
||||
1 0.130580 1.000000
|
||||
p 1 1.00
|
||||
1 0.372674 1.000000
|
||||
p 1 1.00
|
||||
1 1.178227 1.000000
|
||||
p 1 1.00
|
||||
1 1.589967 1.000000
|
||||
d 1 1.00
|
||||
1 0.401152 1.000000
|
||||
d 1 1.00
|
||||
1 1.174596 1.000000
|
||||
d 1 1.00
|
||||
1 2.823972 1.000000
|
||||
d 1 1.00
|
||||
1 4.292433 1.000000
|
||||
f 1 1.00
|
||||
1 0.708666 1.000000
|
||||
f 1 1.00
|
||||
1 2.006788 1.000000
|
||||
f 1 1.00
|
||||
1 3.223721 1.000000
|
||||
g 1 1.00
|
||||
1 1.207657 1.000000
|
||||
g 1 1.00
|
||||
1 3.584495 1.000000
|
||||
|
||||
H 1 0.00000000 0.75716000 0.58626000
|
||||
s 6 1.00
|
||||
1 6.359201 -0.004943
|
||||
2 3.546637 0.049579
|
||||
3 1.493442 0.037176
|
||||
4 0.551948 0.287908
|
||||
5 0.207203 0.009543
|
||||
6 0.079234 0.770084
|
||||
s 6 1.00
|
||||
1 6.359201 -0.016672
|
||||
2 3.546637 -0.005774
|
||||
3 1.493442 -0.227982
|
||||
4 0.551948 -0.285652
|
||||
5 0.207203 -1.071579
|
||||
6 0.079234 1.423767
|
||||
s 6 1.00
|
||||
1 6.359201 -0.018886
|
||||
2 3.546637 -0.058854
|
||||
3 1.493442 -0.556988
|
||||
4 0.551948 -1.084022
|
||||
5 0.207203 2.721525
|
||||
6 0.079234 -1.458091
|
||||
s 6 1.00
|
||||
1 6.359201 -0.081999
|
||||
2 3.546637 -0.069460
|
||||
3 1.493442 -2.075555
|
||||
4 0.551948 4.125180
|
||||
5 0.207203 -3.407591
|
||||
6 0.079234 1.264873
|
||||
s 6 1.00
|
||||
1 6.359201 0.624292
|
||||
2 3.546637 -3.954593
|
||||
3 1.493442 5.614244
|
||||
4 0.551948 -4.299981
|
||||
5 0.207203 2.379542
|
||||
6 0.079234 -0.749499
|
||||
s 1 1.00
|
||||
1 0.102700 1.000000
|
||||
p 1 1.00
|
||||
1 4.516000 1.000000
|
||||
p 1 1.00
|
||||
1 1.712000 1.000000
|
||||
p 1 1.00
|
||||
1 0.649000 1.000000
|
||||
p 1 1.00
|
||||
1 0.246000 1.000000
|
||||
d 1 1.00
|
||||
1 2.950000 1.000000
|
||||
d 1 1.00
|
||||
1 1.206000 1.000000
|
||||
d 1 1.00
|
||||
1 0.493000 1.000000
|
||||
f 1 1.00
|
||||
1 1.397000 1.000000
|
||||
f 1 1.00
|
||||
1 2.506000 1.000000
|
||||
f 1 1.00
|
||||
1 0.875000 1.000000
|
||||
g 1 1.00
|
||||
1 2.358000 1.000000
|
||||
|
||||
$END
|
|
@ -0,0 +1,144 @@
|
|||
$contrl cityp=guga coord=unique ecp=read exetyp=run icharg=0
|
||||
ispher=1 maxit=200 mult=1 runtyp=energy scftyp=none $end
|
||||
$system memory=150000000 $end
|
||||
$scf dirscf=.true. $end
|
||||
$cidrt group=C2v iexcit=2 istsym=1 mxnint=500000 nalp=0 ndoc=4
|
||||
nfzc=0 nprt=2 nval=60 $end
|
||||
$gugdia cvgtol=1d-05 itermx=1000 prttol=0.001 $end
|
||||
$ECP
|
||||
O-QMC GEN 2 1
|
||||
3
|
||||
6.00000000 1 9.29793903
|
||||
55.78763416 3 8.86492204
|
||||
-38.81978498 2 8.62925665
|
||||
1
|
||||
38.41914135 2 8.71924452
|
||||
H-QMC GEN 0 0
|
||||
3
|
||||
1.00000000 1 4.47692410
|
||||
4.47692410 3 2.97636451
|
||||
-4.32112340 2 3.01841596
|
||||
H-QMC
|
||||
$END
|
||||
$DATA
|
||||
A molecule.
|
||||
Cnv 2
|
||||
|
||||
O 8 0.00000000 0.00000000 0.00000000
|
||||
s 9 1.00
|
||||
1 0.125346 0.055741
|
||||
2 0.268022 0.304848
|
||||
3 0.573098 0.453752
|
||||
4 1.225429 0.295926
|
||||
5 2.620277 0.019567
|
||||
6 5.602818 -0.128627
|
||||
7 11.980245 0.012024
|
||||
8 25.616801 0.000407
|
||||
9 54.775216 -0.000076
|
||||
s 1 1.00
|
||||
1 0.160664 1.000000
|
||||
s 1 1.00
|
||||
1 0.384526 1.000000
|
||||
s 1 1.00
|
||||
1 0.935157 1.000000
|
||||
s 1 1.00
|
||||
1 1.937532 1.000000
|
||||
p 9 1.00
|
||||
1 0.083598 0.044958
|
||||
2 0.167017 0.150175
|
||||
3 0.333673 0.255999
|
||||
4 0.666627 0.281879
|
||||
5 1.331816 0.242835
|
||||
6 2.660761 0.161134
|
||||
7 5.315785 0.082308
|
||||
8 10.620108 0.039899
|
||||
9 21.217318 0.004679
|
||||
p 1 1.00
|
||||
1 0.130580 1.000000
|
||||
p 1 1.00
|
||||
1 0.372674 1.000000
|
||||
p 1 1.00
|
||||
1 1.178227 1.000000
|
||||
p 1 1.00
|
||||
1 1.589967 1.000000
|
||||
d 1 1.00
|
||||
1 0.401152 1.000000
|
||||
d 1 1.00
|
||||
1 1.174596 1.000000
|
||||
d 1 1.00
|
||||
1 2.823972 1.000000
|
||||
d 1 1.00
|
||||
1 4.292433 1.000000
|
||||
f 1 1.00
|
||||
1 0.708666 1.000000
|
||||
f 1 1.00
|
||||
1 2.006788 1.000000
|
||||
f 1 1.00
|
||||
1 3.223721 1.000000
|
||||
g 1 1.00
|
||||
1 1.207657 1.000000
|
||||
g 1 1.00
|
||||
1 3.584495 1.000000
|
||||
|
||||
H 1 0.00000000 0.75716000 0.58626000
|
||||
s 6 1.00
|
||||
1 6.359201 -0.004943
|
||||
2 3.546637 0.049579
|
||||
3 1.493442 0.037176
|
||||
4 0.551948 0.287908
|
||||
5 0.207203 0.009543
|
||||
6 0.079234 0.770084
|
||||
s 6 1.00
|
||||
1 6.359201 -0.016672
|
||||
2 3.546637 -0.005774
|
||||
3 1.493442 -0.227982
|
||||
4 0.551948 -0.285652
|
||||
5 0.207203 -1.071579
|
||||
6 0.079234 1.423767
|
||||
s 6 1.00
|
||||
1 6.359201 -0.018886
|
||||
2 3.546637 -0.058854
|
||||
3 1.493442 -0.556988
|
||||
4 0.551948 -1.084022
|
||||
5 0.207203 2.721525
|
||||
6 0.079234 -1.458091
|
||||
s 6 1.00
|
||||
1 6.359201 -0.081999
|
||||
2 3.546637 -0.069460
|
||||
3 1.493442 -2.075555
|
||||
4 0.551948 4.125180
|
||||
5 0.207203 -3.407591
|
||||
6 0.079234 1.264873
|
||||
s 6 1.00
|
||||
1 6.359201 0.624292
|
||||
2 3.546637 -3.954593
|
||||
3 1.493442 5.614244
|
||||
4 0.551948 -4.299981
|
||||
5 0.207203 2.379542
|
||||
6 0.079234 -0.749499
|
||||
s 1 1.00
|
||||
1 0.102700 1.000000
|
||||
p 1 1.00
|
||||
1 4.516000 1.000000
|
||||
p 1 1.00
|
||||
1 1.712000 1.000000
|
||||
p 1 1.00
|
||||
1 0.649000 1.000000
|
||||
p 1 1.00
|
||||
1 0.246000 1.000000
|
||||
d 1 1.00
|
||||
1 2.950000 1.000000
|
||||
d 1 1.00
|
||||
1 1.206000 1.000000
|
||||
d 1 1.00
|
||||
1 0.493000 1.000000
|
||||
f 1 1.00
|
||||
1 1.397000 1.000000
|
||||
f 1 1.00
|
||||
1 2.506000 1.000000
|
||||
f 1 1.00
|
||||
1 0.875000 1.000000
|
||||
g 1 1.00
|
||||
1 2.358000 1.000000
|
||||
|
||||
$END
|
|
@ -0,0 +1,142 @@
|
|||
$contrl coord=unique ecp=read exetyp=run icharg=0 ispher=1
|
||||
maxit=200 mult=1 runtyp=energy scftyp=rohf $end
|
||||
$system memory=150000000 $end
|
||||
$scf dirscf=.true. $end
|
||||
$guess guess=huckel prtmo=.true. $end
|
||||
$ECP
|
||||
O-QMC GEN 2 1
|
||||
3
|
||||
6.00000000 1 9.29793903
|
||||
55.78763416 3 8.86492204
|
||||
-38.81978498 2 8.62925665
|
||||
1
|
||||
38.41914135 2 8.71924452
|
||||
H-QMC GEN 0 0
|
||||
3
|
||||
1.00000000 1 4.47692410
|
||||
4.47692410 3 2.97636451
|
||||
-4.32112340 2 3.01841596
|
||||
H-QMC
|
||||
$END
|
||||
$DATA
|
||||
A molecule.
|
||||
Cnv 2
|
||||
|
||||
O 8 0.00000000 0.00000000 0.00000000
|
||||
s 9 1.00
|
||||
1 0.125346 0.055741
|
||||
2 0.268022 0.304848
|
||||
3 0.573098 0.453752
|
||||
4 1.225429 0.295926
|
||||
5 2.620277 0.019567
|
||||
6 5.602818 -0.128627
|
||||
7 11.980245 0.012024
|
||||
8 25.616801 0.000407
|
||||
9 54.775216 -0.000076
|
||||
s 1 1.00
|
||||
1 0.160664 1.000000
|
||||
s 1 1.00
|
||||
1 0.384526 1.000000
|
||||
s 1 1.00
|
||||
1 0.935157 1.000000
|
||||
s 1 1.00
|
||||
1 1.937532 1.000000
|
||||
p 9 1.00
|
||||
1 0.083598 0.044958
|
||||
2 0.167017 0.150175
|
||||
3 0.333673 0.255999
|
||||
4 0.666627 0.281879
|
||||
5 1.331816 0.242835
|
||||
6 2.660761 0.161134
|
||||
7 5.315785 0.082308
|
||||
8 10.620108 0.039899
|
||||
9 21.217318 0.004679
|
||||
p 1 1.00
|
||||
1 0.130580 1.000000
|
||||
p 1 1.00
|
||||
1 0.372674 1.000000
|
||||
p 1 1.00
|
||||
1 1.178227 1.000000
|
||||
p 1 1.00
|
||||
1 1.589967 1.000000
|
||||
d 1 1.00
|
||||
1 0.401152 1.000000
|
||||
d 1 1.00
|
||||
1 1.174596 1.000000
|
||||
d 1 1.00
|
||||
1 2.823972 1.000000
|
||||
d 1 1.00
|
||||
1 4.292433 1.000000
|
||||
f 1 1.00
|
||||
1 0.708666 1.000000
|
||||
f 1 1.00
|
||||
1 2.006788 1.000000
|
||||
f 1 1.00
|
||||
1 3.223721 1.000000
|
||||
g 1 1.00
|
||||
1 1.207657 1.000000
|
||||
g 1 1.00
|
||||
1 3.584495 1.000000
|
||||
|
||||
H 1 0.00000000 0.75716000 0.58626000
|
||||
s 6 1.00
|
||||
1 6.359201 -0.004943
|
||||
2 3.546637 0.049579
|
||||
3 1.493442 0.037176
|
||||
4 0.551948 0.287908
|
||||
5 0.207203 0.009543
|
||||
6 0.079234 0.770084
|
||||
s 6 1.00
|
||||
1 6.359201 -0.016672
|
||||
2 3.546637 -0.005774
|
||||
3 1.493442 -0.227982
|
||||
4 0.551948 -0.285652
|
||||
5 0.207203 -1.071579
|
||||
6 0.079234 1.423767
|
||||
s 6 1.00
|
||||
1 6.359201 -0.018886
|
||||
2 3.546637 -0.058854
|
||||
3 1.493442 -0.556988
|
||||
4 0.551948 -1.084022
|
||||
5 0.207203 2.721525
|
||||
6 0.079234 -1.458091
|
||||
s 6 1.00
|
||||
1 6.359201 -0.081999
|
||||
2 3.546637 -0.069460
|
||||
3 1.493442 -2.075555
|
||||
4 0.551948 4.125180
|
||||
5 0.207203 -3.407591
|
||||
6 0.079234 1.264873
|
||||
s 6 1.00
|
||||
1 6.359201 0.624292
|
||||
2 3.546637 -3.954593
|
||||
3 1.493442 5.614244
|
||||
4 0.551948 -4.299981
|
||||
5 0.207203 2.379542
|
||||
6 0.079234 -0.749499
|
||||
s 1 1.00
|
||||
1 0.102700 1.000000
|
||||
p 1 1.00
|
||||
1 4.516000 1.000000
|
||||
p 1 1.00
|
||||
1 1.712000 1.000000
|
||||
p 1 1.00
|
||||
1 0.649000 1.000000
|
||||
p 1 1.00
|
||||
1 0.246000 1.000000
|
||||
d 1 1.00
|
||||
1 2.950000 1.000000
|
||||
d 1 1.00
|
||||
1 1.206000 1.000000
|
||||
d 1 1.00
|
||||
1 0.493000 1.000000
|
||||
f 1 1.00
|
||||
1 1.397000 1.000000
|
||||
f 1 1.00
|
||||
1 2.506000 1.000000
|
||||
f 1 1.00
|
||||
1 0.875000 1.000000
|
||||
g 1 1.00
|
||||
1 2.358000 1.000000
|
||||
|
||||
$END
|
|
@ -0,0 +1,142 @@
|
|||
$contrl coord=unique ecp=read exetyp=run icharg=0 ispher=1
|
||||
maxit=200 mult=1 runtyp=energy scftyp=rohf $end
|
||||
$system memory=150000000 $end
|
||||
$scf dirscf=.true. $end
|
||||
$guess guess=huckel $end
|
||||
$ECP
|
||||
O-QMC GEN 2 1
|
||||
3
|
||||
6.00000000 1 9.29793903
|
||||
55.78763416 3 8.86492204
|
||||
-38.81978498 2 8.62925665
|
||||
1
|
||||
38.41914135 2 8.71924452
|
||||
H-QMC GEN 0 0
|
||||
3
|
||||
1.00000000 1 4.47692410
|
||||
4.47692410 3 2.97636451
|
||||
-4.32112340 2 3.01841596
|
||||
H-QMC
|
||||
$END
|
||||
$DATA
|
||||
A molecule.
|
||||
Cnv 2
|
||||
|
||||
O 8 0.00000000 0.00000000 0.00000000
|
||||
s 9 1.00
|
||||
1 0.125346 0.055741
|
||||
2 0.268022 0.304848
|
||||
3 0.573098 0.453752
|
||||
4 1.225429 0.295926
|
||||
5 2.620277 0.019567
|
||||
6 5.602818 -0.128627
|
||||
7 11.980245 0.012024
|
||||
8 25.616801 0.000407
|
||||
9 54.775216 -0.000076
|
||||
s 1 1.00
|
||||
1 0.160664 1.000000
|
||||
s 1 1.00
|
||||
1 0.384526 1.000000
|
||||
s 1 1.00
|
||||
1 0.935157 1.000000
|
||||
s 1 1.00
|
||||
1 1.937532 1.000000
|
||||
p 9 1.00
|
||||
1 0.083598 0.044958
|
||||
2 0.167017 0.150175
|
||||
3 0.333673 0.255999
|
||||
4 0.666627 0.281879
|
||||
5 1.331816 0.242835
|
||||
6 2.660761 0.161134
|
||||
7 5.315785 0.082308
|
||||
8 10.620108 0.039899
|
||||
9 21.217318 0.004679
|
||||
p 1 1.00
|
||||
1 0.130580 1.000000
|
||||
p 1 1.00
|
||||
1 0.372674 1.000000
|
||||
p 1 1.00
|
||||
1 1.178227 1.000000
|
||||
p 1 1.00
|
||||
1 1.589967 1.000000
|
||||
d 1 1.00
|
||||
1 0.401152 1.000000
|
||||
d 1 1.00
|
||||
1 1.174596 1.000000
|
||||
d 1 1.00
|
||||
1 2.823972 1.000000
|
||||
d 1 1.00
|
||||
1 4.292433 1.000000
|
||||
f 1 1.00
|
||||
1 0.708666 1.000000
|
||||
f 1 1.00
|
||||
1 2.006788 1.000000
|
||||
f 1 1.00
|
||||
1 3.223721 1.000000
|
||||
g 1 1.00
|
||||
1 1.207657 1.000000
|
||||
g 1 1.00
|
||||
1 3.584495 1.000000
|
||||
|
||||
H 1 0.00000000 0.75716000 0.58626000
|
||||
s 6 1.00
|
||||
1 6.359201 -0.004943
|
||||
2 3.546637 0.049579
|
||||
3 1.493442 0.037176
|
||||
4 0.551948 0.287908
|
||||
5 0.207203 0.009543
|
||||
6 0.079234 0.770084
|
||||
s 6 1.00
|
||||
1 6.359201 -0.016672
|
||||
2 3.546637 -0.005774
|
||||
3 1.493442 -0.227982
|
||||
4 0.551948 -0.285652
|
||||
5 0.207203 -1.071579
|
||||
6 0.079234 1.423767
|
||||
s 6 1.00
|
||||
1 6.359201 -0.018886
|
||||
2 3.546637 -0.058854
|
||||
3 1.493442 -0.556988
|
||||
4 0.551948 -1.084022
|
||||
5 0.207203 2.721525
|
||||
6 0.079234 -1.458091
|
||||
s 6 1.00
|
||||
1 6.359201 -0.081999
|
||||
2 3.546637 -0.069460
|
||||
3 1.493442 -2.075555
|
||||
4 0.551948 4.125180
|
||||
5 0.207203 -3.407591
|
||||
6 0.079234 1.264873
|
||||
s 6 1.00
|
||||
1 6.359201 0.624292
|
||||
2 3.546637 -3.954593
|
||||
3 1.493442 5.614244
|
||||
4 0.551948 -4.299981
|
||||
5 0.207203 2.379542
|
||||
6 0.079234 -0.749499
|
||||
s 1 1.00
|
||||
1 0.102700 1.000000
|
||||
p 1 1.00
|
||||
1 4.516000 1.000000
|
||||
p 1 1.00
|
||||
1 1.712000 1.000000
|
||||
p 1 1.00
|
||||
1 0.649000 1.000000
|
||||
p 1 1.00
|
||||
1 0.246000 1.000000
|
||||
d 1 1.00
|
||||
1 2.950000 1.000000
|
||||
d 1 1.00
|
||||
1 1.206000 1.000000
|
||||
d 1 1.00
|
||||
1 0.493000 1.000000
|
||||
f 1 1.00
|
||||
1 1.397000 1.000000
|
||||
f 1 1.00
|
||||
1 2.506000 1.000000
|
||||
f 1 1.00
|
||||
1 0.875000 1.000000
|
||||
g 1 1.00
|
||||
1 2.358000 1.000000
|
||||
|
||||
$END
|
|
@ -50,6 +50,12 @@ namespace qmcplusplus
|
|||
std::map<std::string,SPOSetBuilder*> SPOSetBuilderFactory::spo_builders;
|
||||
SPOSetBuilder* SPOSetBuilderFactory::last_builder=0;
|
||||
|
||||
void SPOSetBuilderFactory::clear()
|
||||
{
|
||||
spo_builders.clear();
|
||||
last_builder = nullptr;
|
||||
}
|
||||
|
||||
SPOSetBase* get_sposet(const std::string& name)
|
||||
{
|
||||
int nfound = 0;
|
||||
|
|
|
@ -43,6 +43,9 @@ public:
|
|||
///set of basis set builders resolved by type
|
||||
static std::map<std::string,SPOSetBuilder*> spo_builders;
|
||||
|
||||
/// Reset the map and last_builder pointers. Mostly for unit tests.
|
||||
static void clear();
|
||||
|
||||
/** constructor
|
||||
* \param els reference to the electrons
|
||||
* \param psi reference to the wavefunction
|
||||
|
|
|
@ -30,9 +30,19 @@ MAYBE_SYMLINK(${UTEST_HDF_INPUT} ${UTEST_DIR}/pwscf.pwscf.h5)
|
|||
MAYBE_SYMLINK(${UTEST_HDF_INPUT2} ${UTEST_DIR}/bccH.pwscf.h5)
|
||||
MAYBE_SYMLINK(${UTEST_HDF_INPUT3} ${UTEST_DIR}/LiH-arb.pwscf.h5)
|
||||
|
||||
SET(FILES_TO_COPY he_sto3g.wfj.xml ne_def2_svp.wfnoj.xml hcn.structure.xml hcn.wfnoj.xml)
|
||||
|
||||
FOREACH(fname ${FILES_TO_COPY})
|
||||
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${fname}" ${UTEST_DIR})
|
||||
ENDFOREACH()
|
||||
|
||||
IF ((NOT QMC_COMPLEX) AND (NOT QMC_MIXED_PRECISION))
|
||||
SET(MO_SRCS test_MO.cpp)
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(${UTEST_EXE} test_wf.cpp test_bspline_jastrow.cpp test_einset.cpp test_pw.cpp
|
||||
test_polynomial_eeI_jastrow.cpp test_dirac_det.cpp test_dirac_matrix.cpp
|
||||
test_wavefunction_factory.cpp)
|
||||
test_wavefunction_factory.cpp ${MO_SRCS})
|
||||
TARGET_LINK_LIBRARIES(${UTEST_EXE} qmc qmcwfs qmcbase qmcutil ${QMC_UTIL_LIBS} ${MPI_LIBRARY})
|
||||
|
||||
ADD_UNIT_TEST(${UTEST_NAME} "${QMCPACK_UNIT_TEST_DIR}/${UTEST_EXE}")
|
||||
|
|
|
@ -0,0 +1,200 @@
|
|||
|
||||
|
||||
# Evaluate GTO's starting from a symbolic representation
|
||||
# see qmc_algorithms/Wavefunctions/GaussianOrbitals.ipynb
|
||||
|
||||
from sympy import *
|
||||
from collections import namedtuple, defaultdict
|
||||
|
||||
|
||||
CG_basis = namedtuple('CG_basis',['orbtype','nbasis','zeta','contraction_coeff'])
|
||||
|
||||
class GTO:
|
||||
def __init__(self, basis=None, center=[0.0, 0.0, 0.0]):
|
||||
x,y,z = symbols('x y z')
|
||||
alpha = Symbol('alpha', positive=True, real=True)
|
||||
r = Symbol('r',real=True,nonnegative=True)
|
||||
i,j,k = symbols('i j k',integer=True)
|
||||
N = Symbol('N')
|
||||
self.N = N
|
||||
norm1 = factorial(i)*factorial(j)*factorial(k)
|
||||
norm2 = factorial(2*i)*factorial(2*j)*factorial(2*k)
|
||||
norm_sym = (2*alpha/pi)**(3/S(4)) * sqrt((8*alpha)**(i+j+k)*norm1/norm2)
|
||||
|
||||
gto_sym_raw = N * x**i * y**j * z**k * exp(-alpha *r**2)
|
||||
|
||||
gto_sym = gto_sym_raw.subs(N, norm_sym)
|
||||
|
||||
self.alpha = alpha
|
||||
self.x = x; self.y = y; self.z = z
|
||||
self.r = r
|
||||
self.i = i; self.j = j; self.k = k
|
||||
self.gto_sym = gto_sym
|
||||
self.compute_grad()
|
||||
|
||||
self.ijk = get_ijk_by_type()
|
||||
|
||||
self.basis = basis
|
||||
self.center = center
|
||||
|
||||
|
||||
def compute_grad(self):
|
||||
r2 = self.x**2 + self.y**2 + self.z**2
|
||||
gto_xyz = self.gto_sym.subs(self.r**2, r2)
|
||||
#print gto_xyz
|
||||
self.grad = [0]*3
|
||||
self.grad[0] = diff(gto_xyz, self.x).subs(r2, self.r**2)
|
||||
self.grad[1] = diff(gto_xyz, self.y).subs(r2, self.r**2)
|
||||
self.grad[2] = diff(gto_xyz, self.z).subs(r2, self.r**2)
|
||||
lap = diff(gto_xyz, self.x, 2) + \
|
||||
diff(gto_xyz, self.y, 2) + \
|
||||
diff(gto_xyz, self.z, 2)
|
||||
# Need to expand to avoid NaN's
|
||||
self.lap = expand(lap.subs(r2, self.r**2))
|
||||
|
||||
def set_basis(self, basis):
|
||||
self.basis = basis
|
||||
|
||||
def make_subs_list(self, i, j, k, x, y, z, alpha):
|
||||
subs_list = {self.i:i, self.j:j, self.k:k}
|
||||
r2 = x**2 + y**2 + z**2
|
||||
r_val = sqrt(r2)
|
||||
subs_list[self.r] = r_val
|
||||
subs_list[self.r**2] = r2
|
||||
subs_list[self.alpha] = alpha
|
||||
subs_list[self.x] = x
|
||||
subs_list[self.y] = y
|
||||
subs_list[self.z] = z
|
||||
return subs_list
|
||||
|
||||
def eval_single_v(self, i, j, k, x, y, z, alpha):
|
||||
xc = x - self.center[0]
|
||||
yc = y - self.center[1]
|
||||
zc = z - self.center[2]
|
||||
sl1 = self.make_subs_list(i,j,k,xc,yc,zc,alpha)
|
||||
v = self.gto_sym.subs(sl1).evalf()
|
||||
return v
|
||||
|
||||
def eval_single_vgl(self, i, j, k, x, y, z, alpha):
|
||||
xc = x - self.center[0]
|
||||
yc = y - self.center[1]
|
||||
zc = z - self.center[2]
|
||||
sl1 = self.make_subs_list(i,j,k,xc,yc,zc,alpha)
|
||||
v = self.gto_sym.subs(sl1).evalf()
|
||||
g = [grad.subs(sl1).evalf() for grad in self.grad]
|
||||
lap = self.lap.subs(sl1).evalf()
|
||||
return v,g,lap
|
||||
|
||||
def eval_contraction_v(self, x, y, z, basis):
|
||||
vals = []
|
||||
# Expand each basis type by the angular momentum state
|
||||
angular_list = self.ijk[basis.orbtype]
|
||||
for i,j,k,name in angular_list:
|
||||
val = 0.0
|
||||
for idx in range(basis.nbasis):
|
||||
val += basis.contraction_coeff[idx] * self.eval_single_v(i,j,k,x,y,z,basis.zeta[idx])
|
||||
vals.append(val)
|
||||
|
||||
return vals
|
||||
|
||||
def eval_contraction_vgl(self, x, y, z, basis):
|
||||
vals = []
|
||||
grads = []
|
||||
laps = []
|
||||
|
||||
angular_list = self.ijk[basis.orbtype]
|
||||
for i,j,k,name in angular_list:
|
||||
val = 0.0
|
||||
grad = [0.0, 0.0, 0.0]
|
||||
lap = 0.0
|
||||
for idx in range(basis.nbasis):
|
||||
c = basis.contraction_coeff[idx]
|
||||
v,g,l = self.eval_single_vgl(i,j,k,x,y,z,basis.zeta[idx])
|
||||
val += c*v
|
||||
lap += c*l
|
||||
grad = [c*g[m] + grad[m] for m in range(3)]
|
||||
vals.append(val)
|
||||
grads.append(grad)
|
||||
laps.append(lap)
|
||||
return vals, grads, laps
|
||||
|
||||
def eval_v(self, x, y, z):
|
||||
vs = []
|
||||
for basis in self.basis:
|
||||
v = self.eval_contraction_v(x, y, z, basis)
|
||||
vs.extend(v)
|
||||
return vs
|
||||
|
||||
def eval_vgl(self, x, y, z):
|
||||
vs = []
|
||||
grads = []
|
||||
lapls = []
|
||||
for basis in self.basis:
|
||||
v,g,l = self.eval_contraction_vgl(x, y, z, basis)
|
||||
vs.extend(v)
|
||||
grads.extend(g)
|
||||
lapls.extend(l)
|
||||
return vs, grads, lapls
|
||||
|
||||
# generated from qmcpack src/Numerics/codegen/read_order.py
|
||||
# Only part of the function included for now
|
||||
def get_ijk():
|
||||
ijk = []
|
||||
# S
|
||||
ijk.append( (0,0,0,"S") )
|
||||
# P
|
||||
ijk.append( (1,0,0,"X") )
|
||||
ijk.append( (0,1,0,"Y") )
|
||||
ijk.append( (0,0,1,"Z") )
|
||||
# D
|
||||
ijk.append( (2,0,0,"XX") )
|
||||
ijk.append( (0,2,0,"YY") )
|
||||
ijk.append( (0,0,2,"ZZ") )
|
||||
ijk.append( (1,1,0,"XY") )
|
||||
ijk.append( (1,0,1,"XZ") )
|
||||
ijk.append( (0,1,1,"YZ") )
|
||||
|
||||
return ijk
|
||||
|
||||
def get_ijk_by_type():
|
||||
ijk_list = get_ijk()
|
||||
|
||||
by_type = defaultdict(list)
|
||||
for i,j,k,name in ijk_list:
|
||||
L = i + j + k
|
||||
by_type[L].append((i,j,k,name))
|
||||
|
||||
return by_type
|
||||
|
||||
|
||||
# Collection of atoms with different types and positions
|
||||
class GTO_centers:
|
||||
def __init__(self, pos_list, elements, basis_sets):
|
||||
self.gto_list = []
|
||||
for pos, element in zip(pos_list, elements):
|
||||
gto = GTO(basis_sets[element], pos)
|
||||
self.gto_list.append(gto)
|
||||
|
||||
def eval_v(self, x, y, z):
|
||||
vs = []
|
||||
for gto in self.gto_list:
|
||||
v = gto.eval_v(x, y, z)
|
||||
vs.extend(v)
|
||||
return vs
|
||||
|
||||
def eval_vgl(self, x, y, z):
|
||||
vs = []
|
||||
grads = []
|
||||
laps = []
|
||||
for gto in self.gto_list:
|
||||
v,g,l = gto.eval_vgl(x,y,z)
|
||||
vs.extend(v)
|
||||
grads.extend(g)
|
||||
laps.extend(l)
|
||||
|
||||
return vs, grads, laps
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
gto = GTO()
|
|
@ -0,0 +1,82 @@
|
|||
|
||||
# Compute values for Gaussian Type Orbitals
|
||||
# Used in test_MO.cpp
|
||||
|
||||
import read_qmcpack
|
||||
import gaussian_orbitals
|
||||
import numpy as np
|
||||
|
||||
def gen_He():
|
||||
basis_sets, MO_matrix = read_qmcpack.parse_qmc_wf("he_sto3g.wfj.xml")
|
||||
gto = gaussian_orbitals.GTO(basis_sets['He'])
|
||||
for pos in ([0.1, 0.0, 0.0], [1.0, 0.0, 0.0]):
|
||||
atomic_orbs = gto.eval_v(*pos)
|
||||
|
||||
print ' // Generated from gen_mo.py for position %s'%str(pos)
|
||||
print ' REQUIRE(values[%d] == Approx(%15.10g));'%(0,atomic_orbs[0])
|
||||
print ''
|
||||
|
||||
v,g,l = gto.eval_vgl(*pos)
|
||||
print ' // Generated from gen_mo.py for position %s'%str(pos)
|
||||
print ' REQUIRE(values[%d] == Approx(%15.10g));'%(0,v[0])
|
||||
print ' REQUIRE(dpsi[%d][0] == Approx(%15.10g));'%(0,g[0][0])
|
||||
print ' REQUIRE(dpsi[%d][1] == Approx(%15.10g));'%(0,g[0][1])
|
||||
print ' REQUIRE(dpsi[%d][2] == Approx(%15.10g));'%(0,g[0][2])
|
||||
print ' REQUIRE(d2psi[%d] == Approx(%15.10g));'%(0,l[0])
|
||||
print ''
|
||||
|
||||
def gen_Ne():
|
||||
basis_sets, MO_matrix = read_qmcpack.parse_qmc_wf("ne_def2_svp.wfnoj.xml")
|
||||
gto = gaussian_orbitals.GTO(basis_sets['Ne'])
|
||||
for pos in ([0.00001, 0.0, 0.0], [1.0, 0.0, 0.0]):
|
||||
atomic_orbs = gto.eval_v(*pos)
|
||||
mol_orbs = np.dot(MO_matrix, atomic_orbs)
|
||||
|
||||
print ' // Generated from gen_mo.py for position %s'%str(pos)
|
||||
print ' REQUIRE(values[%d] == Approx(%15.10g));'%(0,mol_orbs[0])
|
||||
|
||||
v,g,l = gto.eval_vgl(*pos)
|
||||
mo_v = np.dot(MO_matrix, v)
|
||||
mo_g = np.dot(MO_matrix, g)
|
||||
mo_l = np.dot(MO_matrix, l)
|
||||
print ' // Generated from gen_mo.py for position %s'%str(pos)
|
||||
print ' REQUIRE(values[%d] == Approx(%15.10g));'%(0,mo_v[0])
|
||||
print ' REQUIRE(dpsi[%d][0] == Approx(%15.10g));'%(0,mo_g[0][0])
|
||||
print ' REQUIRE(dpsi[%d][1] == Approx(%15.10g));'%(0,mo_g[0][1])
|
||||
print ' REQUIRE(dpsi[%d][2] == Approx(%15.10g));'%(0,mo_g[0][2])
|
||||
print ' REQUIRE(d2psi[%d] == Approx(%15.10g));'%(0,mo_l[0])
|
||||
|
||||
|
||||
def gen_HCN():
|
||||
basis_sets, MO_matrix = read_qmcpack.parse_qmc_wf("hcn.wfnoj.xml")
|
||||
pos_list, elements = read_qmcpack.read_structure_file("hcn.structure.xml")
|
||||
|
||||
gtos = gaussian_orbitals.GTO_centers(pos_list, elements, basis_sets)
|
||||
pos = [0.0, 0.0, 0.0]
|
||||
atomic_orbs = gtos.eval_v(*pos)
|
||||
#print 'first MO',MO_matrix[0,:]
|
||||
#print 'atomic_orbs',atomic_orbs
|
||||
mol_orbs = np.dot(MO_matrix, atomic_orbs)
|
||||
print ' // Generated from gen_mo.py for position %s'%str(pos)
|
||||
for i in range(7):
|
||||
print ' REQUIRE(values[%d] == Approx(%15.10g));'%(i,mol_orbs[i])
|
||||
|
||||
v,g,l = gtos.eval_vgl(*pos)
|
||||
mo_v = np.dot(MO_matrix, v)
|
||||
mo_g = np.dot(MO_matrix, g)
|
||||
mo_l = np.dot(MO_matrix, l)
|
||||
print ' // Generated from gen_mo.py for position %s'%str(pos)
|
||||
for i in range(7):
|
||||
print ' REQUIRE(values[%d] == Approx(%15.10g));'%(i,mo_v[i])
|
||||
print ' REQUIRE(dpsi[%d][0] == Approx(%15.10g));'%(i,mo_g[i][0])
|
||||
print ' REQUIRE(dpsi[%d][1] == Approx(%15.10g));'%(i,mo_g[i][1])
|
||||
print ' REQUIRE(dpsi[%d][2] == Approx(%15.10g));'%(i,mo_g[i][2])
|
||||
print ' REQUIRE(d2psi[%d] == Approx(%15.10g));'%(i,mo_l[i])
|
||||
print ''
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
#gen_He()
|
||||
#gen_Ne()
|
||||
gen_HCN()
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0"?>
|
||||
<qmcsystem>
|
||||
<particleset name="ion0" size="3">
|
||||
<group name="N">
|
||||
<parameter name="charge">7</parameter>
|
||||
<parameter name="valence">5</parameter>
|
||||
<parameter name="atomicnumber">7</parameter>
|
||||
</group>
|
||||
<group name="C">
|
||||
<parameter name="charge">6</parameter>
|
||||
<parameter name="valence">4</parameter>
|
||||
<parameter name="atomicnumber">6</parameter>
|
||||
</group>
|
||||
<group name="H">
|
||||
<parameter name="charge">1</parameter>
|
||||
<parameter name="valence">1</parameter>
|
||||
<parameter name="atomicnumber">1</parameter>
|
||||
</group>
|
||||
<attrib name="position" datatype="posArray">
|
||||
-1.0960410729e+00 0.0000000000e+00 0.0000000000e+00
|
||||
1.0960410729e+00 0.0000000000e+00 0.0000000000e+00
|
||||
3.1085992498e+00 0.0000000000e+00 0.0000000000e+00
|
||||
</attrib>
|
||||
<attrib name="ionid" datatype="stringArray">
|
||||
N C H
|
||||
</attrib>
|
||||
</particleset>
|
||||
<particleset name="e" random="yes" randomsrc="ion0">
|
||||
<group name="u" size="7">
|
||||
<parameter name="charge">-1</parameter>
|
||||
</group>
|
||||
<group name="d" size="7">
|
||||
<parameter name="charge">-1</parameter>
|
||||
</group>
|
||||
</particleset>
|
||||
</qmcsystem>
|
|
@ -0,0 +1,712 @@
|
|||
<?xml version="1.0"?>
|
||||
<qmcsystem>
|
||||
<wavefunction name="psi0" target="e">
|
||||
<determinantset type="MolecularOrbital" name="LCAOBSet" source="ion0" transform="yes" cuspCorrection="no">
|
||||
<basisset name="LCAOBSet">
|
||||
<atomicBasisSet name="Gaussian" angular="cartesian" type="Gaussian" elementType="N" normalized="no">
|
||||
<grid type="log" ri="1.e-6" rf="1.e2" npts="1001"/>
|
||||
<!-- Possible substitution N00 by a Slater-type orbital
|
||||
<basisGroup rid="N00" n="0" l="0" type="Slater">
|
||||
<radfunc exponent="6.79204" contraction="1.0"/>
|
||||
</basisGroup>
|
||||
-->
|
||||
<basisGroup rid="N00" n="0" l="0" type="Gaussian">
|
||||
<radfunc exponent="9.046000000000e+03" contraction="6.996174130000e-04"/>
|
||||
<radfunc exponent="1.357000000000e+03" contraction="5.386054630000e-03"/>
|
||||
<radfunc exponent="3.093000000000e+02" contraction="2.739102118900e-02"/>
|
||||
<radfunc exponent="8.773000000000e+01" contraction="1.031505919820e-01"/>
|
||||
<radfunc exponent="2.856000000000e+01" contraction="2.785706633170e-01"/>
|
||||
<radfunc exponent="1.021000000000e+01" contraction="4.482948494540e-01"/>
|
||||
<radfunc exponent="3.838000000000e+00" contraction="2.780859283950e-01"/>
|
||||
<radfunc exponent="7.466000000000e-01" contraction="1.543156123300e-02"/>
|
||||
</basisGroup>
|
||||
<!-- Possible substitution N10 by a Slater-type orbital
|
||||
<basisGroup rid="N10" n="1" l="0" type="Slater">
|
||||
<radfunc exponent="1.07647" contraction="1.0"/>
|
||||
</basisGroup>
|
||||
-->
|
||||
<basisGroup rid="N10" n="1" l="0" type="Gaussian">
|
||||
<radfunc exponent="9.046000000000e+03" contraction="-3.049900960000e-04"/>
|
||||
<radfunc exponent="1.357000000000e+03" contraction="-2.408026379000e-03"/>
|
||||
<radfunc exponent="3.093000000000e+02" contraction="-1.194444872500e-02"/>
|
||||
<radfunc exponent="8.773000000000e+01" contraction="-4.892599290900e-02"/>
|
||||
<radfunc exponent="2.856000000000e+01" contraction="-1.344727247250e-01"/>
|
||||
<radfunc exponent="1.021000000000e+01" contraction="-3.151125777000e-01"/>
|
||||
<radfunc exponent="3.838000000000e+00" contraction="-2.428578325500e-01"/>
|
||||
<radfunc exponent="7.466000000000e-01" contraction="1.094382206854e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="N20" n="2" l="0" type="Gaussian">
|
||||
<radfunc exponent="2.248000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="N31" n="3" l="1" type="Gaussian">
|
||||
<radfunc exponent="1.355000000000e+01" contraction="5.890567677200e-02"/>
|
||||
<radfunc exponent="2.917000000000e+00" contraction="3.204611067140e-01"/>
|
||||
<radfunc exponent="7.973000000000e-01" contraction="7.530420617920e-01"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="N41" n="4" l="1" type="Gaussian">
|
||||
<radfunc exponent="2.185000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="N52" n="5" l="2" type="Gaussian">
|
||||
<radfunc exponent="8.170000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
</atomicBasisSet>
|
||||
<atomicBasisSet name="Gaussian" angular="cartesian" type="Gaussian" elementType="C" normalized="no">
|
||||
<grid type="log" ri="1.e-6" rf="1.e2" npts="1001"/>
|
||||
<!-- Possible substitution C00 by a Slater-type orbital
|
||||
<basisGroup rid="C00" n="0" l="0" type="Slater">
|
||||
<radfunc exponent="5.7544" contraction="1.0"/>
|
||||
</basisGroup>
|
||||
-->
|
||||
<basisGroup rid="C00" n="0" l="0" type="Gaussian">
|
||||
<radfunc exponent="6.665000000000e+03" contraction="6.915839630000e-04"/>
|
||||
<radfunc exponent="1.000000000000e+03" contraction="5.325796153000e-03"/>
|
||||
<radfunc exponent="2.280000000000e+02" contraction="2.706072104200e-02"/>
|
||||
<radfunc exponent="6.471000000000e+01" contraction="1.016568461410e-01"/>
|
||||
<radfunc exponent="2.106000000000e+01" contraction="2.745748236170e-01"/>
|
||||
<radfunc exponent="7.495000000000e+00" contraction="4.482943189240e-01"/>
|
||||
<radfunc exponent="2.797000000000e+00" contraction="2.849026107150e-01"/>
|
||||
<radfunc exponent="5.215000000000e-01" contraction="1.519485920600e-02"/>
|
||||
</basisGroup>
|
||||
<!-- Possible substitution C10 by a Slater-type orbital
|
||||
<basisGroup rid="C10" n="1" l="0" type="Slater">
|
||||
<radfunc exponent="0.895365" contraction="1.0"/>
|
||||
</basisGroup>
|
||||
-->
|
||||
<basisGroup rid="C10" n="1" l="0" type="Gaussian">
|
||||
<radfunc exponent="6.665000000000e+03" contraction="-2.932696530000e-04"/>
|
||||
<radfunc exponent="1.000000000000e+03" contraction="-2.318035474000e-03"/>
|
||||
<radfunc exponent="2.280000000000e+02" contraction="-1.149978603900e-02"/>
|
||||
<radfunc exponent="6.471000000000e+01" contraction="-4.682672701000e-02"/>
|
||||
<radfunc exponent="2.106000000000e+01" contraction="-1.284661687500e-01"/>
|
||||
<radfunc exponent="7.495000000000e+00" contraction="-3.012662724630e-01"/>
|
||||
<radfunc exponent="2.797000000000e+00" contraction="-2.556307023300e-01"/>
|
||||
<radfunc exponent="5.215000000000e-01" contraction="1.093793361012e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="C20" n="2" l="0" type="Gaussian">
|
||||
<radfunc exponent="1.596000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="C31" n="3" l="1" type="Gaussian">
|
||||
<radfunc exponent="9.439000000000e+00" contraction="5.697925159000e-02"/>
|
||||
<radfunc exponent="2.002000000000e+00" contraction="3.132072115010e-01"/>
|
||||
<radfunc exponent="5.456000000000e-01" contraction="7.603767417380e-01"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="C41" n="4" l="1" type="Gaussian">
|
||||
<radfunc exponent="1.517000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="C52" n="5" l="2" type="Gaussian">
|
||||
<radfunc exponent="5.500000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
</atomicBasisSet>
|
||||
<atomicBasisSet name="Gaussian" angular="cartesian" type="Gaussian" elementType="H" normalized="no">
|
||||
<grid type="log" ri="1.e-6" rf="1.e2" npts="1001"/>
|
||||
<!-- Possible substitution H00 by a Slater-type orbital
|
||||
<basisGroup rid="H00" n="0" l="0" type="Slater">
|
||||
<radfunc exponent="1.2942" contraction="1.0"/>
|
||||
</basisGroup>
|
||||
-->
|
||||
<basisGroup rid="H00" n="0" l="0" type="Gaussian">
|
||||
<radfunc exponent="1.301000000000e+01" contraction="3.349872639000e-02"/>
|
||||
<radfunc exponent="1.962000000000e+00" contraction="2.348008011740e-01"/>
|
||||
<radfunc exponent="4.446000000000e-01" contraction="8.136829578830e-01"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="H10" n="1" l="0" type="Gaussian">
|
||||
<radfunc exponent="1.220000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="H21" n="2" l="1" type="Gaussian">
|
||||
<radfunc exponent="7.270000000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
</atomicBasisSet>
|
||||
</basisset>
|
||||
<slaterdeterminant>
|
||||
<determinant id="updet" size="7" cuspInfo="../CuspCorrection/updet.cuspInfo.xml">
|
||||
<occupation mode="ground"/>
|
||||
<coefficient size="33" id="updetC">
|
||||
1.00180500000000e+00 2.76000000000000e-03 -8.17900000000000e-03 2.85400000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -2.30800000000000e-03 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 9.50000000000000e-04 -4.75000000000000e-04 -4.75000000000000e-04
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -7.70000000000000e-05
|
||||
-5.53000000000000e-04 2.26500000000000e-03 6.39000000000000e-04 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -4.01200000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.56200000000000e-03 7.81000000000000e-04 7.81000000000000e-04 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.36600000000000e-03 1.66100000000000e-03
|
||||
-4.76000000000000e-04 -0.00000000000000e+00 -0.00000000000000e+00 -1.25600000000000e-03
|
||||
-5.10000000000000e-04 -3.64000000000000e-03 -3.47000000000000e-04 0.00000000000000e+00
|
||||
0.00000000000000e+00 -1.55700000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.54000000000000e-04 -7.70000000000000e-05 -7.70000000000000e-05 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.00186700000000e+00 4.16700000000000e-03
|
||||
-1.19900000000000e-03 6.95000000000000e-04 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.97400000000000e-03 0.00000000000000e+00 0.00000000000000e+00 3.29900000000000e-03
|
||||
-1.65000000000000e-03 -1.65000000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -2.53200000000000e-03 2.15700000000000e-03 1.80400000000000e-03
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.55350000000000e-02 3.65161000000000e-01
|
||||
2.97153000000000e-01 1.85599000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
4.35670000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 2.53730000000000e-02
|
||||
-1.26870000000000e-02 -1.26870000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -2.42230000000000e-02 2.77291000000000e-01 1.34521000000000e-01
|
||||
-2.09376000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 4.15300000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 2.54090000000000e-02 -1.27050000000000e-02
|
||||
-1.27050000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
4.22250000000000e-02 -1.39540000000000e-02 -1.25100000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 6.12000000000000e-04 -1.56038000000000e-01 -1.58669000000000e-01
|
||||
1.77970000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 2.81360000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 4.58000000000000e-04 -2.29000000000000e-04
|
||||
-2.29000000000000e-04 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.20440000000000e-02 2.57665000000000e-01 2.34699000000000e-01 3.24125000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 8.59440000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 7.68000000000000e-03 -3.84000000000000e-03 -3.84000000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 3.98520000000000e-01
|
||||
7.29220000000000e-02 -3.87470000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-2.65000000000000e-03 -2.36949000000000e-01 -3.37662000000000e-01 5.03473000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 3.17378000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 3.14930000000000e-02 -1.57460000000000e-02 -1.57460000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -2.95000000000000e-04
|
||||
1.31389000000000e-01 -1.87670000000000e-02 -2.64026000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 4.49900000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.10320000000000e-02 5.51600000000000e-03 5.51600000000000e-03 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -1.16056000000000e-01 -8.95470000000000e-02
|
||||
-2.08300000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 4.22402000000000e-01
|
||||
-8.19720000000000e-02 0.00000000000000e+00 2.67744000000000e-01 -5.19590000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.85400000000000e-02
|
||||
-7.47900000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 3.94312000000000e-01 -7.65200000000000e-02
|
||||
0.00000000000000e+00 2.43812000000000e-01 -4.73140000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -4.24180000000000e-02 8.23200000000000e-03
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.69550000000000e-02 -3.29000000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 8.19720000000000e-02 4.22402000000000e-01
|
||||
0.00000000000000e+00 5.19590000000000e-02 2.67744000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 7.47900000000000e-03 3.85400000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 7.65200000000000e-02 3.94312000000000e-01 0.00000000000000e+00
|
||||
4.73140000000000e-02 2.43812000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -8.23200000000000e-03 -4.24180000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.29000000000000e-03
|
||||
1.69550000000000e-02 3.08880000000000e-02 8.83180000000000e-02 -3.29596000000000e-01
|
||||
1.07464000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 6.51130000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 8.23500000000000e-03 -4.11700000000000e-03
|
||||
-4.11700000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
5.91330000000000e-02 -8.62490000000000e-02 -1.60259100000000e+00 -2.13358000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -1.02272400000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -1.79480000000000e-02 8.97400000000000e-03 8.97400000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 7.17680000000000e-02
|
||||
2.32498300000000e+00 -2.15480000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.56648000000000e-01 -2.96943000000000e-01 0.00000000000000e+00 -4.42362000000000e-01
|
||||
-5.11814000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.73600000000000e-03 3.16600000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 2.25473000000000e-01
|
||||
2.60873000000000e-01 0.00000000000000e+00 5.13324000000000e-01 5.93917000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 2.94380000000000e-02
|
||||
3.40600000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 2.69520000000000e-02 3.11840000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -2.96943000000000e-01
|
||||
2.56648000000000e-01 0.00000000000000e+00 -5.11814000000000e-01 4.42362000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.16600000000000e-03
|
||||
-2.73600000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 2.60873000000000e-01 -2.25473000000000e-01
|
||||
0.00000000000000e+00 5.93917000000000e-01 -5.13324000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 3.40600000000000e-02 -2.94380000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
3.11840000000000e-02 -2.69520000000000e-02 -8.69870000000000e-02 6.00040000000000e-02
|
||||
3.03903700000000e+00 1.21895000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.11791200000000e+00 0.00000000000000e+00 0.00000000000000e+00 6.55260000000000e-02
|
||||
-3.27630000000000e-02 -3.27630000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 6.43150000000000e-02 7.02130000000000e-02 -2.21869100000000e+00
|
||||
3.88000000000000e-04 0.00000000000000e+00 0.00000000000000e+00 2.50357800000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -4.78040000000000e-02 2.39020000000000e-02
|
||||
2.39020000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
4.23336000000000e-01 -1.26321100000000e+00 -1.56750000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -2.25300000000000e-03 -6.14630000000000e-02 0.00000000000000e+00
|
||||
4.96000000000000e-04 1.35220000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -3.02400000000000e-03 -8.24990000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-3.65470000000000e-02 -9.97138000000000e-01 0.00000000000000e+00 3.79460000000000e-02
|
||||
1.03531800000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.11200000000000e-03 3.03530000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.64200000000000e-03 -4.48040000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-6.14630000000000e-02 2.25300000000000e-03 0.00000000000000e+00 1.35220000000000e-02
|
||||
-4.96000000000000e-04 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-8.24990000000000e-02 3.02400000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -9.97138000000000e-01
|
||||
3.65470000000000e-02 0.00000000000000e+00 1.03531800000000e+00 -3.79460000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.03530000000000e-02
|
||||
-1.11200000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -4.48040000000000e-02 1.64200000000000e-03 2.30010000000000e-02
|
||||
1.29706000000000e-01 2.48118700000000e+00 -3.39952000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 1.09159100000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.15203000000000e-01 -5.76010000000000e-02 -5.76010000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -4.29140000000000e-02 6.96770000000000e-02
|
||||
-1.46641400000000e+00 -3.28820000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.48977900000000e+00 0.00000000000000e+00 0.00000000000000e+00 -4.33714000000000e-01
|
||||
2.16857000000000e-01 2.16857000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -9.10804000000000e-01 -3.32637000000000e-01 -2.34309000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 4.61100000000000e-03 -1.14469000000000e-01
|
||||
-4.91694000000000e-01 2.76418000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.51882000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 4.93060000000000e-02
|
||||
-2.46530000000000e-02 -2.46530000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 7.08500000000000e-02 1.50184000000000e-01 2.10823700000000e+00
|
||||
-7.64722000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.22609300000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.07113000000000e-01 -5.35560000000000e-02
|
||||
-5.35560000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-2.70665000000000e-01 -1.24871800000000e+00 1.65701000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -1.31800000000000e-03 1.12103000000000e-01 3.63376000000000e-01
|
||||
-2.16021000000000e-01 0.00000000000000e+00 0.00000000000000e+00 5.06819000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 -8.39190000000000e-02 4.19590000000000e-02
|
||||
4.19590000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-6.77191000000000e-01 -1.57009400000000e+00 2.45619000000000e+00 -2.14141000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.53198200000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 2.22738000000000e-01 -1.11369000000000e-01 -1.11369000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -1.23693000000000e-01
|
||||
-1.87471000000000e+00 2.90375000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-3.31636000000000e-01 -8.83668000000000e-01 -0.00000000000000e+00 4.79660000000000e-01
|
||||
1.27809200000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
5.98000000000000e-04 1.59300000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 7.50570000000000e-02
|
||||
1.99994000000000e-01 -0.00000000000000e+00 -2.31459000000000e-01 -6.16741000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 9.86950000000000e-02
|
||||
2.62979000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -2.44900000000000e-02 -6.52540000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -8.83668000000000e-01
|
||||
3.31636000000000e-01 -0.00000000000000e+00 1.27809200000000e+00 -4.79660000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 1.59300000000000e-03
|
||||
-5.98000000000000e-04 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.99994000000000e-01 -7.50570000000000e-02
|
||||
-0.00000000000000e+00 -6.16741000000000e-01 2.31459000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 2.62979000000000e-01 -9.86950000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-6.52540000000000e-02 2.44900000000000e-02 -8.11550000000000e-02 -3.10751000000000e-01
|
||||
-9.93720000000000e-02 -7.09235000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
4.27313000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.81948000000000e-01
|
||||
-9.09740000000000e-02 -9.09740000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 1.59037000000000e-01 4.59829000000000e-01 -7.42555000000000e-01
|
||||
-5.34907000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -6.57057000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -3.16562000000000e-01 1.58281000000000e-01
|
||||
1.58281000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
9.31771000000000e-01 1.13204000000000e-01 2.30033000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 7.31700000000000e-02 2.86917000000000e-01 0.00000000000000e+00
|
||||
6.35410000000000e-02 2.49159000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -2.79830000000000e-02 -1.09727000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-9.45700000000000e-03 -3.70830000000000e-02 0.00000000000000e+00 -9.68060000000000e-02
|
||||
-3.79598000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.51599000000000e-01 5.94453000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.45390000000000e-01 5.70106000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.86917000000000e-01 -7.31700000000000e-02 0.00000000000000e+00 2.49159000000000e-01
|
||||
-6.35410000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-1.09727000000000e-01 2.79830000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -3.70830000000000e-02
|
||||
9.45700000000000e-03 0.00000000000000e+00 -3.79598000000000e-01 9.68060000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 5.94453000000000e-01
|
||||
-1.51599000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 5.70106000000000e-01 -1.45390000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 2.26700000000000e-03 -2.26700000000000e-03 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 2.03131000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
1.05010000000000e-02 -1.05010000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
9.40743000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-1.75916000000000e-01 1.75916000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.61800000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -8.14707000000000e-01
|
||||
8.14707000000000e-01 0.00000000000000e+00 0.00000000000000e+00 1.21250000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -7.88913000000000e-01 -1.69090700000000e+00 6.14157300000000e+00
|
||||
3.85750000000000e-01 0.00000000000000e+00 0.00000000000000e+00 1.65994500000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.34915000000000e-01 6.74580000000000e-02
|
||||
6.74580000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.16958000000000e-01 -4.57251000000000e-01 -2.79431400000000e+00 2.44505000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 3.37130700000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -6.26928000000000e-01 3.13464000000000e-01 3.13464000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -3.21370000000000e-02
|
||||
-1.23188900000000e+00 -3.02030000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-1.38340000000000e-01 -3.05664000000000e-01 0.00000000000000e+00 8.31480000000000e-02
|
||||
1.83717000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.64001000000000e-01 3.62362000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -1.19397000000000e-01
|
||||
-2.63808000000000e-01 0.00000000000000e+00 -9.59700000000000e-02 -2.12048000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -2.78678000000000e-01
|
||||
-6.15743000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 3.92446000000000e-01 8.67114000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -3.05664000000000e-01
|
||||
1.38340000000000e-01 -0.00000000000000e+00 1.83717000000000e-01 -8.31480000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 3.62362000000000e-01
|
||||
-1.64001000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -2.63808000000000e-01 1.19397000000000e-01
|
||||
-0.00000000000000e+00 -2.12048000000000e-01 9.59700000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -6.15743000000000e-01 2.78678000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
8.67114000000000e-01 -3.92446000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-9.43000000000000e-04 9.43000000000000e-04 0.00000000000000e+00 0.00000000000000e+00
|
||||
9.98607000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.70000000000000e-04
|
||||
-3.70000000000000e-04 0.00000000000000e+00 0.00000000000000e+00 -3.91590000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 8.64819000000000e-01
|
||||
-8.64819000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.08900000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -3.39127000000000e-01 3.39127000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -4.27000000000000e-04 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-4.97634000000000e-01 -1.05288900000000e+00 2.03788400000000e+00 -4.05922000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 9.00362000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 2.03161000000000e-01 -1.01581000000000e-01 -1.01581000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -4.61994000000000e-01
|
||||
-9.12887000000000e-01 -1.14142300000000e+00 -8.80023000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 7.75678000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
1.49602000000000e-01 -7.48010000000000e-02 -7.48010000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 4.18134000000000e-01 1.24904000000000e-01
|
||||
-1.23084600000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 2.56992000000000e-01
|
||||
1.88260000000000e-02 -0.00000000000000e+00 5.03534000000000e-01 3.68870000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 1.20614700000000e+00
|
||||
8.83580000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -3.32232000000000e-01 -2.43380000000000e-02
|
||||
-0.00000000000000e+00 -2.12086000000000e-01 -1.55370000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.20788500000000e+00 8.84850000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-5.42781000000000e-01 -3.97620000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.88260000000000e-02 2.56992000000000e-01
|
||||
0.00000000000000e+00 -3.68870000000000e-02 5.03534000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -8.83580000000000e-02 1.20614700000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 2.43380000000000e-02 -3.32232000000000e-01 0.00000000000000e+00
|
||||
1.55370000000000e-02 -2.12086000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -8.84850000000000e-02 1.20788500000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.97620000000000e-02
|
||||
-5.42781000000000e-01 -2.37913000000000e-01 -3.78712000000000e-01 3.41250700000000e+00
|
||||
5.68383000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.67818000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.39311300000000e+00 -6.96556000000000e-01
|
||||
-6.96556000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-7.16214000000000e-01 -1.43820700000000e+00 -1.68378100000000e+00 1.31728200000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.21344300000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -5.03409000000000e-01 2.51705000000000e-01 2.51705000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 2.02280000000000e-02
|
||||
-3.41236000000000e-01 5.30580000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
7.95349000000000e-01 1.54857500000000e+00 -7.06059000000000e-01 9.90206000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 -2.04509000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 1.90450000000000e-01 -9.52250000000000e-02 -9.52250000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -3.16410000000000e-01
|
||||
-9.52447000000000e-01 -1.64769900000000e+00 -4.54581000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 -1.15401500000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.28832400000000e+00 1.14416200000000e+00 1.14416200000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 2.33854900000000e+00 9.38078000000000e-01
|
||||
-1.45805000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
</coefficient>
|
||||
</determinant>
|
||||
<determinant id="downdet" size="7" cuspInfo="../CuspCorrection/downdet.cuspInfo.xml">
|
||||
<occupation mode="ground"/>
|
||||
<coefficient size="33" id="downdetC">
|
||||
1.00180500000000e+00 2.76000000000000e-03 -8.17900000000000e-03 2.85400000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -2.30800000000000e-03 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 9.50000000000000e-04 -4.75000000000000e-04 -4.75000000000000e-04
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -7.70000000000000e-05
|
||||
-5.53000000000000e-04 2.26500000000000e-03 6.39000000000000e-04 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -4.01200000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.56200000000000e-03 7.81000000000000e-04 7.81000000000000e-04 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.36600000000000e-03 1.66100000000000e-03
|
||||
-4.76000000000000e-04 -0.00000000000000e+00 -0.00000000000000e+00 -1.25600000000000e-03
|
||||
-5.10000000000000e-04 -3.64000000000000e-03 -3.47000000000000e-04 0.00000000000000e+00
|
||||
0.00000000000000e+00 -1.55700000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.54000000000000e-04 -7.70000000000000e-05 -7.70000000000000e-05 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.00186700000000e+00 4.16700000000000e-03
|
||||
-1.19900000000000e-03 6.95000000000000e-04 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.97400000000000e-03 0.00000000000000e+00 0.00000000000000e+00 3.29900000000000e-03
|
||||
-1.65000000000000e-03 -1.65000000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -2.53200000000000e-03 2.15700000000000e-03 1.80400000000000e-03
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.55350000000000e-02 3.65161000000000e-01
|
||||
2.97153000000000e-01 1.85599000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
4.35670000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 2.53730000000000e-02
|
||||
-1.26870000000000e-02 -1.26870000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -2.42230000000000e-02 2.77291000000000e-01 1.34521000000000e-01
|
||||
-2.09376000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 4.15300000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 2.54090000000000e-02 -1.27050000000000e-02
|
||||
-1.27050000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
4.22250000000000e-02 -1.39540000000000e-02 -1.25100000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 6.12000000000000e-04 -1.56038000000000e-01 -1.58669000000000e-01
|
||||
1.77970000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 2.81360000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 4.58000000000000e-04 -2.29000000000000e-04
|
||||
-2.29000000000000e-04 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.20440000000000e-02 2.57665000000000e-01 2.34699000000000e-01 3.24125000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 8.59440000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 7.68000000000000e-03 -3.84000000000000e-03 -3.84000000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 3.98520000000000e-01
|
||||
7.29220000000000e-02 -3.87470000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-2.65000000000000e-03 -2.36949000000000e-01 -3.37662000000000e-01 5.03473000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 3.17378000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 3.14930000000000e-02 -1.57460000000000e-02 -1.57460000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -2.95000000000000e-04
|
||||
1.31389000000000e-01 -1.87670000000000e-02 -2.64026000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 4.49900000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.10320000000000e-02 5.51600000000000e-03 5.51600000000000e-03 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -1.16056000000000e-01 -8.95470000000000e-02
|
||||
-2.08300000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 4.22402000000000e-01
|
||||
-8.19720000000000e-02 0.00000000000000e+00 2.67744000000000e-01 -5.19590000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.85400000000000e-02
|
||||
-7.47900000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 3.94312000000000e-01 -7.65200000000000e-02
|
||||
0.00000000000000e+00 2.43812000000000e-01 -4.73140000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -4.24180000000000e-02 8.23200000000000e-03
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.69550000000000e-02 -3.29000000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 8.19720000000000e-02 4.22402000000000e-01
|
||||
0.00000000000000e+00 5.19590000000000e-02 2.67744000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 7.47900000000000e-03 3.85400000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 7.65200000000000e-02 3.94312000000000e-01 0.00000000000000e+00
|
||||
4.73140000000000e-02 2.43812000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -8.23200000000000e-03 -4.24180000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.29000000000000e-03
|
||||
1.69550000000000e-02 3.08880000000000e-02 8.83180000000000e-02 -3.29596000000000e-01
|
||||
1.07464000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 6.51130000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 8.23500000000000e-03 -4.11700000000000e-03
|
||||
-4.11700000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
5.91330000000000e-02 -8.62490000000000e-02 -1.60259100000000e+00 -2.13358000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -1.02272400000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -1.79480000000000e-02 8.97400000000000e-03 8.97400000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 7.17680000000000e-02
|
||||
2.32498300000000e+00 -2.15480000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.56648000000000e-01 -2.96943000000000e-01 0.00000000000000e+00 -4.42362000000000e-01
|
||||
-5.11814000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.73600000000000e-03 3.16600000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 2.25473000000000e-01
|
||||
2.60873000000000e-01 0.00000000000000e+00 5.13324000000000e-01 5.93917000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 2.94380000000000e-02
|
||||
3.40600000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 2.69520000000000e-02 3.11840000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -2.96943000000000e-01
|
||||
2.56648000000000e-01 0.00000000000000e+00 -5.11814000000000e-01 4.42362000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.16600000000000e-03
|
||||
-2.73600000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 2.60873000000000e-01 -2.25473000000000e-01
|
||||
0.00000000000000e+00 5.93917000000000e-01 -5.13324000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 3.40600000000000e-02 -2.94380000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
3.11840000000000e-02 -2.69520000000000e-02 -8.69870000000000e-02 6.00040000000000e-02
|
||||
3.03903700000000e+00 1.21895000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.11791200000000e+00 0.00000000000000e+00 0.00000000000000e+00 6.55260000000000e-02
|
||||
-3.27630000000000e-02 -3.27630000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 6.43150000000000e-02 7.02130000000000e-02 -2.21869100000000e+00
|
||||
3.88000000000000e-04 0.00000000000000e+00 0.00000000000000e+00 2.50357800000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -4.78040000000000e-02 2.39020000000000e-02
|
||||
2.39020000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
4.23336000000000e-01 -1.26321100000000e+00 -1.56750000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -2.25300000000000e-03 -6.14630000000000e-02 0.00000000000000e+00
|
||||
4.96000000000000e-04 1.35220000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -3.02400000000000e-03 -8.24990000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-3.65470000000000e-02 -9.97138000000000e-01 0.00000000000000e+00 3.79460000000000e-02
|
||||
1.03531800000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.11200000000000e-03 3.03530000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.64200000000000e-03 -4.48040000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-6.14630000000000e-02 2.25300000000000e-03 0.00000000000000e+00 1.35220000000000e-02
|
||||
-4.96000000000000e-04 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-8.24990000000000e-02 3.02400000000000e-03 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -9.97138000000000e-01
|
||||
3.65470000000000e-02 0.00000000000000e+00 1.03531800000000e+00 -3.79460000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.03530000000000e-02
|
||||
-1.11200000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -4.48040000000000e-02 1.64200000000000e-03 2.30010000000000e-02
|
||||
1.29706000000000e-01 2.48118700000000e+00 -3.39952000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 1.09159100000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.15203000000000e-01 -5.76010000000000e-02 -5.76010000000000e-02 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -4.29140000000000e-02 6.96770000000000e-02
|
||||
-1.46641400000000e+00 -3.28820000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.48977900000000e+00 0.00000000000000e+00 0.00000000000000e+00 -4.33714000000000e-01
|
||||
2.16857000000000e-01 2.16857000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -9.10804000000000e-01 -3.32637000000000e-01 -2.34309000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 4.61100000000000e-03 -1.14469000000000e-01
|
||||
-4.91694000000000e-01 2.76418000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-1.51882000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 4.93060000000000e-02
|
||||
-2.46530000000000e-02 -2.46530000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 7.08500000000000e-02 1.50184000000000e-01 2.10823700000000e+00
|
||||
-7.64722000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.22609300000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.07113000000000e-01 -5.35560000000000e-02
|
||||
-5.35560000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-2.70665000000000e-01 -1.24871800000000e+00 1.65701000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -1.31800000000000e-03 1.12103000000000e-01 3.63376000000000e-01
|
||||
-2.16021000000000e-01 0.00000000000000e+00 0.00000000000000e+00 5.06819000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 -8.39190000000000e-02 4.19590000000000e-02
|
||||
4.19590000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-6.77191000000000e-01 -1.57009400000000e+00 2.45619000000000e+00 -2.14141000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.53198200000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 2.22738000000000e-01 -1.11369000000000e-01 -1.11369000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -1.23693000000000e-01
|
||||
-1.87471000000000e+00 2.90375000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-3.31636000000000e-01 -8.83668000000000e-01 -0.00000000000000e+00 4.79660000000000e-01
|
||||
1.27809200000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
5.98000000000000e-04 1.59300000000000e-03 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 7.50570000000000e-02
|
||||
1.99994000000000e-01 -0.00000000000000e+00 -2.31459000000000e-01 -6.16741000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 9.86950000000000e-02
|
||||
2.62979000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -2.44900000000000e-02 -6.52540000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -8.83668000000000e-01
|
||||
3.31636000000000e-01 -0.00000000000000e+00 1.27809200000000e+00 -4.79660000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 1.59300000000000e-03
|
||||
-5.98000000000000e-04 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.99994000000000e-01 -7.50570000000000e-02
|
||||
-0.00000000000000e+00 -6.16741000000000e-01 2.31459000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 2.62979000000000e-01 -9.86950000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-6.52540000000000e-02 2.44900000000000e-02 -8.11550000000000e-02 -3.10751000000000e-01
|
||||
-9.93720000000000e-02 -7.09235000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
4.27313000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.81948000000000e-01
|
||||
-9.09740000000000e-02 -9.09740000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 1.59037000000000e-01 4.59829000000000e-01 -7.42555000000000e-01
|
||||
-5.34907000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -6.57057000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -3.16562000000000e-01 1.58281000000000e-01
|
||||
1.58281000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
9.31771000000000e-01 1.13204000000000e-01 2.30033000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 7.31700000000000e-02 2.86917000000000e-01 0.00000000000000e+00
|
||||
6.35410000000000e-02 2.49159000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -2.79830000000000e-02 -1.09727000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-9.45700000000000e-03 -3.70830000000000e-02 0.00000000000000e+00 -9.68060000000000e-02
|
||||
-3.79598000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.51599000000000e-01 5.94453000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.45390000000000e-01 5.70106000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.86917000000000e-01 -7.31700000000000e-02 0.00000000000000e+00 2.49159000000000e-01
|
||||
-6.35410000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-1.09727000000000e-01 2.79830000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -3.70830000000000e-02
|
||||
9.45700000000000e-03 0.00000000000000e+00 -3.79598000000000e-01 9.68060000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 5.94453000000000e-01
|
||||
-1.51599000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 5.70106000000000e-01 -1.45390000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 2.26700000000000e-03 -2.26700000000000e-03 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 2.03131000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
1.05010000000000e-02 -1.05010000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
9.40743000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-1.75916000000000e-01 1.75916000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
2.61800000000000e-03 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -8.14707000000000e-01
|
||||
8.14707000000000e-01 0.00000000000000e+00 0.00000000000000e+00 1.21250000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -7.88913000000000e-01 -1.69090700000000e+00 6.14157300000000e+00
|
||||
3.85750000000000e-01 0.00000000000000e+00 0.00000000000000e+00 1.65994500000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.34915000000000e-01 6.74580000000000e-02
|
||||
6.74580000000000e-02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.16958000000000e-01 -4.57251000000000e-01 -2.79431400000000e+00 2.44505000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 3.37130700000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -6.26928000000000e-01 3.13464000000000e-01 3.13464000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -3.21370000000000e-02
|
||||
-1.23188900000000e+00 -3.02030000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-1.38340000000000e-01 -3.05664000000000e-01 0.00000000000000e+00 8.31480000000000e-02
|
||||
1.83717000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.64001000000000e-01 3.62362000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -1.19397000000000e-01
|
||||
-2.63808000000000e-01 0.00000000000000e+00 -9.59700000000000e-02 -2.12048000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -2.78678000000000e-01
|
||||
-6.15743000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 3.92446000000000e-01 8.67114000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -3.05664000000000e-01
|
||||
1.38340000000000e-01 -0.00000000000000e+00 1.83717000000000e-01 -8.31480000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 3.62362000000000e-01
|
||||
-1.64001000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -2.63808000000000e-01 1.19397000000000e-01
|
||||
-0.00000000000000e+00 -2.12048000000000e-01 9.59700000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -6.15743000000000e-01 2.78678000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
8.67114000000000e-01 -3.92446000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-9.43000000000000e-04 9.43000000000000e-04 0.00000000000000e+00 0.00000000000000e+00
|
||||
9.98607000000000e-01 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.70000000000000e-04
|
||||
-3.70000000000000e-04 0.00000000000000e+00 0.00000000000000e+00 -3.91590000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 8.64819000000000e-01
|
||||
-8.64819000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.08900000000000e-03
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -3.39127000000000e-01 3.39127000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -4.27000000000000e-04 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-4.97634000000000e-01 -1.05288900000000e+00 2.03788400000000e+00 -4.05922000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 9.00362000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 2.03161000000000e-01 -1.01581000000000e-01 -1.01581000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -4.61994000000000e-01
|
||||
-9.12887000000000e-01 -1.14142300000000e+00 -8.80023000000000e-01 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 7.75678000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
1.49602000000000e-01 -7.48010000000000e-02 -7.48010000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 4.18134000000000e-01 1.24904000000000e-01
|
||||
-1.23084600000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 2.56992000000000e-01
|
||||
1.88260000000000e-02 -0.00000000000000e+00 5.03534000000000e-01 3.68870000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 1.20614700000000e+00
|
||||
8.83580000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -3.32232000000000e-01 -2.43380000000000e-02
|
||||
-0.00000000000000e+00 -2.12086000000000e-01 -1.55370000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.20788500000000e+00 8.84850000000000e-02
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-5.42781000000000e-01 -3.97620000000000e-02 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -1.88260000000000e-02 2.56992000000000e-01
|
||||
0.00000000000000e+00 -3.68870000000000e-02 5.03534000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 -8.83580000000000e-02 1.20614700000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 2.43380000000000e-02 -3.32232000000000e-01 0.00000000000000e+00
|
||||
1.55370000000000e-02 -2.12086000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 -8.84850000000000e-02 1.20788500000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.97620000000000e-02
|
||||
-5.42781000000000e-01 -2.37913000000000e-01 -3.78712000000000e-01 3.41250700000000e+00
|
||||
5.68383000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 1.67818000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.39311300000000e+00 -6.96556000000000e-01
|
||||
-6.96556000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-7.16214000000000e-01 -1.43820700000000e+00 -1.68378100000000e+00 1.31728200000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 1.21344300000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -5.03409000000000e-01 2.51705000000000e-01 2.51705000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 2.02280000000000e-02
|
||||
-3.41236000000000e-01 5.30580000000000e-02 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
7.95349000000000e-01 1.54857500000000e+00 -7.06059000000000e-01 9.90206000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 -2.04509000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 1.90450000000000e-01 -9.52250000000000e-02 -9.52250000000000e-02
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 -3.16410000000000e-01
|
||||
-9.52447000000000e-01 -1.64769900000000e+00 -4.54581000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 -1.15401500000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-2.28832400000000e+00 1.14416200000000e+00 1.14416200000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 2.33854900000000e+00 9.38078000000000e-01
|
||||
-1.45805000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
</coefficient>
|
||||
</determinant>
|
||||
</slaterdeterminant>
|
||||
</determinantset>
|
||||
</wavefunction>
|
||||
</qmcsystem>
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0"?>
|
||||
<qmcsystem>
|
||||
<wavefunction name="psi0" target="e">
|
||||
<determinantset type="MolecularOrbital" name="LCAOBSet" source="ion0" transform="yes" cuspCorrection="no">
|
||||
<basisset name="LCAOBSet">
|
||||
<atomicBasisSet name="Gaussian" angular="cartesian" type="Gaussian" elementType="He" normalized="no">
|
||||
<grid type="log" ri="1.e-6" rf="1.e2" npts="1001"/>
|
||||
<!-- Possible substitution He00 by a Slater-type orbital
|
||||
<basisGroup rid="He00" n="0" l="0" type="Slater">
|
||||
<radfunc exponent="1.80302" contraction="1.0"/>
|
||||
</basisGroup>
|
||||
-->
|
||||
<basisGroup rid="He00" n="0" l="0" type="Gaussian">
|
||||
<radfunc exponent="6.362421400000e+00" contraction="1.543289672950e-01"/>
|
||||
<radfunc exponent="1.158923000000e+00" contraction="5.353281422820e-01"/>
|
||||
<radfunc exponent="3.136498000000e-01" contraction="4.446345421850e-01"/>
|
||||
</basisGroup>
|
||||
</atomicBasisSet>
|
||||
</basisset>
|
||||
<slaterdeterminant>
|
||||
<determinant id="updet" size="1" cuspInfo="../CuspCorrection/updet.cuspInfo.xml">
|
||||
<occupation mode="ground"/>
|
||||
<coefficient size="1" id="updetC">
|
||||
1.00000000000000e+00
|
||||
</coefficient>
|
||||
</determinant>
|
||||
<determinant id="downdet" size="1" cuspInfo="../CuspCorrection/downdet.cuspInfo.xml">
|
||||
<occupation mode="ground"/>
|
||||
<coefficient size="1" id="downdetC">
|
||||
1.00000000000000e+00
|
||||
</coefficient>
|
||||
</determinant>
|
||||
</slaterdeterminant>
|
||||
</determinantset>
|
||||
<jastrow name="J2" type="Two-Body" function="Bspline" print="yes">
|
||||
<correlation rcut="10" size="10" speciesA="u" speciesB="d">
|
||||
<coefficients id="ud" type="Array">0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0</coefficients>
|
||||
</correlation>
|
||||
</jastrow>
|
||||
<jastrow name="J1" type="One-Body" function="Bspline" source="ion0" print="yes">
|
||||
<correlation rcut="10" size="10" cusp="0" elementType="He">
|
||||
<coefficients id="eHe" type="Array">0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0</coefficients>
|
||||
</correlation>
|
||||
</jastrow>
|
||||
<jastrow name="J3" type="eeI" function="polynomial" source="ion0" print="yes">
|
||||
<correlation ispecies="He" especies="u" isize="3" esize="3" rcut="5">
|
||||
<coefficients id="uuHe" type="Array" optimize="yes">
|
||||
</coefficients>
|
||||
</correlation>
|
||||
<correlation ispecies="He" especies1="u" especies2="d" isize="3" esize="3" rcut="5">
|
||||
<coefficients id="udHe" type="Array" optimize="yes">
|
||||
</coefficients>
|
||||
</correlation>
|
||||
</jastrow>
|
||||
</wavefunction>
|
||||
</qmcsystem>
|
|
@ -0,0 +1,159 @@
|
|||
<?xml version="1.0"?>
|
||||
<qmcsystem>
|
||||
<wavefunction name="psi0" target="e">
|
||||
<determinantset type="MolecularOrbital" name="LCAOBSet" source="ion0" transform="yes" cuspCorrection="no">
|
||||
<basisset name="LCAOBSet">
|
||||
<atomicBasisSet name="Gaussian" angular="cartesian" type="Gaussian" elementType="Ne" normalized="no">
|
||||
<grid type="log" ri="1.e-6" rf="1.e2" npts="1001"/>
|
||||
<!-- Possible substitution Ne00 by a Slater-type orbital
|
||||
<basisGroup rid="Ne00" n="0" l="0" type="Slater">
|
||||
<radfunc exponent="9.63829" contraction="1.0"/>
|
||||
</basisGroup>
|
||||
-->
|
||||
<basisGroup rid="Ne00" n="0" l="0" type="Gaussian">
|
||||
<radfunc exponent="3.598973662500e+03" contraction="-5.320248925000e-03"/>
|
||||
<radfunc exponent="5.413207311000e+02" contraction="-3.977494767600e-02"/>
|
||||
<radfunc exponent="1.229045006000e+02" contraction="-1.789525026770e-01"/>
|
||||
<radfunc exponent="3.421661700000e+01" contraction="-4.684356506210e-01"/>
|
||||
<radfunc exponent="1.065058410000e+01" contraction="-4.473477135800e-01"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="Ne10" n="1" l="0" type="Gaussian">
|
||||
<radfunc exponent="1.354595400000e+00" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="Ne20" n="2" l="0" type="Gaussian">
|
||||
<radfunc exponent="4.191936000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="Ne31" n="3" l="1" type="Gaussian">
|
||||
<radfunc exponent="2.842405380000e+01" contraction="-6.611778282300e-02"/>
|
||||
<radfunc exponent="6.282251100000e+00" contraction="-3.446250365030e-01"/>
|
||||
<radfunc exponent="1.697871500000e+00" contraction="-7.306937992640e-01"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="Ne41" n="4" l="1" type="Gaussian">
|
||||
<radfunc exponent="4.330070000000e-01" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
<basisGroup rid="Ne52" n="5" l="2" type="Gaussian">
|
||||
<radfunc exponent="1.888000000000e+00" contraction="1.000000000000e+00"/>
|
||||
</basisGroup>
|
||||
</atomicBasisSet>
|
||||
</basisset>
|
||||
<slaterdeterminant>
|
||||
<determinant id="updet" size="5" cuspInfo="../CuspCorrection/updet.cuspInfo.xml">
|
||||
<occupation mode="ground"/>
|
||||
<coefficient size="14" id="updetC">
|
||||
9.90133000000000e-01 -3.12330000000000e-02 9.07200000000000e-03 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.22026000000000e-01
|
||||
6.43777000000000e-01 4.60567000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 6.97249000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-4.54527000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 6.97249000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 -4.54527000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
6.97249000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -4.54527000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 3.27583000000000e-01
|
||||
1.60811800000000e+00 -1.57553100000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 9.06086000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.04907300000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 9.06086000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.04907300000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 9.06086000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.04907300000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -4.80634000000000e-01 -5.19119000000000e-01 9.99753000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
8.76921000000000e-01 -8.54702000000000e-01 -2.22200000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00
|
||||
</coefficient>
|
||||
</determinant>
|
||||
<determinant id="downdet" size="5" cuspInfo="../CuspCorrection/downdet.cuspInfo.xml">
|
||||
<occupation mode="ground"/>
|
||||
<coefficient size="14" id="downdetC">
|
||||
9.90133000000000e-01 -3.12330000000000e-02 9.07200000000000e-03 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.22026000000000e-01
|
||||
6.43777000000000e-01 4.60567000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 6.97249000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-4.54527000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 6.97249000000000e-01 0.00000000000000e+00
|
||||
0.00000000000000e+00 -4.54527000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
6.97249000000000e-01 -0.00000000000000e+00 -0.00000000000000e+00 -4.54527000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 3.27583000000000e-01
|
||||
1.60811800000000e+00 -1.57553100000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 9.06086000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.04907300000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 9.06086000000000e-01 0.00000000000000e+00 0.00000000000000e+00
|
||||
1.04907300000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 9.06086000000000e-01
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.04907300000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00
|
||||
0.00000000000000e+00 0.00000000000000e+00 1.00000000000000e+00 0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -4.80634000000000e-01 -5.19119000000000e-01 9.99753000000000e-01
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00 -0.00000000000000e+00
|
||||
8.76921000000000e-01 -8.54702000000000e-01 -2.22200000000000e-02 -0.00000000000000e+00
|
||||
-0.00000000000000e+00 -0.00000000000000e+00
|
||||
</coefficient>
|
||||
</determinant>
|
||||
</slaterdeterminant>
|
||||
</determinantset>
|
||||
</wavefunction>
|
||||
</qmcsystem>
|
|
@ -0,0 +1,123 @@
|
|||
|
||||
# Read parts of the QMCPACK XML input file
|
||||
|
||||
import xml.etree.ElementTree as ET
|
||||
from collections import namedtuple, defaultdict
|
||||
import math
|
||||
import gaussian_orbitals
|
||||
import numpy as np
|
||||
|
||||
|
||||
# Get the total number of basis functions after expanding the angular parts
|
||||
def get_total_basis_functions(basis_set):
|
||||
ijk_list = gaussian_orbitals.get_ijk()
|
||||
angular_funcs = defaultdict(int)
|
||||
for i,j,k,name in ijk_list:
|
||||
L = i + j + k
|
||||
angular_funcs[L] += 1
|
||||
|
||||
total = 0
|
||||
for cg in basis_set:
|
||||
total += angular_funcs[cg.orbtype]
|
||||
return total
|
||||
|
||||
def read_basis_groups(atomic_basis_set):
|
||||
basis_groups = atomic_basis_set.findall('basisGroup')
|
||||
#print basis_groups
|
||||
basis_set = []
|
||||
for basis_group in basis_groups:
|
||||
if basis_group.attrib['type'] != 'Gaussian':
|
||||
print 'Expecting Gaussian type basisGroup'
|
||||
#print basis_group.attrib['n']
|
||||
n = int(basis_group.attrib['n'])
|
||||
#print basis_group.attrib['l']
|
||||
ang_mom_l = int(basis_group.attrib['l'])
|
||||
#print basis_group.attrib['type']
|
||||
zeta_list = []
|
||||
coef_list = []
|
||||
radfuncs = basis_group.findall('radfunc')
|
||||
for radfunc in radfuncs:
|
||||
zeta = float(radfunc.attrib['exponent'])
|
||||
contraction_coef = float(radfunc.attrib['contraction'])
|
||||
zeta_list.append(zeta)
|
||||
coef_list.append(contraction_coef)
|
||||
|
||||
cg = gaussian_orbitals.CG_basis(ang_mom_l, len(zeta_list), zeta_list, coef_list)
|
||||
basis_set.append(cg)
|
||||
|
||||
return basis_set
|
||||
|
||||
|
||||
# Read the atomic basis set and MO coefficients
|
||||
|
||||
def parse_qmc_wf(fname):
|
||||
tree = ET.parse(fname)
|
||||
|
||||
atomic_basis_sets = tree.findall('.//atomicBasisSet')
|
||||
basis_sets = dict()
|
||||
for atomic_basis_set in atomic_basis_sets:
|
||||
element = atomic_basis_set.attrib['elementType']
|
||||
basis_set = read_basis_groups(atomic_basis_set)
|
||||
basis_sets[element] = basis_set
|
||||
|
||||
|
||||
basis_size = 0
|
||||
for element, basis_set in basis_sets.iteritems():
|
||||
basis_size += get_total_basis_functions(basis_set)
|
||||
#print 'total basis size',basis_size
|
||||
|
||||
# Just use the first one for now - assume up and down MO's are the same
|
||||
MO_coeff_node = tree.find('.//determinant/coefficient')
|
||||
MO_matrix = None
|
||||
if MO_coeff_node is None:
|
||||
print 'Molecular orbital coefficients not found'
|
||||
else:
|
||||
#print 'MO_coeff = ',MO_coeff_node
|
||||
MO_size = int(MO_coeff_node.attrib['size'])
|
||||
#print 'MO coeff size = ',MO_size
|
||||
|
||||
MO_text = MO_coeff_node.text
|
||||
MO_text_entries = MO_text.split()
|
||||
MO_values = [float(a) for a in MO_text_entries]
|
||||
|
||||
#MO_matrix = np.array(MO_values).reshape( (basis_size, MO_size) )
|
||||
MO_matrix = np.array(MO_values).reshape( (MO_size, basis_size) )
|
||||
#print 'MO_values = ',MO_values
|
||||
|
||||
return basis_sets, MO_matrix
|
||||
|
||||
|
||||
# Read the ion positions and types
|
||||
|
||||
def parse_structure(node):
|
||||
particleset = node.find("particleset[@name='ion0']")
|
||||
npos = int(particleset.attrib['size'])
|
||||
pos_node = particleset.find("attrib[@name='position']")
|
||||
pos_values = [float(a) for a in pos_node.text.split()]
|
||||
pos = np.array(pos_values).reshape( (3, npos) )
|
||||
|
||||
elements_node = particleset.find("attrib[@name='ionid']")
|
||||
elements = elements_node.text.split()
|
||||
return pos, elements
|
||||
|
||||
|
||||
def read_structure_file(fname):
|
||||
tree = ET.parse(fname)
|
||||
return parse_structure(tree)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# For He
|
||||
basis_set, MO_matrix = parse_qmc_wf('he_sto3g.wfj.xml')
|
||||
|
||||
|
||||
# For HCN - need ion positions as well
|
||||
basis_sets, MO_matrix = parse_qmc_wf('hcn.wfnoj.xml')
|
||||
|
||||
pos_list, elements = read_structure_file("hcn.structure.xml")
|
||||
|
||||
gtos = gaussian_orbitals.GTO_centers(pos_list, elements, basis_sets)
|
||||
atomic_orbs = gtos.eval_v(1.0, 0.0, 0.0)
|
||||
#print np.dot(MO_matrix, atomic_orbs)
|
||||
|
|
@ -0,0 +1,464 @@
|
|||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
// This file is distributed under the University of Illinois/NCSA Open Source License.
|
||||
// See LICENSE file in top directory for details.
|
||||
//
|
||||
// Copyright (c) 2018 Jeongnim Kim and QMCPACK developers.
|
||||
//
|
||||
// File developed by: Mark Dewing, mdewing@anl.gov, Argonne National Laboratory
|
||||
//
|
||||
// File created by: Mark Dewing, mdewing@anl.gov, Argonne National Laboratory
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
#include "catch.hpp"
|
||||
|
||||
#include "Configuration.h"
|
||||
#include "Message/Communicate.h"
|
||||
#include "Numerics/OneDimGridBase.h"
|
||||
#include "Particle/DistanceTableData.h"
|
||||
#include "ParticleIO/XMLParticleIO.h"
|
||||
#include "Numerics/GaussianBasisSet.h"
|
||||
#ifdef ENABLE_SOA
|
||||
#include "QMCWaveFunctions/lcao/LCAOrbitalBuilder.h"
|
||||
#else
|
||||
#include "QMCWaveFunctions/MolecularOrbitals/LocalizedBasisSet.h"
|
||||
#include "QMCWaveFunctions/MolecularOrbitals/LCOrbitalSet.h"
|
||||
#include "QMCWaveFunctions/MolecularOrbitals/SphericalBasisSet.h"
|
||||
#include "QMCWaveFunctions/MolecularOrbitals/NGOBuilder.h"
|
||||
#endif
|
||||
#include "QMCWaveFunctions/SPOSetBuilderFactory.h"
|
||||
|
||||
namespace qmcplusplus
|
||||
{
|
||||
|
||||
void test_He(bool transform)
|
||||
{
|
||||
std::ostringstream section_name;
|
||||
section_name << "He, transform orbitals to grid: " << (transform ? "T":"F");
|
||||
|
||||
SECTION(section_name.str()) {
|
||||
OHMMS::Controller->initialize(0, NULL);
|
||||
Communicate *c = OHMMS::Controller;
|
||||
|
||||
ParticleSet elec;
|
||||
std::vector<int> agroup(2);
|
||||
agroup[0] = 1;
|
||||
agroup[1] = 1;
|
||||
elec.setName("e");
|
||||
elec.create(agroup);
|
||||
elec.R[0] = 0.0;
|
||||
|
||||
SpeciesSet &tspecies = elec.getSpeciesSet();
|
||||
int upIdx = tspecies.addSpecies("u");
|
||||
int downIdx = tspecies.addSpecies("d");
|
||||
int massIdx = tspecies.addAttribute("mass");
|
||||
tspecies(massIdx, upIdx) = 1.0;
|
||||
tspecies(massIdx, downIdx) = 1.0;
|
||||
|
||||
ParticleSet ions;
|
||||
ions.setName("ion0");
|
||||
ions.create(1);
|
||||
ions.R[0] = 0.0;
|
||||
SpeciesSet &ispecies = ions.getSpeciesSet();
|
||||
int heIdx = ispecies.addSpecies("He");
|
||||
ions.update();
|
||||
|
||||
|
||||
#ifdef ENABLE_SOA
|
||||
elec.addTable(ions,DT_SOA);
|
||||
#else
|
||||
elec.addTable(ions,DT_AOS);
|
||||
#endif
|
||||
elec.update();
|
||||
|
||||
Libxml2Document doc;
|
||||
bool okay = doc.parse("he_sto3g.wfj.xml");
|
||||
REQUIRE(okay);
|
||||
xmlNodePtr root = doc.getRoot();
|
||||
|
||||
TrialWaveFunction psi(c);
|
||||
|
||||
OrbitalBuilderBase::PtclPoolType particle_set_map;
|
||||
particle_set_map["e"] = &elec;
|
||||
particle_set_map["ion0"] = &ions;
|
||||
|
||||
|
||||
SPOSetBuilderFactory bf(elec, psi, particle_set_map);
|
||||
|
||||
OhmmsXPathObject MO_base("//determinantset", doc.getXPathContext());
|
||||
REQUIRE(MO_base.size() == 1);
|
||||
if (transform) {
|
||||
// input file is set to transform GTO's to numerical orbitals by default
|
||||
} else {
|
||||
// use direct evaluation of GTO's
|
||||
xmlSetProp(MO_base[0], (const xmlChar *)"transform", (const xmlChar *)"no");
|
||||
xmlSetProp(MO_base[0], (const xmlChar *)"key", (const xmlChar *)"GTO");
|
||||
}
|
||||
|
||||
SPOSetBuilder *bb = bf.createSPOSetBuilder(MO_base[0]);
|
||||
REQUIRE(bb != NULL);
|
||||
|
||||
OhmmsXPathObject slater_base("//determinant", doc.getXPathContext());
|
||||
bb->loadBasisSetFromXML(MO_base[0]);
|
||||
SPOSetBase *sposet = bb->createSPOSet(slater_base[0]);
|
||||
|
||||
//std::cout << "basis set size = " << sposet->getBasisSetSize() << std::endl;
|
||||
|
||||
SPOSetBase::ValueVector_t values;
|
||||
SPOSetBase::GradVector_t dpsi;
|
||||
SPOSetBase::ValueVector_t d2psi;
|
||||
values.resize(1);
|
||||
dpsi.resize(1);
|
||||
d2psi.resize(1);
|
||||
|
||||
// Call makeMove to compute the distances
|
||||
ParticleSet::SingleParticlePos_t newpos(0.0001, 0.0, 0.0);
|
||||
elec.makeMove(0, newpos);
|
||||
|
||||
sposet->evaluate(elec, 0, values);
|
||||
|
||||
// Generated from gen_mo.py for position [0.0001, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx( 0.9996037001));
|
||||
|
||||
sposet->evaluate(elec, 0, values, dpsi, d2psi);
|
||||
|
||||
// Generated from gen_mo.py for position [0.0001, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx( 0.9996037001));
|
||||
REQUIRE(dpsi[0][0] == Approx(-0.0006678035459));
|
||||
REQUIRE(dpsi[0][1] == Approx( 0));
|
||||
REQUIRE(dpsi[0][2] == Approx( 0));
|
||||
REQUIRE(d2psi[0] == Approx( -20.03410564));
|
||||
|
||||
|
||||
ParticleSet::SingleParticlePos_t disp(1.0, 0.0, 0.0);
|
||||
elec.makeMove(0, disp);
|
||||
|
||||
sposet->evaluate(elec, 0, values, dpsi, d2psi);
|
||||
// Generated from gen_mo.py for position [1.0, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx( 0.2315567641));
|
||||
REQUIRE(dpsi[0][0] == Approx( -0.3805431885));
|
||||
REQUIRE(dpsi[0][1] == Approx( 0));
|
||||
REQUIRE(dpsi[0][2] == Approx( 0));
|
||||
REQUIRE(d2psi[0] == Approx( -0.2618497452));
|
||||
|
||||
SPOSetBuilderFactory::clear();
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("ReadMolecularOrbital GTO He","[wavefunction]")
|
||||
{
|
||||
test_He(false);
|
||||
}
|
||||
|
||||
TEST_CASE("ReadMolecularOrbital Numerical He","[wavefunction]")
|
||||
{
|
||||
test_He(true);
|
||||
}
|
||||
|
||||
|
||||
void test_Ne(bool transform)
|
||||
{
|
||||
std::ostringstream section_name;
|
||||
section_name << "Neon, transform orbitals to grid: " << (transform ? "T":"F");
|
||||
|
||||
SECTION(section_name.str()) {
|
||||
OHMMS::Controller->initialize(0, NULL);
|
||||
Communicate *c = OHMMS::Controller;
|
||||
|
||||
ParticleSet elec;;
|
||||
std::vector<int> agroup(2);
|
||||
agroup[0] = 1;
|
||||
agroup[1] = 1;
|
||||
elec.setName("e");
|
||||
elec.create(agroup);
|
||||
elec.R[0]= 0.0;
|
||||
|
||||
SpeciesSet &tspecies = elec.getSpeciesSet();
|
||||
int upIdx = tspecies.addSpecies("u");
|
||||
int downIdx = tspecies.addSpecies("d");
|
||||
int massIdx = tspecies.addAttribute("mass");
|
||||
tspecies(massIdx, upIdx) = 1.0;
|
||||
tspecies(massIdx, downIdx) = 1.0;
|
||||
|
||||
ParticleSet ions;
|
||||
ions.setName("ion0");
|
||||
ions.create(1);
|
||||
ions.R[0][0] = 0.0;
|
||||
ions.R[0][1] = 0.0;
|
||||
ions.R[0][2] = 0.0;
|
||||
SpeciesSet &ispecies = ions.getSpeciesSet();
|
||||
int heIdx = ispecies.addSpecies("Ne");
|
||||
ions.update();
|
||||
|
||||
|
||||
#ifdef ENABLE_SOA
|
||||
elec.addTable(ions,DT_SOA);
|
||||
#else
|
||||
elec.addTable(ions,DT_AOS);
|
||||
#endif
|
||||
elec.update();
|
||||
|
||||
Libxml2Document doc;
|
||||
bool okay = doc.parse("ne_def2_svp.wfnoj.xml");
|
||||
REQUIRE(okay);
|
||||
xmlNodePtr root = doc.getRoot();
|
||||
|
||||
TrialWaveFunction psi(c);
|
||||
|
||||
OrbitalBuilderBase::PtclPoolType particle_set_map;
|
||||
particle_set_map["e"] = &elec;
|
||||
particle_set_map["ion0"] = &ions;
|
||||
|
||||
|
||||
SPOSetBuilderFactory bf(elec, psi, particle_set_map);
|
||||
|
||||
OhmmsXPathObject MO_base("//determinantset", doc.getXPathContext());
|
||||
REQUIRE(MO_base.size() == 1);
|
||||
|
||||
if (transform) {
|
||||
// input file is set to transform GTO's to numerical orbitals by default
|
||||
} else {
|
||||
// use direct evaluation of GTO's
|
||||
xmlSetProp(MO_base[0], (const xmlChar *)"transform", (const xmlChar *)"no");
|
||||
xmlSetProp(MO_base[0], (const xmlChar *)"key", (const xmlChar *)"GTO");
|
||||
}
|
||||
|
||||
SPOSetBuilder *bb = bf.createSPOSetBuilder(MO_base[0]);
|
||||
REQUIRE(bb != NULL);
|
||||
|
||||
OhmmsXPathObject slater_base("//determinant", doc.getXPathContext());
|
||||
bb->loadBasisSetFromXML(MO_base[0]);
|
||||
SPOSetBase *sposet = bb->createSPOSet(slater_base[0]);
|
||||
|
||||
//std::cout << "basis set size = " << sposet->getBasisSetSize() << std::endl;
|
||||
|
||||
SPOSetBase::ValueVector_t values;
|
||||
SPOSetBase::GradVector_t dpsi;
|
||||
SPOSetBase::ValueVector_t d2psi;
|
||||
values.resize(5);
|
||||
dpsi.resize(5);
|
||||
d2psi.resize(5);
|
||||
|
||||
ParticleSet::SingleParticlePos_t newpos(0.00001, 0.0, 0.0);
|
||||
elec.makeMove(0, newpos);
|
||||
|
||||
sposet->evaluate(elec, 0, values);
|
||||
|
||||
std::cout << "values = " << values << std::endl;
|
||||
|
||||
// Generated from gen_mo.py for position [1e-05, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx( -16.11819042));
|
||||
|
||||
sposet->evaluate(elec, 0, values, dpsi, d2psi);
|
||||
std::cout << "values = " << values << std::endl;
|
||||
std::cout << "dpsi = " << dpsi << std::endl;
|
||||
std::cout << "d2psi = " << d2psi << std::endl;
|
||||
// Generated from gen_mo.py for position [1e-05, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx( -16.11819042));
|
||||
REQUIRE(dpsi[0][0] == Approx( 0.1747261458));
|
||||
REQUIRE(dpsi[0][1] == Approx( 0));
|
||||
REQUIRE(dpsi[0][2] == Approx( 0));
|
||||
|
||||
|
||||
ParticleSet::SingleParticlePos_t disp(1.0, 0.0, 0.0);
|
||||
elec.makeMove(0, disp);
|
||||
sposet->evaluate(elec, 0, values);
|
||||
// Generated from gen_mo.py for position [1.0, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx(-0.005041631374));
|
||||
|
||||
|
||||
sposet->evaluate(elec, 0, values, dpsi, d2psi);
|
||||
// Generated from gen_mo.py for position [1.0, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx(-0.005041631374));
|
||||
REQUIRE(dpsi[0][0] == Approx( 0.01862216578));
|
||||
REQUIRE(dpsi[0][1] == Approx( 0));
|
||||
REQUIRE(dpsi[0][2] == Approx( 0));
|
||||
REQUIRE(d2psi[0] == Approx( -0.01551755818));
|
||||
|
||||
|
||||
SPOSetBuilderFactory::clear();
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("ReadMolecularOrbital GTO Ne","[wavefunction]")
|
||||
{
|
||||
test_Ne(false);
|
||||
}
|
||||
|
||||
TEST_CASE("ReadMolecularOrbital Numerical Ne","[wavefunction]")
|
||||
{
|
||||
test_Ne(true);
|
||||
}
|
||||
|
||||
TEST_CASE("ReadMolecularOrbital HCN","[wavefunction]")
|
||||
{
|
||||
}
|
||||
|
||||
void test_HCN(bool transform)
|
||||
{
|
||||
std::ostringstream section_name;
|
||||
section_name << "HCN, transform orbitals to grid: " << (transform ? "T":"F");
|
||||
|
||||
SECTION(section_name.str()) {
|
||||
OHMMS::Controller->initialize(0, NULL);
|
||||
Communicate *c = OHMMS::Controller;
|
||||
|
||||
Libxml2Document doc;
|
||||
bool okay = doc.parse("hcn.structure.xml");
|
||||
REQUIRE(okay);
|
||||
xmlNodePtr root = doc.getRoot();
|
||||
Tensor<int, 3> tmat;
|
||||
tmat(0,0) = 1;
|
||||
tmat(1,1) = 1;
|
||||
tmat(2,2) = 1;
|
||||
|
||||
ParticleSet ions;
|
||||
XMLParticleParser parse_ions(ions, tmat);
|
||||
OhmmsXPathObject particleset_ion("//particleset[@name='ion0']", doc.getXPathContext());
|
||||
REQUIRE(particleset_ion.size() == 1);
|
||||
parse_ions.put(particleset_ion[0]);
|
||||
|
||||
REQUIRE(ions.groups() == 3);
|
||||
REQUIRE(ions.R.size() == 3);
|
||||
ions.update();
|
||||
|
||||
ParticleSet elec;
|
||||
XMLParticleParser parse_elec(elec, tmat);
|
||||
OhmmsXPathObject particleset_elec("//particleset[@name='e']", doc.getXPathContext());
|
||||
REQUIRE(particleset_elec.size() == 1);
|
||||
parse_elec.put(particleset_elec[0]);
|
||||
|
||||
REQUIRE(elec.groups() == 2);
|
||||
REQUIRE(elec.R.size() == 14);
|
||||
|
||||
elec.R = 0.0;
|
||||
|
||||
#ifdef ENABLE_SOA
|
||||
elec.addTable(ions,DT_SOA);
|
||||
#else
|
||||
elec.addTable(ions,DT_AOS);
|
||||
#endif
|
||||
elec.update();
|
||||
|
||||
Libxml2Document doc2;
|
||||
okay = doc2.parse("hcn.wfnoj.xml");
|
||||
REQUIRE(okay);
|
||||
xmlNodePtr root2 = doc2.getRoot();
|
||||
|
||||
TrialWaveFunction psi(c);
|
||||
|
||||
OrbitalBuilderBase::PtclPoolType particle_set_map;
|
||||
particle_set_map["e"] = &elec;
|
||||
particle_set_map["ion0"] = &ions;
|
||||
|
||||
|
||||
SPOSetBuilderFactory bf(elec, psi, particle_set_map);
|
||||
|
||||
OhmmsXPathObject MO_base("//determinantset", doc2.getXPathContext());
|
||||
REQUIRE(MO_base.size() == 1);
|
||||
|
||||
if (transform) {
|
||||
// input file is set to transform GTO's to numerical orbitals by default
|
||||
} else {
|
||||
// use direct evaluation of GTO's
|
||||
xmlSetProp(MO_base[0], (const xmlChar *)"transform", (const xmlChar *)"no");
|
||||
xmlSetProp(MO_base[0], (const xmlChar *)"key", (const xmlChar *)"GTO");
|
||||
}
|
||||
|
||||
SPOSetBuilder *bb = bf.createSPOSetBuilder(MO_base[0]);
|
||||
REQUIRE(bb != NULL);
|
||||
|
||||
OhmmsXPathObject slater_base("//determinant", doc2.getXPathContext());
|
||||
bb->loadBasisSetFromXML(MO_base[0]);
|
||||
SPOSetBase *sposet = bb->createSPOSet(slater_base[0]);
|
||||
|
||||
//std::cout << "basis set size = " << sposet->getBasisSetSize() << std::endl;
|
||||
|
||||
SPOSetBase::ValueVector_t values;
|
||||
SPOSetBase::GradVector_t dpsi;
|
||||
SPOSetBase::ValueVector_t d2psi;
|
||||
values.resize(7);
|
||||
dpsi.resize(7);
|
||||
d2psi.resize(7);
|
||||
|
||||
ParticleSet::SingleParticlePos_t newpos;
|
||||
elec.makeMove(0, newpos);
|
||||
|
||||
sposet->evaluate(elec, 0, values);
|
||||
|
||||
//typedef LCOrbitalSet<LocalizedBasisSet<SphericalBasisSet<GaussianCombo<double>>>, false> OrbType;
|
||||
//OrbType *lcob = dynamic_cast<OrbType *>(sposet);
|
||||
//REQUIRE(lcob != NULL);
|
||||
|
||||
//std::cout << "atomic orbs = " << lcob->myBasisSet->Phi << std::endl;
|
||||
//std::cout << "values = " << values << std::endl;
|
||||
REQUIRE(values[0] == Approx( 0.009452265234));
|
||||
REQUIRE(values[1] == Approx( 0.02008357407));
|
||||
REQUIRE(values[2] == Approx( 0.4163749594));
|
||||
REQUIRE(values[3] == Approx( -0.08854428343));
|
||||
REQUIRE(values[4] == Approx( 0.273158705));
|
||||
REQUIRE(values[5] == Approx( 0));
|
||||
REQUIRE(values[6] == Approx( 0));
|
||||
|
||||
sposet->evaluate(elec, 0, values, dpsi, d2psi);
|
||||
|
||||
|
||||
// Generated form gen_mo.py for position [0.0, 0.0, 0.0]
|
||||
REQUIRE(values[0] == Approx( 0.009452265234));
|
||||
REQUIRE(dpsi[0][0] == Approx( -0.05400764372));
|
||||
REQUIRE(dpsi[0][1] == Approx( 0));
|
||||
REQUIRE(dpsi[0][2] == Approx( 0));
|
||||
REQUIRE(d2psi[0] == Approx( 0.2532157143));
|
||||
|
||||
REQUIRE(values[1] == Approx( 0.02008357407));
|
||||
REQUIRE(dpsi[1][0] == Approx( 0.1009262252));
|
||||
REQUIRE(dpsi[1][1] == Approx( 0));
|
||||
REQUIRE(dpsi[1][2] == Approx( 0));
|
||||
REQUIRE(d2psi[1] == Approx( 0.3423520138));
|
||||
|
||||
REQUIRE(values[2] == Approx( 0.4163749594));
|
||||
REQUIRE(dpsi[2][0] == Approx( -0.1202256419));
|
||||
REQUIRE(dpsi[2][1] == Approx( 0));
|
||||
REQUIRE(dpsi[2][2] == Approx( 0));
|
||||
REQUIRE(d2psi[2] == Approx( -1.178149899));
|
||||
|
||||
REQUIRE(values[3] == Approx( -0.08854428343));
|
||||
REQUIRE(dpsi[3][0] == Approx(-0.004505552544));
|
||||
REQUIRE(dpsi[3][1] == Approx( 0));
|
||||
REQUIRE(dpsi[3][2] == Approx( 0));
|
||||
REQUIRE(d2psi[3] == Approx( 0.2838238091));
|
||||
|
||||
REQUIRE(values[4] == Approx( 0.273158705));
|
||||
REQUIRE(dpsi[4][0] == Approx( -0.01125044248));
|
||||
REQUIRE(dpsi[4][1] == Approx( 0));
|
||||
REQUIRE(dpsi[4][2] == Approx( 0));
|
||||
REQUIRE(d2psi[4] == Approx( -0.9173261582));
|
||||
|
||||
REQUIRE(values[5] == Approx( 0));
|
||||
REQUIRE(dpsi[5][0] == Approx( 0));
|
||||
REQUIRE(dpsi[5][1] == Approx( 0.4221165864));
|
||||
REQUIRE(dpsi[5][2] == Approx( -0.08191634629));
|
||||
REQUIRE(d2psi[5] == Approx( 0));
|
||||
|
||||
REQUIRE(values[6] == Approx( 0));
|
||||
REQUIRE(dpsi[6][0] == Approx( 0));
|
||||
REQUIRE(dpsi[6][1] == Approx( 0.08191634629));
|
||||
REQUIRE(dpsi[6][2] == Approx( 0.4221165864));
|
||||
REQUIRE(d2psi[6] == Approx( 0));
|
||||
|
||||
SPOSetBuilderFactory::clear();
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("ReadMolecularOrbital GTO HCN","[wavefunction]")
|
||||
{
|
||||
test_HCN(false);
|
||||
}
|
||||
|
||||
TEST_CASE("ReadMolecularOrbital Numerical HCN","[wavefunction]")
|
||||
{
|
||||
test_HCN(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue