コード例 #1
0
ファイル: data.py プロジェクト: wes-amat/aiida-vasp
def vasp_kpoints(request, aiida_env):
    """Fixture: (kpoints object, resulting KPOINTS)"""
    from aiida.orm import DataFactory
    if request.param == 'mesh':
        kpoints = DataFactory('array.kpoints')()
        kpoints.set_kpoints_mesh([2, 2, 2])
        ref_kpoints = _ref_kp_mesh()
    elif request.param == 'list':
        kpoints = DataFactory('array.kpoints')()
        kpoints.set_kpoints([[0., 0., 0.], [0., 0., .5]], weights=[1., 1.])
        ref_kpoints = _ref_kp_list()
    return kpoints, ref_kpoints
コード例 #2
0
    def inner(calculation_string, parameters=None):  # pylint: disable=missing-docstring
        from aiida.orm import DataFactory

        parameters = parameters if parameters else {}

        process, inputs = get_process_inputs(calculation_string=calculation_string, code_string='vasp')

        structure = DataFactory('structure')()
        structure.set_ase(read_vasp(sample('GaAs/POSCAR')))
        inputs.structure = structure

        paw_cls = DataFactory('vasp.paw')
        ga_paw = paw_cls.load_paw(family='pbe', symbol='Ga')[0]
        as_paw = paw_cls.load_paw(family='pbe', symbol='As')[0]
        inputs.paw = {'Ga': ga_paw, 'As': as_paw}

        kpoints = DataFactory('array.kpoints')()
        kpoints.set_kpoints_mesh([8, 8, 8])
        inputs.kpoints = kpoints

        parameters_input = DataFactory('parameter')(
            dict=ChainMap(parameters, dict(
                nbands=24,
                gga='PE',
                gga_compat=False,
                ismear=0,
                lorbit=11,
                lsorbit=True,
                sigma=0.05,
            )))
        inputs.parameters = parameters_input
        inputs._options.resources = {'num_machines': 1, 'num_mpiprocs_per_machine': 12}
        inputs._options.withmpi = True
        inputs._options.queue_name = 'dphys_compute'
        inputs._options.max_wallclock_seconds = 600

        return process, inputs
コード例 #3
0
 def kpoints_mesh():
     kpoints = DataFactory('array.kpoints')()
     kpoints.set_kpoints_mesh([2, 2, 2])
     return kpoints