Ejemplo n.º 1
0
def generate_cusp_correction(**kwargs):
    kwargs['input_type'] = 'basic'
    kwargs['bconds'] = 'nnn'
    kwargs['jastrows'] = []
    kwargs['corrections'] = []
    kwargs['calculations'] = []

    sim_args, inp_args = Simulation.separate_inputs(kwargs)

    input_type = inp_args.input_type
    del inp_args.input_type
    input = generate_qmcpack_input(input_type, **inp_args)

    wf = input.get('wavefunction')
    if not 'determinantset' in wf:
        Qmcpack.class_error(
            'wavefunction does not have determinantset, cannot create cusp correction',
            'generate_cusp_correction')
    #end if
    wf.determinantset.cuspcorrection = True

    sim_args.input = input
    qmcpack = Qmcpack(**sim_args)

    return qmcpack
Ejemplo n.º 2
0
def generate_qmcpack(**kwargs):
    sim_args,inp_args = Qmcpack.separate_inputs(kwargs)

    exc = None
    if 'excitation' in inp_args:
        exc = deepcopy(inp_args.excitation)
    #end if

    spp = None
    if 'spin_polarized' in inp_args:
        spp = deepcopy(inp_args.spin_polarized)
    #end if

    if 'input' not in sim_args:
        sim_args.input = generate_qmcpack_input(**inp_args)
    #end if
    qmcpack = Qmcpack(**sim_args)

    if exc is not None:
        qmcpack.excitation = exc
    #end if

    if spp is not None:
        qmcpack.spin_polarized = spp
    #end if

    return qmcpack
Ejemplo n.º 3
0
Archivo: qmcpack.py Proyecto: jyamu/qmc
def generate_qmcpack(**kwargs):
    has_input = 'input_type' in kwargs
    if has_input:
        input_type = kwargs['input_type']
        del kwargs['input_type']
    #end if
    overlapping_kw = set(['system'])
    kw = set(kwargs.keys())
    sim_kw = kw & Simulation.allowed_inputs
    inp_kw = (kw - sim_kw) | (kw & overlapping_kw)    
    sim_args = dict()
    inp_args  = dict()
    for kw in sim_kw:
        sim_args[kw] = kwargs[kw]
    #end for
    for kw in inp_kw:
        inp_args[kw] = kwargs[kw]
    #end for    
    if 'pseudos' in inp_args and inp_args['pseudos']!=None:
        if 'files' in sim_args:
            sim_args['files'] = list(sim_args['files'])
        else:
            sim_args['files'] = list()
        #end if
        sim_args['files'].extend(list(inp_args['pseudos']))
    #end if
    if 'system' in inp_args and isinstance(inp_args['system'],PhysicalSystem):
        inp_args['system'] = inp_args['system'].copy()
    #end if

    sim_args['input'] = generate_qmcpack_input(input_type,**inp_args)
    qmcpack = Qmcpack(**sim_args)

    return qmcpack
Ejemplo n.º 4
0
def generate_qmcpack(**kwargs):
    sim_args,inp_args = Qmcpack.separate_inputs(kwargs)

    if 'input' not in sim_args:
        sim_args.input = generate_qmcpack_input(**inp_args)
    #end if
    qmcpack = Qmcpack(**sim_args)

    return qmcpack
Ejemplo n.º 5
0
def generate_qmcpack(**kwargs):
    sim_args, inp_args = Qmcpack.separate_inputs(kwargs)

    if not 'input' in sim_args:
        input_type = inp_args.input_type
        del inp_args.input_type
        sim_args.input = generate_qmcpack_input(input_type, **inp_args)
    #end if
    qmcpack = Qmcpack(**sim_args)

    return qmcpack
Ejemplo n.º 6
0
def generate_qmcpack(**kwargs):
    sim_args,inp_args = Simulation.separate_inputs(kwargs)

    if not 'input' in sim_args:
        input_type = inp_args.input_type
        del inp_args.input_type
        sim_args.input = generate_qmcpack_input(input_type,**inp_args)
    #end if
    qmcpack = Qmcpack(**sim_args)

    return qmcpack
Ejemplo n.º 7
0
def generate_cusp_correction(**kwargs):
    kwargs['input_type']   = 'basic'
    kwargs['bconds']       = 'nnn'
    kwargs['jastrows']     = []
    kwargs['corrections']  = []
    kwargs['calculations'] = []

    sim_args,inp_args = Simulation.separate_inputs(kwargs)

    input_type = inp_args.input_type
    del inp_args.input_type
    input = generate_qmcpack_input(input_type,**inp_args)

    wf = input.get('wavefunction')
    if not 'determinantset' in wf:
        Qmcpack.class_error('wavefunction does not have determinantset, cannot create cusp correction','generate_cusp_correction')
    #end if
    wf.determinantset.cuspcorrection = True

    sim_args.input = input
    qmcpack = Qmcpack(**sim_args)

    return qmcpack