mirror of https://github.com/QMCPACK/qmcpack.git
Working on input checker.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@4637 e5b18d87-469d-4833-9cc0-8cdfa06e9491
This commit is contained in:
parent
510ecb08cd
commit
5201e3159a
|
@ -1,37 +1,44 @@
|
|||
#!/bin/env python
|
||||
from xml.dom.minidom import *
|
||||
import sys
|
||||
from check_qmcsystem import *
|
||||
|
||||
def check_project (proj):
|
||||
class simulation:
|
||||
system = qmcsystem()
|
||||
|
||||
|
||||
def check_project (proj, sim):
|
||||
print 'checking project section'
|
||||
return
|
||||
|
||||
def check_random (rand):
|
||||
def check_random (rand, sim):
|
||||
print 'checking random section'
|
||||
return
|
||||
|
||||
def check_qmcsystem(system):
|
||||
print 'checking qmcsystem section'
|
||||
return
|
||||
#def check_qmcsystem(system):
|
||||
# print 'checking qmcsystem section'
|
||||
# return
|
||||
|
||||
def check_wavefunction(wf):
|
||||
def check_wavefunction(wf, sim):
|
||||
print 'checking wavefunction section'
|
||||
return
|
||||
|
||||
def check_hamiltonian(ham):
|
||||
def check_hamiltonian(ham, sim):
|
||||
print 'checking hamiltonian section'
|
||||
return
|
||||
|
||||
def check_loop(loop):
|
||||
def check_loop(loop, sim):
|
||||
print 'checking loop section'
|
||||
return
|
||||
|
||||
def check_qmc(qmc):
|
||||
def check_qmc(qmc, sim):
|
||||
print 'checking qmc section'
|
||||
return
|
||||
|
||||
|
||||
def check_simulation(sim):
|
||||
def check_simulation(sim_elem):
|
||||
mysim = simulation()
|
||||
|
||||
sim_dict = {'project' : check_project , \
|
||||
'random' : check_random , \
|
||||
'qmcsystem' : check_qmcsystem , \
|
||||
|
@ -40,11 +47,11 @@ def check_simulation(sim):
|
|||
'loop' : check_loop , \
|
||||
'qmc' : check_qmc }
|
||||
|
||||
for elem in sim.childNodes:
|
||||
for elem in sim_elem.childNodes:
|
||||
if elem.nodeType == elem.ELEMENT_NODE:
|
||||
n = elem.localName
|
||||
if (n in sim_dict):
|
||||
sim_dict[elem.localName](elem)
|
||||
sim_dict[elem.localName](elem, mysim)
|
||||
else:
|
||||
print "Error: unrecognized subelement \"" + n + "\" in "\
|
||||
"element \"simulation\""
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
|
||||
|
||||
class qmcsystem:
|
||||
lattice = [[0.0, 0.0, 0.0],\
|
||||
[0.0, 0.0, 0.0],\
|
||||
[0.0, 0.0, 0.0]]\
|
||||
|
||||
def get_parameter (self, par_elem):
|
||||
name = par_elem.attributes["name"]
|
||||
print "name = " + name.value
|
||||
val = ""
|
||||
for elem in par_elem.childNodes:
|
||||
print elem
|
||||
if elem.nodeType == elem.TEXT_NODE:
|
||||
print elem
|
||||
val = elem.text
|
||||
return (name,val)
|
||||
|
||||
def check_cell(self, cell_elem):
|
||||
for elem in cell_elem.childNodes:
|
||||
if elem.nodeType == elem.ELEMENT_NODE:
|
||||
n = elem.localName
|
||||
print n
|
||||
if n == 'parameter':
|
||||
self.get_parameter(elem)
|
||||
return
|
||||
|
||||
def check_particleset (self, pset_elem):
|
||||
print "checking particleset"
|
||||
return
|
||||
|
||||
mydict = {"simulationcell" : check_cell,\
|
||||
"particleset" : check_particleset }
|
||||
|
||||
def check (self, sys_elem, sim):
|
||||
print 'checking qmcsystem element'
|
||||
print 'lattice = ' + repr (sim.system.lattice)
|
||||
for elem in sys_elem.childNodes:
|
||||
if elem.nodeType == elem.ELEMENT_NODE:
|
||||
n = elem.localName
|
||||
print n
|
||||
if (n in self.mydict):
|
||||
self.mydict[n](self, elem)
|
||||
|
||||
|
||||
|
||||
|
||||
def check_qmcsystem(sys_elem, sim):
|
||||
sim.system.check (sys_elem, sim)
|
||||
return
|
Loading…
Reference in New Issue