[docs]@dataclassclassMVLGWBandStructureMaker(Maker):""" Maker to generate VASP band structures with Materials Virtual Lab GW setup. .. warning:: This workflow is only compatible with the Materials Virtual Lab GW setup, and it may require additional benchmarks. Please use with caution. Parameters ---------- name : str Name of the flows produced by this maker. gw_maker : .BaseVaspMaker The maker to use for the GW calculation. """name:str="MVL G0W0 band structure"static_maker:BaseVaspMaker=field(default_factory=MVLStaticMaker)nscf_maker:BaseVaspMaker=field(default_factory=MVLNonSCFMaker)gw_maker:BaseVaspMaker=field(default_factory=MVLGWMaker)
[docs]defmake(self,structure:Structure,prev_dir:str|Path|None=None)->Flow:""" Create a band structure flow. Parameters ---------- structure : Structure A pymatgen structure object. prev_dir : str or Path or None A previous VASP calculation directory to copy output files from. Returns ------- Flow A band structure flow. """static_job=self.static_maker.make(structure,prev_dir=prev_dir)nscf_job=self.nscf_maker.make(static_job.output.structure,prev_dir=static_job.output.dir_name)gw_job=self.gw_maker.make(nscf_job.output.structure,prev_dir=nscf_job.output.dir_name)jobs=[static_job,nscf_job,gw_job]outputs={"static":static_job.output,"nscf":nscf_job.output,"gw":gw_job.output,}returnFlow(jobs,outputs,name=self.name)