nexus: fix in hamiltonian input for repeated elements with different labels

git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@7128 e5b18d87-469d-4833-9cc0-8cdfa06e9491
This commit is contained in:
Jaron Krogel 2016-09-26 13:01:10 +00:00
parent afeefe4ed5
commit d57a46e6fd
1 changed files with 5 additions and 3 deletions

View File

@ -143,6 +143,7 @@ from superstring import string2val
from generic import obj,hidden
from xmlreader import XMLreader,XMLelement
from developer import DevBase
from periodic_table import is_element
from structure import Structure,Jellium
from physical_system import PhysicalSystem
from simulation import SimulationInput,SimulationInputTemplate
@ -4358,10 +4359,11 @@ def generate_hamiltonian(name = 'h0',
#end if
pseudos = collection()
for ion in ions:
if not ion.name in ppfiles:
QmcpackInput.class_error('pseudos provided to generate_hamilonian are incomplete\n a pseudopotential for ion of type {0} is missing\n pseudos provided:\n{1}'.format(ion.name,str(ppfiles)))
iselem,ion_type = is_element(ion.name,symbol=True)
if not ion_type in ppfiles:
QmcpackInput.class_error('pseudos provided to generate_hamilonian are incomplete\n a pseudopotential for ion of type {0} is missing\n pseudos provided:\n{1}'.format(ion_type,str(ppfiles)))
#end if
pseudos.add(pseudo(elementtype=ion.name,href=ppfiles[ion.name]))
pseudos.add(pseudo(elementtype=ion.name,href=ppfiles[ion_type]))
#end for
pp = pseudopotential(name='PseudoPot',type='pseudo',source=iname,wavefunction=wfname,format=format,pseudos=pseudos)
pairpots.append(pp)