def exercise_basic(): std_labels = xray_scattering.standard_labels_list() assert len(std_labels) == 217 assert std_labels[:5] == ["H", "D", "T", "Hiso", "He"] assert std_labels[-1] == "Pu6+" for l in std_labels: assert xray_scattering.get_standard_label(label=l, exact=True, optional=False) == l assert xray_scattering.get_standard_label(label="na+") == "Na1+" assert xray_scattering.get_standard_label(label="na+") == "Na1+" assert xray_scattering.get_standard_label(label="o-") == "O1-" assert xray_scattering.get_standard_label(label="SI4+A") == "Si4+" assert xray_scattering.get_standard_label(label="SI1+") == "Si" assert xray_scattering.get_standard_label( label="SI1+", exact=True, optional=True) is None try: xray_scattering.get_standard_label(label="SI1+", exact=True, optional=False) except ValueError as e: assert str(e) == 'Unknown scattering type label: "SI1+"' else: raise Exception_expected # from cctbx.eltbx import tiny_pse for sl in std_labels: e, c = xray_scattering.get_element_and_charge_symbols( scattering_type=sl) assert e == "T" or tiny_pse.table(e, True).symbol() == e if (c != ""): assert len(c) == 2 assert "123456789".find(c[0]) >= 0 assert c[1] in ["+", "-"]
def exercise_basic(): std_labels = xray_scattering.standard_labels_list() assert len(std_labels) == 217 assert std_labels[:5] == ["H", "D", "T", "Hiso", "He"] assert std_labels[-1] == "Pu6+" for l in std_labels: assert xray_scattering.get_standard_label( label=l, exact=True, optional=False) == l assert xray_scattering.get_standard_label(label="na+") == "Na1+" assert xray_scattering.get_standard_label(label="na+") == "Na1+" assert xray_scattering.get_standard_label(label="o-") == "O1-" assert xray_scattering.get_standard_label(label="SI4+A") == "Si4+" assert xray_scattering.get_standard_label(label="SI1+") == "Si" assert xray_scattering.get_standard_label(label="SI1+", exact=True, optional=True) is None try: xray_scattering.get_standard_label(label="SI1+", exact=True, optional=False) except ValueError, e: assert str(e) == 'Unknown scattering type label: "SI1+"'
def exercise_basic(): std_labels = xray_scattering.standard_labels_list() assert len(std_labels) == 217 assert std_labels[:5] == ["H", "D", "T", "Hiso", "He"] assert std_labels[-1] == "Pu6+" for l in std_labels: assert xray_scattering.get_standard_label(label=l, exact=True, optional=False) == l assert xray_scattering.get_standard_label(label="na+") == "Na1+" assert xray_scattering.get_standard_label(label="na+") == "Na1+" assert xray_scattering.get_standard_label(label="o-") == "O1-" assert xray_scattering.get_standard_label(label="SI4+A") == "Si4+" assert xray_scattering.get_standard_label(label="SI1+") == "Si" assert xray_scattering.get_standard_label( label="SI1+", exact=True, optional=True) is None try: xray_scattering.get_standard_label(label="SI1+", exact=True, optional=False) except ValueError, e: assert str(e) == 'Unknown scattering type label: "SI1+"'
def __get_cache(): global __cache if (__cache is None): from cctbx.eltbx.xray_scattering import get_standard_label from libtbx.containers import OrderedDict __cache = OrderedDict() assert len(ito_vol_c_2011_table_4_3_2_2) == 98 for line in ito_vol_c_2011_table_4_3_2_2: flds = line.split() assert len(flds) == 12 std_lbl = get_standard_label(flds[0], exact=True) assert flds[0] == std_lbl assert std_lbl not in __cache assert flds[1] == str(len(__cache)+1) def vals(i,j): return [float(s) for s in flds[i:j]] array_of_a = vals(2,7) array_of_b = vals(7,12) __cache[std_lbl] = gaussian(array_of_a, array_of_b) return __cache
def ito_vol_c_2011_table_4_3_2_2_entry_as_gaussian(label, exact=False): from cctbx.eltbx import xray_scattering std_lbl = xray_scattering.get_standard_label(label=label, exact=exact) return __get_cache().get(std_lbl)