#create a QE scf task and run qe_input = PwIn.from_structure_dict(MoS2,kpoints=[12,12,1],ecut=30) qe_scf_task = PwTask.from_input(qe_input) #create a QE nscf task and run qe_input = qe_input.copy().set_nscf(20) qe_nscf_task = PwTask.from_input([qe_input,qe_scf_task],dependencies=qe_scf_task) #create a p2y nscf task and run p2y_task = P2yTask.from_nscf_task(qe_nscf_task) #create a yambo optics task and run yamboin_dict = dict(NGsBlkXs=[1,'Ry'], BndsRnXs=[[1,20],''], BSEBands=[[8,11],''], BEnRange=[[0.0,6.0],'eV'], BEnSteps=[1000,'']) yambo_task = YamboTask.from_runlevel(p2y_task,'-b -o b -k sex -y d', yamboin_dict,dependencies=p2y_task) print(yambo_task) #create yamboflow yambo_flow = YambopyFlow.from_tasks('flow',[qe_scf_task,qe_nscf_task,p2y_task,yambo_task]) print(yambo_flow) yambo_flow.create() yambo_flow.dump_run() print(yambo_flow) yambo_flow.run()
# BSE variables dictionary bse_dict = dict(BEnSteps=1000, FFTGvecs=[10, 'Ry'], BEnRange=[[0, 5], 'eV'], BndsRnXp=[1, 10], NGsBlkXp=[1, 'Ry'], BSENGexx=[10, 'Ry'], BSENGBlk=[1, 'Ry'], BSEBands=[2, 7]) # Merge all dict variables yamboin_dict = {**yamboin_dict, **cutoffdict, **paradict} # Set Yambo task (BSE in this case) bse_task = YamboTask.from_runlevel([p2y_task], '-r -o b -b -k sex -y h -V all', yamboin_dict) # Introduce each task in the list of task tasks.append(bse_task) # Set the Yambo flow yambo_flow = YambopyFlow.from_tasks('bse_flow', tasks) print(yambo_flow) # Create the Yambo flow yambo_flow.create(agressive=True) # Run the Yambo flow yambo_flow.run() print(yambo_flow)
FFTGvecs=[10, 'Ry'], BEnRange=[[0, 5], 'eV'], BndsRnXs=[1, 60], NGsBlkXs=[1, 'Ry'], BSENGexx=[10, 'Ry'], BSENGBlk=[1, 'Ry'], BSEBands=[7, 10]) # Merge all dict variables yamboin_dict = {**yamboin_dict, **cutoffdict, **paradict, **bsedict} # Set Yambo task (BSE in this case) # yamboin_args >> Add arguments (ExtendOut, WRbsWF, EvalKerr, etc.) bse_task = YamboTask.from_runlevel([p2y_task], '-r -o b -b -k sex -y d -V all', yamboin_dict, yamboin_args=['WRbsWF']) # Introduce each task in the list of task tasks.append(bse_task) # Set the Yambo flow yambo_flow = YambopyFlow.from_tasks('bse_flow', tasks) print(yambo_flow) # Create the Yambo flow yambo_flow.create(agressive=True) # Run the Yambo flow yambo_flow.run() print(yambo_flow)
# GW variables dictionary (standard variables, more advanced in Yambo Website) gwdict = dict(FFTGvecs=[10,'Ry'], BndsRnXp=[1,60], NGsBlkXp=[1,'Ry'], GbndRnge=[1,60], EXXRLvcs=[10,'Ry'], VXCRLvcs=[10,'Ry'], QPkrange=[1,19,7,10]) # Merge all dict variables yamboin_dict = {**yamboin_dict,**cutoffdict,**paradict,**gwdict} # Set Yambo task (GW in this case) # yamboin_args >> Add arguments (ExtendOut, WRbsWF, EvalKerr, etc.) gw_task = YamboTask.from_runlevel([p2y_task],'-r -g n -p p -V all',yamboin_dict,yamboin_args=['ExtendOut']) # Introduce each task in the list of task tasks.append(gw_task) # Set the Yambo flow yambo_flow = YambopyFlow.from_tasks('gw_flow',tasks) print(yambo_flow) # Create the Yambo flow yambo_flow.create(agressive=True) # Run the Yambo flow yambo_flow.run() print(yambo_flow)