def gen_properties(**kwargs): if 'systype' not in kwargs: error('systype is a required input','gen_properties') #end if systype = kwargs['systype'] del kwargs['systype'] if systype=='molecule_qmc': text = molecule_text elif systype=='periodic_qmc': text = periodic_text else: error('invalid systype encountered\nsystype provided: {0}\nvalid options are: molecule_qmc, periodic_qmc'.format(systype)) #end if sim_args,inp_args = Simulation.separate_inputs(kwargs) if len(inp_args)>0: error('invalid arguments encountered\ninvalid keywords: {0}'.format(sorted(inp_args.keys())),'gen_properties') #end if if not 'input' in sim_args: sim_args.input = input_template_dev(text=text.strip()) #end if prop = Properties_1(**sim_args) return prop
def gen_properties(**kwargs): if 'systype' not in kwargs: error('systype is a required input', 'gen_properties') #end if systype = kwargs['systype'] del kwargs['systype'] if systype == 'molecule_qmc': text = molecule_text elif systype == 'periodic_qmc': text = periodic_text else: error( 'invalid systype encountered\nsystype provided: {0}\nvalid options are: molecule_qmc, periodic_qmc' .format(systype)) #end if sim_args, inp_args = Simulation.separate_inputs(kwargs) if len(inp_args) > 0: error( 'invalid arguments encountered\ninvalid keywords: {0}'.format( sorted(inp_args.keys())), 'gen_properties') #end if if not 'input' in sim_args: sim_args.input = input_template_dev(text=text.strip()) #end if prop = Properties_1(**sim_args) return prop
def gen_crystal_molecule_sim( identifier='crystal', path=None, job=None, title='atom', system=None, pseudos=None, occupations=None, formats=None, theory=None, levshift=None, maxcycle=None, ): required = obj(path=path, system=system, pseudos=pseudos, occupations=occupations, formats=formats, theory=theory, job=job) for k, v in required.iteritems(): if v is None: error(k + ' is a required input', 'gen_crystal_molecule_sim') #end if #end for pseudos_in = pseudos pseudos = [] for pp in pseudos_in: pseudos.append(os.path.join(nexus_noncore.pseudo_dir, pp)) #end for crys_input = input_template_dev() crys_input.read_text( write_geometry(title=title, bcond='molecule', system=system) + write_basis( pseudos=pseudos, occupations=occupations, formats=formats, ) + write_hamiltonian( theory=theory, system=system, levshift=levshift, maxcycle=maxcycle) ) #crys = generate_simulation( # identifier = identifier, # path = path, # job = job(cores=1,serial=True,app_command='crystal<{0}.d12>&{0}.out&'.format(identifier)), # input = crys_input, # infile = '{0}.d12'.format(identifier), # outfile = '{0}.out'.format(identifier), # ) crys = Crystal_1( identifier=identifier, path=path, job=job, input=crys_input, ) return crys
def gen_crystal_molecule_sim( identifier = 'crystal', path = None, job = None, title = 'atom', system = None, pseudos = None, occupations = None, formats = None, theory = None, levshift = None, maxcycle = None, ): required = obj(path=path,system=system,pseudos=pseudos,occupations=occupations,formats=formats,theory=theory,job=job) for k,v in required.iteritems(): if v is None: error(k+' is a required input','gen_crystal_molecule_sim') #end if #end for pseudos_in = pseudos pseudos = [] for pp in pseudos_in: pseudos.append(os.path.join(nexus_noncore.pseudo_dir,pp)) #end for crys_input = input_template_dev() crys_input.read_text( write_geometry( title = title, bcond = 'molecule', system = system )+ write_basis( pseudos = pseudos, occupations = occupations, formats = formats, )+ write_hamiltonian( theory = theory, system = system, levshift = levshift, maxcycle = maxcycle ) ) #crys = generate_simulation( # identifier = identifier, # path = path, # job = job(cores=1,serial=True,app_command='crystal<{0}.d12>&{0}.out&'.format(identifier)), # input = crys_input, # infile = '{0}.d12'.format(identifier), # outfile = '{0}.out'.format(identifier), # ) crys = Crystal_1( identifier = identifier, path = path, job = job, input = crys_input, ) return crys