Beispiel #1
0
def gen_iupac_ordering():
    periodic_table = loadfn("periodic_table.json")
    order = [
        ([18], range(6, 0, -1)),  # noble gasses
        ([1], range(7, 1, -1)),  # alkali metals
        ([2], range(7, 1, -1)),  # alkali earth metals
        (range(17, 2, -1), [9]),  # actinides
        (range(17, 2, -1), [8]),  # lanthanides
        ([3], (5, 4)),  # Y, Sc
        ([4], (6, 5, 4)),  # Hf -> Ti
        ([5], (6, 5, 4)),  # Ta -> V
        ([6], (6, 5, 4)),  # W -> Cr
        ([7], (6, 5, 4)),  # Re -> Mn
        ([8], (6, 5, 4)),  # Os -> Fe
        ([9], (6, 5, 4)),  # Ir -> Co
        ([10], (6, 5, 4)),  # Pt -> Ni
        ([11], (6, 5, 4)),  # Au -> Cu
        ([12], (6, 5, 4)),  # Hg -> Zn
        ([13], range(6, 1, -1)),  # Tl -> B
        ([14], range(6, 1, -1)),  # Pb -> C
        ([15], range(6, 1, -1)),  # Bi -> N
        ([1], [1]),  # Hydrogen
        ([16], range(6, 1, -1)),  # Po -> O
        ([17], range(6, 1, -1)),
    ]  # At -> F

    order = sum([list(product(x, y)) for x, y in order], [])
    iupac_ordering_dict = dict(
        zip([Element.from_row_and_group(row, group) for group, row in order],
            range(len(order))))

    # first clean periodic table of any IUPAC ordering
    for el in periodic_table:
        periodic_table[el].pop("IUPAC ordering", None)

    # now add iupac ordering
    for el in periodic_table:
        if "IUPAC ordering" in periodic_table[el]:
            # sanity check that we don't cover the same element twice
            raise KeyError("IUPAC ordering already exists for {}".format(el))

        periodic_table[el]["IUPAC ordering"] = iupac_ordering_dict[get_el_sp(
            el)]
Beispiel #2
0
def gen_iupac_ordering():
    periodic_table = loadfn("periodic_table.json")
    order = [([18], range(6, 0, -1)),  # noble gasses
             ([1], range(7, 1, -1)),  # alkali metals
             ([2], range(7, 1, -1)),  # alkali earth metals
             (range(17, 2, -1), [9]),  # actinides
             (range(17, 2, -1), [8]),  # lanthanides
             ([3], (5, 4)),  # Y, Sc
             ([4], (6, 5, 4)),  # Hf -> Ti
             ([5], (6, 5, 4)),  # Ta -> V
             ([6], (6, 5, 4)),  # W -> Cr
             ([7], (6, 5, 4)),  # Re -> Mn
             ([8], (6, 5, 4)),  # Os -> Fe
             ([9], (6, 5, 4)),  # Ir -> Co
             ([10], (6, 5, 4)),  # Pt -> Ni
             ([11], (6, 5, 4)),  # Au -> Cu
             ([12], (6, 5, 4)),  # Hg -> Zn
             ([13], range(6, 1, -1)),  # Tl -> B
             ([14], range(6, 1, -1)),  # Pb -> C
             ([15], range(6, 1, -1)),  # Bi -> N
             ([1], [1]),  # Hydrogen
             ([16], range(6, 1, -1)),  # Po -> O
             ([17], range(6, 1, -1))]  # At -> F

    order = sum([list(product(x, y)) for x, y in order], [])
    iupac_ordering_dict = dict(zip(
        [Element.from_row_and_group(row, group) for group, row in order],
        range(len(order))))

    # first clean periodic table of any IUPAC ordering
    for el in periodic_table:
        periodic_table[el].pop('IUPAC ordering', None)

    # now add iupac ordering
    for el in periodic_table:
        if 'IUPAC ordering' in periodic_table[el]:
            # sanity check that we don't cover the same element twice
            raise KeyError("IUPAC ordering already exists for {}".format(el))

        periodic_table[el]['IUPAC ordering'] = iupac_ordering_dict[get_el_sp(el)]
Beispiel #3
0
print(fe.thermal_conductivity)  # html
print(fe.boiling_point)  # html
print(fe.melting_point)  # html
print(fe.critical_temperature)  # html
print(fe.superconduction_temperature)  # html
print(fe.liquid_range)  # html
print(fe.bulk_modulus)  # html
print(fe.youngs_modulus)  # html
print(fe.brinell_hardness)  # html
print(fe.rigidity_modulus)  # html
print(fe.mineral_hardness)  # html
print(fe.vickers_hardness)  # html
print(fe.density_of_solid)  # html
print(fe.coefficient_of_linear_thermal_expansion)  # html
print(fe.average_ionic_radius)
print(fe.ionic_radii)
print(fe.is_valid_symbol("Fe"))  # dir
print(fe.from_Z(26))  # dir
print(fe.as_dict())  # dir
print(fe.from_dict(fe.as_dict()))  # dir
print(fe.from_row_and_group(4, 8))  # dir
print(fe.ground_state_term_symbol)  # dir
print(fe.icsd_oxidation_states)  # dir
print(fe.name)  # dir
print(fe.print_periodic_table())  # dir
print(fe.term_symbols)  # dir
print(fe.valence)  # dir
print(fe.value)  # dir
print(fe.boiling_point)
print(float(fe.boiling_point.to("")))