def test_user_friendly_custom_incar(self): input = VaspInputInterface(s=self.mol_file, config_file=self.config_file) input.LOPTICS=False input.ALGO='Exact' input.EDIFF=1e-05 input.kpts=[8,8,8] input.kpts_shift=[1,0,0] inp_dic = input.input.as_dict() cdic = {u'_fw_name': '{{pymatgen.io.vasp.interfaces.WriteVaspInputTask}}', 'custom_params': {'user_kpts_settings': {'kpts': [8, 8, 8], 'kpts_shift': [1, 0, 0], 'kpts_style': 'Gamma'}}, 'input_set_params': {'user_incar_settings': {'ALGO': 'Exact', 'CSHIFT': 0.1, 'EDIFF': 1e-05, 'LOPTICS': False, 'NEDOS': 4096, 'SIGMA': 0.01}}, 'structure': self.mol_file, 'vasp_input_set': 'MinimalVaspInputSet'} self.assertDictEqual(inp_dic, cdic, msg=None)
kpar_chi=32 ncore_per_kpoint_dft=ncores/kpar_dft ncore_per_kpoint_chi=ncores/kpar_chi remainder=ncore_per_kpoint_dft%ncore_per_kpoint_chi fw1_task1=ScriptTask.from_str("pwd") fw1=VaspFirework(fw1_task1,name=mname) # standard DFT first vasp1=VaspInputInterface(s) nelect=vasp1.get_nelect() nbands=nelect*3/2 remainder=nbands%ncore_per_kpoint_dft add=ncore_per_kpoint_dft-remainder nbands=int(nbands+add) vasp1.ALGO='Normal' vasp1.KPAR=kpar_dft vasp1.NBANDS=nbands vasp1.NEDOS=4096 vasp1.kpts_style='Gamma' vasp1.kpts=[6,6,6] vasp1.kpts_shift=[0,0,0] fw1.add_task(vasp1) fw1.add_handler('FrozenJobErrorHandler') fw1_task2=ScriptTask.from_str("pwd; mkdir OrbDir") fw1_task3=ScriptTask.from_str("mv CHG* CONTCAR DOSCAR EIGENVAL I* K* OSZICAR OUTCAR P* W* X* vasp* OrbDir") fw1_task4=ScriptTask.from_str("cp OrbDir/WAVECAR . ; cp OrbDir/CONTCAR .") fw1.add_task(fw1_task2) fw1.add_task(fw1_task3)