def hubbards(self):
        """
        Hubbard U values used if a vasprun is a GGA+U run. {} otherwise.
        """
        symbols = [s.split()[1] for s in self.potcar_symbols]
        symbols = [re.split(r"_", s)[0] for s in symbols]
        if not self.incar.get("LDAU", False):
            return {}
        us = self.incar.get("LDAUU", self.parameters.get("LDAUU"))
        js = self.incar.get("LDAUJ", self.parameters.get("LDAUJ"))
        if len(js) != len(us):
            js = [0] * len(us)
        if len(us) == len(symbols):
            return {symbols[i]: us[i] - js[i] for i in range(len(symbols))}
        elif sum(us) == 0 and sum(js) == 0:
            return {}
        else:
            raise VaspParserError("Length of U value parameters and atomic "
                                  "symbols are mismatched")
def hubbards ( self ) : symbols = [ s . split ( ) [ 1 ] for s in self . potcar_symbols ] symbols = [ re . split ( r"_" , s ) [ 0 ] for s in symbols ] if not self . incar . get ( "LDAU" , False ) : return { } us = self . incar . get ( "LDAUU" , self . parameters . get ( "LDAUU" ) ) js = self . incar . get ( "LDAUJ" , self . parameters . get ( "LDAUJ" ) ) if len ( js ) != len ( us ) : js = [ 0 ] * len ( us ) if len ( us ) == len ( symbols ) : return { symbols [ i ] : us [ i ] - js [ i ] for i in range ( len ( symbols ) ) } elif sum ( us ) == 0 and sum ( js ) == 0 : return { } else : raise VaspParserError ( "Length of U value parameters and atomic " "symbols are mismatched" )
Hubbard U values used if a vasprun is a GGA+U run. {} otherwise.