Пример #1
0
    def test_copy_from_dir(self):
        out_name = 'FW_copy_from_dir.yaml'
        fw = VaspFirework(self.input, config_file=self.config_file)
        fw.copy_files_from_previous('WAVECAR', 'WAVEDER', mode='copy', 
                                    dir='../../test_files/VASP_INTERFACES_TEST_FILES', 
                                    ignore_errors=True)
        fw_dic = fw.Firework.as_dict()
        for i in ['created_on', 'updated_on', 'fw_id']:
            del fw_dic[i]
        
        gdic = {'name': 'vaspfw',
            'spec': {'_tasks': [{'_fw_name': '{{pymatgen.io.vasp.interfaces.WriteVaspInputTask}}',
                'custom_params': {'user_kpts_settings': {'kpts': [6, 6, 6],
                    'kpts_shift': [0, 0, 0],
                    'kpts_style': 'Gamma'}},
                'input_set_params': {'user_incar_settings': {'ALGO': 'Normal',
                    'CSHIFT': 0.1,
                    'LOPTICS': '.TRUE.',
                    'NEDOS': 4096,
                    'SIGMA': 0.01}},
                'structure': 'SiC_0.cif',
                'vasp_input_set': 'MinimalVaspInputSet'},
            {'_fw_name': '{{pymatgen.io.vasp.interfaces.VaspTransferTask}}',
                'dir': '../../test_files/VASP_INTERFACES_TEST_FILES',
                'files': ['WAVECAR', 'WAVEDER'],
                'ignore_errors': True,
                'mode': 'copy'},
            {'_fw_name': '{{pymatgen.io.vasp.interfaces.RunCustodianTask}}',
                'handler_params': {},
                'handlers': []}]}}

        self.assertDictEqual(fw_dic, gdic, msg=None)
Пример #2
0
vasp3.LHFCALC='.TRUE.'
vasp3.HFSCREEN=0.2
vasp3.LSPECTRAL='False'
vasp3.NEDOS=4096
vasp3.NOMEGA=1024
vasp3.NBANDS=nbands
vasp3.LOPTICS='False'
vasp3.LRPA='.FALSE.'
vasp3.LFXC='True'
vasp3.NKREDLFX=3
vasp3.NKREDLFY=3
vasp3.NKREDLFZ=3
vasp3.KPAR=kpar_chi
vasp3.kpts_style='Gamma'
vasp3.kpts=[6,6,6]
vasp3.kpts_shift=[0,0,0]

fw2=VaspFirework(vasp3, name=mname)
fw2.copy_files_from_previous('WAVECAR', 'WAVEDER', mode='copy', ignore_errors=True)


# Make Sequential Workflow
#wf1 = VASPWorkflow(fw1,fw2,fw3, name=material_file_name.split('.')[0])
wf=VaspWorkflow(fw1,fw2,name=material_file_name.split('.')[0])
wf.to_file(material_file_name)

# save specification to yaml file for later inspection
# or manual add to lauchpad with lpad script
#wf.add_wf_to_launchpad()