code: def run_type(self):
          
  
          METAGGA_TYPES = {"TPSS", "RTPSS", "M06L", "MBJL", "SCAN", "MS0", "MS1", "MS2"}
  
          if self.parameters.get("LHFCALC", False):
              rt = "HF"
          elif self.parameters.get("METAGGA", "").strip().upper() in METAGGA_TYPES:
              rt = self.parameters["METAGGA"].strip().upper()
          elif self.parameters.get("LUSE_VDW", False):
              vdw_gga = {"RE": "DF", "OR": "optPBE", "BO": "optB88",
                         "MK": "optB86b", "ML": "DF2"}
              gga = self.parameters.get("GGA").upper()
              rt = "vdW-" + vdw_gga[gga]
          elif self.potcar_symbols[0].split()[0] == 'PAW':
              rt = "LDA"
          else:
              rt = "GGA"
          if self.is_hubbard:
              rt += "+U"
          return rt
docs: Returns the run type. Currently supports LDA, GGA, vdW-DF and HF calcs.
  
          TODO: Fix for other functional types like PW91, other vdW types, etc.