def get_composition_descriptors(comp): if isinstance(comp, str): comp = parse_comp(comp) elif isinstance(comp, qmpy.Composition): comp = comp.comp desc = {} for elt in elts: desc['frac_%s' % elt] = comp.get(elt, 0) return desc
def get_composition_descriptors(comp): if isinstance(comp, basestring): comp = parse_comp(comp) elif isinstance(comp, qmpy.Composition): comp = comp.comp desc = {} for elt in elts: desc['frac_%s' % elt] = comp.get(elt,0) return desc
def get_basic_composition_descriptors(comp): if isinstance(comp, basestring): comp = parse_comp(comp) elif isinstance(comp, qmpy.Composition): comp = comp.comp comp = unit_comp(comp) desc = {} for attr in ['electronegativity', 'period', 'group', 'mass', 'atomic_radii', 'z']: data = [ elts[elt][attr] for elt in comp ] for func in [ max_diff, average ]: desc['%s_%s' % (func.__doc__, attr)] = func(data) desc['s_val'] = sum([ elts[e]['s_elec']*x for e,x in comp.items() ]) desc['p_val'] = sum([ elts[e]['p_elec']*x for e,x in comp.items() ]) desc['d_val'] = sum([ elts[e]['d_elec']*x for e,x in comp.items() ]) desc['f_val'] = sum([ elts[e]['f_elec']*x for e,x in comp.items() ]) return desc
def get_basic_composition_descriptors(comp): if isinstance(comp, str): comp = parse_comp(comp) elif isinstance(comp, qmpy.Composition): comp = comp.comp comp = unit_comp(comp) desc = {} for attr in [ "electronegativity", "period", "group", "mass", "atomic_radii", "z" ]: data = [elts[elt][attr] for elt in comp] for func in [max_diff, average]: desc["%s_%s" % (func.__doc__, attr)] = func(data) desc["s_val"] = sum([elts[e]["s_elec"] * x for e, x in list(comp.items())]) desc["p_val"] = sum([elts[e]["p_elec"] * x for e, x in list(comp.items())]) desc["d_val"] = sum([elts[e]["d_elec"] * x for e, x in list(comp.items())]) desc["f_val"] = sum([elts[e]["f_elec"] * x for e, x in list(comp.items())]) return desc